我在ArangoDB中创建了一个Graph,我希望将它与15个集合一起使用,但GUI告诉我:
您只能选择10个项目
为每个n元组(fromCollections, toCollections, EdgeDefinitions
)。
我可以做些什么来超越极限?
谢谢。
丹尼尔答案 0 :(得分:2)
AQL目前在一个查询中可以使用32个集合的限制。您可以在arangosh中创建这样的图形:
var Graph = require("org/arangodb/general-graph");
包含15个边集的图:
var g = Graph._create("test1",
[
Graph._relation("edge_1", "test", "test"),
...
Graph._relation("edge_15", "test", "test")
]
);
另一个有34个边缘集合(这35个集合与一个顶点集合相结合):
var g = Graph._create("test2",
[
Graph._relation("edge_1", "test", "test"),
...
Graph._relation("edge_34", "test", "test")
]
);
我们为遍历保存了一个虚拟起始节点:
db.test.save({_key: 'a'})
如果您现在查询test1,您将得到预期的空结果(我们没有任何边缘):
db._query("FOR v IN 1..1 ANY 'test/a' GRAPH 'test1' RETURN v")
但是如果你查询test2,你会得到:
ArangoError: too many collections (while parsing)
您可以使用edgeCollectionRestriction option of the GRAPH_*
functions处理test2图表,以选择已配置的34个集合的子集。
虽然webui对于简单的任务来说可能是一件好事,但我认为它不能用于创建如上所述的任务。