我不能在ArangoDB中获得一件事:
边缘集合与图形之间的区别是什么?在哪种情况下我应该选择哪种?
答案 0 :(得分:6)
ArangoDB中的图形构建在文档和边缘之上。
边缘集合在_from
和_to
上具有自动索引,允许有效检索任何连接的文档。由于数据仍存储在常规(文档和边缘)集合中,因此您也可以在非图形查询中使用这些集合。
图形在数据之上添加一些功能(即查询方法,遍历)。您可以在ArangoDB中拥有多个。想想一个"图表"是一种对部分或全部数据进行分组的方法,并使它们可以在查询中访问。
答案 1 :(得分:2)
这是一个优势:
{
"_id": "edges/328701573688",
"_from": "nodes/150194180348",
"_to": "nodes/328668871224",
"_rev": "3680146597",
"_key": "328701573688",
"type": "includes"
}
这是一份文件:
{
"_id": "nodes/328668871224",
"_rev": "3610088613",
"_key": "328668871224",
"name": "Gold-edged Gem",
"type": "species"
}
正如您所看到的,没有根本区别。它们都是文件。边缘集合仅在您使用Arango的图形数据库功能时才有用。
据我所知,将集合的类型设置为" edge"告诉Arango它应该确保存储在那里的所有文档都具有_to和_from属性,这样文档就可以作为两个其他文档之间的连接器。
一旦你有一个文档集合,其文档通过边集合中的一堆边文档连接...现在你有了一个图表。