2017-03-03 1 views
-1

開始ノードなしでARANGO DB内のすべてのグラフを取得する方法は?開始ノードなしでARANGO DB内のすべてのグラフを取得する方法

OrientDBと同様に、すべてのグラフのみこれまでのところ、私は開始ノードとArangoDBでAQLを使用してい image

「Vから選択」を使用します: V」のために、電子を、P 2のいずれかの'user/188802' graph 'a return 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

ありがとうございます。非常に役に立ちます。 –

関連する問題