2016-07-13 9 views
0

Neo4j DBに格納されているノードとリレーションシップを取得します。すべてのノードとリレーションシップのIDを取得する

これは、2つのクエリ使用して簡単に行うことができ、次のようになり、単一のクエリを使用して、これを行うために

match (x) return id(x) 
match()-[r]-() return distinct(id(r)) 

方法を:しかし

match (x) optional match (x)-[r]-() return id(x), id(r) 

が、これは、このようなのIDのペアを返します。 xとr、例えば:(123, 11), (100, null)など。

このような種類の順序付きペアを取得せずにすべてのIDを取得する方法はありますか?

答えて

3

あなただけの2つのコレクションとWITHを使用することができます。

MATCH (n) WITH collect(id(n)) as nodeIds 
MATCH()-[r]-() RETURN collect(distinct id(r)) as relIds, nodeIds 
関連する問題