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

Create a graph through command line in arangoDB

我在 arangoDBairports 中有以下两个 collections,它们是 顶点航班

我想通过命令行从中创建一个。 我发现下面的代码应该可以做到这一点,但是当我在界面中单击图表(已成功创建)时,它显示了不同的 图表视图 。有时有 many/different 个节点和边,有时只有一个节点。

我不知道为什么会这样,或者下面的代码是否真的好?

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: [ ] ]

我猜中间结果实际上是这样的(还没有边定义)?

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

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

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

您可以单击 right-hand 一侧的汉堡图标以打开图形查看器属性,并通过将文档 ID 放入第一个字段(离开该字段或按回车键)来指定您选择的起始节点确认)。

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

FOR edge IN flights LIMIT 100 RETURN edge

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