2017-03-03 17 views
-1

如何获取ARANGO数据库中的所有图形无需启动节点?如何获取ARANGO数据库中的所有图形无需启动节点

像OrientDB,为获得所有图形仅使用 '选择从V' image

到目前为止,我在ArangoDB使用AQL与起始节点:在2 “为V,E,P ANY 'user/188802'图'a'返回p'

现在,我想在没有启动节点的情况下获取ArangoDB中的所有图吗? 给我的方式朋友..! 谢谢之前!

回答

2

图形是一组边缘集合。每个Edge集合都引用存储在Document集合中的_from和_to文档。

图遍历查询期望您有一个起始位置,并返回该单个起始位置的结果。

可以确定所有可能的起始位置,然后在这些位置上运行图形遍历。

你需要知道文档的集合,让你图的名字,你可以将它们插入到一个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有可能为一个文件集合绑定到多个图表上,所以您需要确保识别属于该图形的所有文档集合。

该查询将提取一个包含图中定义的所有链接的对象数组。该查询仅关注具有图的一部分的边的顶点。如果顶点上没有边,则它不会出现在输出中,因为它不是图的一部分。

+0

谢谢,这是非常有帮助的。 –

相关问题