ArangoDB 中的边缘定义

问题描述 投票:0回答:2

我已经将csv文件导入到arangodb中,它们是虚拟机和服务器。现在,我想创建图表来显示虚拟机和服务器的关系。

我阅读了手册并尝试定义边缘来关联两个集合。但是我不清楚如何定义边缘。 (即我需要将服务器名称与虚拟机的虚拟主机关联起来)

边缘手册

arangosh> myGraph.v1 = db.vertex.insert({ name : "vertex 1" });

arangosh> myGraph.v2 = db.vertex.insert({ name : "vertex 2" });

arangosh> myGraph.e1 = db.relation.insert(myGraph.v1, myGraph.v2, ........> {标签:“知道”});

本例中,如何定义myGraph?

JavaScript exception: ReferenceError: myGraph is not defined
!myGraph.v1 = db.vertex.insert({ name : "vertex 1" });
!^
stacktrace: ReferenceError: myGraph is not defined
    at <shell command>:1:1

还有,集合的属性应该一一定义吗? myGraph.v1 = db.server.insert({ name : "server" }); myGraph.v2 = db.virtualmachine.insert({ name : "virtualhost" });

感谢您的帮助。

graph arangodb
2个回答
1
投票

首先回答有关示例的问题: 该示例中缺少一行定义 myGraph 变量。 它被意外隐藏,并将在下一个文档版本中可见。

缺少的行是:

arangosh> var myGraph = {};

这将创建一个空的 myGraph 对象。该对象仅保存对顶点文档的引用,它与 arangodb 图形模块没有直接关系。

该示例还可以为每行使用自变量:

arangosh> var v1 = db.vertex.insert({name: "vertex 1"});
arangosh> var v2 = db.vertex.insert({name: "vertex 2"});
arangosh> var e = db.relations.insert(v1, v2, {label: "knows"});

这和上面在数据库方面是相同的。

但是现在让我为您指出如何使用图表的更好方向。 我认为您最好查看有关图表的手册章节https://docs.arangodb.com/3.11/graphs/以获取更多信息。


0
投票
arangosh> var myGraph = {};

arangosh> var myGraph.v1 = db.vertex.insert({name: "vertex 1"});
arangosh> var myGraph.v2 = db.vertex.insert({name: "vertex 2"});
arangosh> var myGraph.e = db.relations.insert(
                         myGraph.v1, myGraph.v2, {label: "knows"});
© www.soinside.com 2019 - 2024. All rights reserved.