在 ArangoDB 中,子图(Subgraph)是一种特殊类型的图形结构,它允许您将多个图集合组合成一个更大的图形结构
- 创建一个新的图集合:
首先,您需要创建一个新的图集合来存储子图数据。您可以使用 db.createCollection()
方法创建一个新的图集合。例如,创建一个名为 “mySubgraph” 的图集合:
db.createCollection("mySubgraph")
- 创建新的顶点(Vertex)和边(Edge):
接下来,您需要创建新的顶点(Vertex)和边(Edge)来表示子图中的节点和关系。您可以使用 db.collection.save()
方法创建新的顶点或边。例如,创建一个名为 “Person” 的顶点:
db.mySubgraph.save({ _key: "person1", name: "Alice", age: 30 })
创建一个名为 “worksFor” 的边,将 “Person” 顶点与另一个顶点(例如 “Organization”)关联起来:
db.mySubgraph.save({ _from: "mySubgraph/person1", _to: "mySubgraph/organization1", role: "Developer" })
- 查询子图数据:
您可以使用 AQL(ArangoDB 查询语言)查询子图数据。例如,查询 “mySubgraph” 中所有与 “person1” 顶点关联的边:
FOR edge IN mySubgraph._edges FILTER edge._from == "mySubgraph/person1" RETURN edge
- 更新和删除子图数据:
您可以使用 AQL 更新和删除子图数据。例如,更新 “mySubgraph” 中名为 “person1” 的顶点的年龄:
FOR vertex IN mySubgraph._vertices FILTER vertex._key == "person1" UPDATE vertex WITH { age: 31 } IN mySubgraph
删除 “mySubgraph” 中名为 “person1” 的顶点及其关联的边:
FOR vertex IN mySubgraph._vertices FILTER vertex._key == "person1" DELETE vertex IN mySubgraph
通过以上步骤,您可以在 ArangoDB 中创建一个子图并对其进行操作。