ArangoDB AQL - 我可以在一个查询中遍历多个图吗?
ArangoDB AQL - Can I traverse multiple graphs in one query?
我想将不直接相关的数据存储到 ArangoDB 中的单独命名图中。但是,在某些情况下,我可能希望一次从多个图表中查询数据。
我知道您可以执行如下图遍历,特别是使用 'GRAPH' 关键字,但是是否可以像 'GRAPH graphName1, graphName2' 那样同时查询两者?
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
GRAPH graphName
[OPTIONS options]
我知道我可以"union" 多次遍历上述图的结果,但考虑到只有 graphName 会有所不同,如果我能使其简洁而不是重复冗余代码,那就太好了。
一次遍历不能遍历多个命名图。相反,您可以:
使用所有必要的顶点和边创建一个新的命名图
或(更好)
不使用命名图直接遍历集合。性能是一样的。语法如下:
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
edgeCollection1, ..., edgeCollectionN
[PRUNE pruneCondition]
[OPTIONS options]
我想将不直接相关的数据存储到 ArangoDB 中的单独命名图中。但是,在某些情况下,我可能希望一次从多个图表中查询数据。
我知道您可以执行如下图遍历,特别是使用 'GRAPH' 关键字,但是是否可以像 'GRAPH graphName1, graphName2' 那样同时查询两者?
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
GRAPH graphName
[OPTIONS options]
我知道我可以"union" 多次遍历上述图的结果,但考虑到只有 graphName 会有所不同,如果我能使其简洁而不是重复冗余代码,那就太好了。
一次遍历不能遍历多个命名图。相反,您可以:
使用所有必要的顶点和边创建一个新的命名图
或(更好)
不使用命名图直接遍历集合。性能是一样的。语法如下:
FOR vertex[, edge[, path]]
IN [min[..max]]
OUTBOUND|INBOUND|ANY startVertex
edgeCollection1, ..., edgeCollectionN
[PRUNE pruneCondition]
[OPTIONS options]