如何在没有开始节点的情况下获取ARANGO DB中的所有图形?
与OrientDB一样,要获取All Graph Only,请使用'Select From v'
到目前为止,我已经在ArangoDB中使用AQL和start节点: 'for v,e,p IN 2 ANY'user / 188802'graph'a'return p'
现在,我想在没有起始节点的ArangoDB中获取所有图形? 给我朋友的方式..! 在此之前谢谢!!
答案 0 :(得分:2)
图表是一组Edge集合。每个Edge集合引用_from和_to文档,这些文档存储在Document集合中。
图遍历查询期望您有一个起始位置,并返回该单个起始位置的结果。
可以识别所有可能的起始位置,然后在这些位置上运行图遍历。
您需要知道组成图表的文档集的名称,您可以将它们插入到这样的AQL查询中:
FOR vertex IN UNION(
(FOR v IN document_collection_1 RETURN v._id),
(FOR v IN document_collection_2 RETURN v._id),
(FOR v IN document_collection_3 RETURN v._id)
)
FOR v, e IN 1..5 OUTBOUND vertex GRAPH 'my_graph_name' OPTIONS { uniqueVertices: true }
RETURN DISTINCT [
{
_from: e._from,
_to: e._to
}
]
请记住,在ArangoDB中,文档集合可以绑定到多个图形,因此您需要确保识别属于图形的所有文档集合。
然后,此查询将提取包含图中定义的所有链接的对象数组。此查询仅关注具有作为图形一部分的边的顶点。如果顶点上没有边缘,它将不会出现在输出中,因为它不是图形的一部分。