我已经将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" });
感谢您的帮助。
首先回答有关示例的问题: 该示例中缺少一行定义 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/以获取更多信息。
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"});