在 ArangoDB 中,子图(Subgraph)是一种特殊类型的图形结构,它允许您将多个图形集合组合在一起,以便更有效地查询和操作数据。要配置子图,您需要遵循以下步骤:
创建图形集合:首先,您需要创建一个或多个图形集合来存储您的数据。您可以使用 CREATE COLLECTION
语句创建一个新的图形集合。例如:
CREATE COLLECTION myGraphCollection;
创建子图:接下来,您需要创建一个子图实例,指定要包含在子图中的图形集合以及连接条件。您可以使用 CREATE SUBGRAPH
语句创建一个新的子图。例如:
CREATE SUBGRAPH mySubgraph
STARTNODE <startNodeCollection>
ENDNODE <endNodeCollection>
EDGE <edgeCollection>
CONNECTS <startNodeCollection>/<startNodeId> TO <endNodeCollection>/<endNodeId>;
其中,<startNodeCollection>
和 <endNodeCollection>
是要包含在子图中的图形集合的名称,<startNodeId>
和 <endNodeId>
是起始节点和结束节点的 ID,<edgeCollection>
是连接起始节点和结束节点的边的集合名称。
添加边:在创建了子图之后,您需要向子图中添加边。您可以使用 ADD EDGE
语句向子图中添加一条边。例如:
ADD EDGE myEdge
IN MYSUBGRAPH mySubgraph
STARTNODE <startNodeCollection>/<startNodeId>
ENDNODE <endNodeCollection>/<endNodeId>
<edgeProperties>;
其中,<edgeProperties>
是边的属性,可以是键值对的形式。
查询子图:最后,您可以使用 GO
语句查询子图中的节点和边。例如:
GO FROM <startNodeCollection>/<startNodeId> IN MYSUBGRAPH mySubgraph YIELD <nodeCollection>._key, <nodeCollection>.<propertyName>;
其中,<startNodeCollection>/<startNodeId>
是子图中起始节点的 ID,<nodeCollection>
是要查询的节点集合的名称,<propertyName>
是节点的属性名称。
通过以上步骤,您可以成功配置 ArangoDB 中的子图。请注意,这些示例中的 <collection>
和 <id>
需要替换为您自己的图形集合和节点 ID。