首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ArangoDB中的Edge定义

在ArangoDB中,边(Edge)是用于连接图中两个顶点的特殊文档。边定义了顶点之间的关系,并且可以包含额外的属性来描述这种关系。以下是关于ArangoDB中边定义的一些关键点:

创建边集合

首先,你需要创建一个边集合来存储边文档。边集合在ArangoDB中是一个普通的集合,但它被标记为边集合,以便ArangoDB知道它将用于图操作。

代码语言:javascript
复制
db._createEdgeCollection("edges", { waitForSync: true });

定义边的结构

边文档通常包含以下字段:

  • _from: 源顶点的ID,格式为"collectionName/vertexKey"
  • _to: 目标顶点的ID,格式为"collectionName/vertexKey"
  • 其他自定义属性:用于描述关系的额外信息。

例如,创建一个表示“朋友”关系的边:

代码语言:javascript
复制
db.edges.save({
  _from: "users/123",
  _to: "users/456",
  since: 2020
});

使用AQL查询边

你可以使用AQL(ArangoDB查询语言)来查询边集合。例如,查找所有从用户123出发的朋友关系:

代码语言:javascript
复制
FOR v, e IN 1..1 OUTBOUND 'users/123' edges
    RETURN { vertex: v, edge: e }

图的定义

在ArangoDB中,图是由顶点集合和边集合组成的。你可以使用ArangoDB的图形管理工具来定义图:

代码语言:javascript
复制
var graph = db._createGraph("socialNetwork", [
  { collection: "users", type: "vertex" },
  { collection: "edges", type: "edge" }
]);

图的操作

一旦定义了图,你可以使用图特定的操作来查询和遍历图。例如,查找从用户123出发的所有朋友:

代码语言:javascript
复制
FOR v IN 1..2 OUTBOUND 'users/123' socialNetwork
    RETURN v

注意事项

  • 边集合中的文档必须包含_from_to字段,否则它们将被视为普通文档。
  • 边集合可以包含索引,以提高查询性能。
  • 边集合可以配置为等待同步(waitForSync: true),以确保数据在磁盘上持久化。

通过这些步骤,你可以在ArangoDB中有效地定义和使用边,从而构建复杂的图形数据模型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券