2017-01-03 88 views
0

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

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

Edge Manual

arangosh> myGraph.v1 = db.vertex.insert({名: “顶点1”});

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

arangosh> myGraph.e1 = db.relation.insert(myGraph.v1,myGraph.v2, ........> {label:“knows”});

在这个例子中,如何定义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”});

感谢您的帮助。

回答

0

到第一回答有关的例子中的问题: 有一个线在限定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.1/Manual/Graphs/index.html的手册章节以获取更多信息。

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"}); 
+0

与答案添加一些解释如何回答帮助OP在固定电流问题 –