gpt4 book ai didi

graph - 从边集合创建 arango 图

转载 作者:行者123 更新时间:2023-12-02 04:07:26 24 4
gpt4 key购买 nike

我正在 arangosh(ArangoDB Shell)中工作,试图整合一些图形分析(如果我能做到这一点,我稍后会转移到 Foxx)。

我有两个收藏。我们将其称为 People 的顶点集合,以及一个称为 Relationships 的边集合。

遵循 manual我可以根据 People 创建一个图表:

var graph_module = require("@arangodb/general-graph");
var graph = graph_module._create("population");

graph._addVertexCollection("People");

但我知道 People 不包含连接该图中的顶点所需的信息。如果有的话,我宁愿简单地从边缘集合 Relationships 创建图形,因为根据定义,边缘集合中的所有文档都具有 _to_from 字段,可以从中完全指定图形。

我找到了next pages of the manual绝对令人困惑(我向作者道歉),并且希望获得有关如何直接从边缘集合创建图形或将边缘集合中的信息合并到现有图形中的指导。

最佳答案

所以看起来您想创建一个没有定义顶点集合但仅包含边集合的图。据我所知,您必须有某种顶点集合,边可以从中发出或到达。但您不需要显式地将这个顶点集合包含到您的图中。根据2.8 docs 诚然,这并没有完全详细说明所有内容,您可以创建一个仅包含边集合的图表:

arangosh> var graph_module = require("org/arangodb/general-graph");
arangosh> var edgeDefinitions = [ { collection: "edges", "from": [ "vertices" ], "to" : [ "vertices" ] } ];
arangosh> graph = graph_module._create("myGraph", edgeDefinitions);
[ Graph myGraph EdgeDefinitions: [
"edges: [vertices] -> [vertices]"
] VertexCollections: [ ] ]

请注意,集合“顶点”必须存在。您不一定需要“edges”集合中引用的节点存在。但是,如果您想做任何类似遍历的操作,节点必须存在于“vertices”集合中,否则您将得到“null”作为这些遍历的响应。

(很确定这个答案也适用于 3.0,但我主要使用 2.8,尚未升级。)

关于graph - 从边集合创建 arango 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38776972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com