在 ArangoDB 中,子图(Subgraph)是一种特殊类型的图形结构,它允许您将多个图集合组合成一个更大的图形结构
首先,您需要创建一个新的图集合来存储子图数据。您可以使用 db.createCollection()
方法创建一个新的图集合。例如,创建一个名为 “mySubgraph” 的图集合:
db.createCollection("mySubgraph")
接下来,您需要创建新的顶点(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 中创建一个子图并对其进行操作。