在 ArangoDB 中,子圖(Subgraph)是一種特殊類型的圖形結(jié)構(gòu),它允許您將多個(gè)圖形集合組合在一起,以便更有效地查詢和操作數(shù)據(jù)。要配置子圖,您需要遵循以下步驟:
創(chuàng)建圖形集合:首先,您需要?jiǎng)?chuàng)建一個(gè)或多個(gè)圖形集合來存儲(chǔ)您的數(shù)據(jù)。您可以使用 CREATE COLLECTION
語句創(chuàng)建一個(gè)新的圖形集合。例如:
CREATE COLLECTION myGraphCollection;
創(chuàng)建子圖:接下來,您需要?jiǎng)?chuàng)建一個(gè)子圖實(shí)例,指定要包含在子圖中的圖形集合以及連接條件。您可以使用 CREATE SUBGRAPH
語句創(chuàng)建一個(gè)新的子圖。例如:
CREATE SUBGRAPH mySubgraph
STARTNODE <startNodeCollection>
ENDNODE <endNodeCollection>
EDGE <edgeCollection>
CONNECTS <startNodeCollection>/<startNodeId> TO <endNodeCollection>/<endNodeId>;
其中,<startNodeCollection>
和 <endNodeCollection>
是要包含在子圖中的圖形集合的名稱,<startNodeId>
和 <endNodeId>
是起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的 ID,<edgeCollection>
是連接起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)的邊的集合名稱。
添加邊:在創(chuàng)建了子圖之后,您需要向子圖中添加邊。您可以使用 ADD EDGE
語句向子圖中添加一條邊。例如:
ADD EDGE myEdge
IN MYSUBGRAPH mySubgraph
STARTNODE <startNodeCollection>/<startNodeId>
ENDNODE <endNodeCollection>/<endNodeId>
<edgeProperties>;
其中,<edgeProperties>
是邊的屬性,可以是鍵值對(duì)的形式。
查詢子圖:最后,您可以使用 GO
語句查詢子圖中的節(jié)點(diǎn)和邊。例如:
GO FROM <startNodeCollection>/<startNodeId> IN MYSUBGRAPH mySubgraph YIELD <nodeCollection>._key, <nodeCollection>.<propertyName>;
其中,<startNodeCollection>/<startNodeId>
是子圖中起始節(jié)點(diǎn)的 ID,<nodeCollection>
是要查詢的節(jié)點(diǎn)集合的名稱,<propertyName>
是節(jié)點(diǎn)的屬性名稱。
通過以上步驟,您可以成功配置 ArangoDB 中的子圖。請(qǐng)注意,這些示例中的 <collection>
和 <id>
需要替換為您自己的圖形集合和節(jié)點(diǎn) ID。