通过arangoDB中的命令行创建图形

时间:2018-03-21 13:58:01

标签: graph command-line arangodb

我在 arangoDB 机场中有以下两个集合,它们是顶点航班边缘

我想通过命令行在其中创建图表。 我已经找到了以下代码,应该这样做,但是当我在界面中点击图表(成功创建)时,它会显示不同的图表视图。有时具有许多/不同数量的节点和边缘,有时具有一个节点。

我不知道它为什么会这样,或者下面的代码实际上是好的?

ArangoDB 的任何专家?

var graph_module = require("@arangodb/general-graph");
var graph = graph_module._create("flightFliesToAirport");
graph;
[ Graph flightFliesToAirport EdgeDefinitions: [ ] VertexCollections: [ ] ]

graph._addVertexCollection("airports");
graph;
[ Graph flightFliesToAirport EdgeDefinitions: ["flights"] VertexCollections: [ 
  "airports", 
] ]

var rel = graph_module._relation("flights" , ["airports"], ["airports"]);
graph._extendEdgeDefinitions(rel);
graph;
[ Graph flightFliesToAirport EdgeDefinitions: [ 
"flights: [airports] -> [airports]"
] VertexCollections: [ ] ]

1 个答案:

答案 0 :(得分:1)

中间结果实际上看起来像我猜的那样(还没有边缘定义)?

graph._addVertexCollection("airports");
graph;
[ Graph flightFliesToAirport EdgeDefinitions: [ ] VertexCollections: [ 
  "airports", 
] ]

代码看起来没问题,基本上回答了如何通过命令行创建图表的问题。

关于网络界面,请注意每次打开命名图时,都会选择随机起始节点(单个机场)。将显示此节点及其直接邻居。如果没有边缘,则只显示这一个节点。

您可以单击右侧的汉堡图标打开图表查看器属性,并通过将文档ID放入第一个字段来指定您选择的开始节点(保留字段或按Enter键确认)。

在您的情况下,您可以在编辑器中运行以下查询:

FOR edge IN flights LIMIT 100 RETURN edge

查询结果应默认为Graph而不是JSON,并且显示的不仅仅是起始节点及其直接邻域。您可以增加限制,但请注意,处理数千个节点可能需要很长时间,如果为图形查看器返回太多边缘以进行布局和渲染,可能会导致浏览器崩溃。