在 arangoDB 中通过命令行创建图形
Create a graph through command line in arangoDB
我在 arangoDB、airports 中有以下两个 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 图形查看器无法布局和渲染的边太多,可能会导致浏览器崩溃。
我在 arangoDB、airports 中有以下两个 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 图形查看器无法布局和渲染的边太多,可能会导致浏览器崩溃。