2012-10-15 12 views
28

Cypherを使用してグラフ内のすべてのノードを取得するにはどうすればよいですか?私はグラフに対していくつかのテストを実行しており、関係のないノードがいくつかあるので、クエリを作成するのに問題があります。Neo4j:リレーションシップによって接続されていないノードも含めて、グラフ内のすべてのノードを取得します。

私がそれらをすべて取得したい理由は、すべてのテストの開始時にグラフのすべてのノードを削除したいということです。

答えて

61

だから、これはあなたにすべてのノードを与える:

MATCH (n) 
RETURN n; 

あなたがグラフからすべてを削除したい場合は、あなたがこのような何か行うことができます:2.0+

用に更新

MATCH (n) 
OPTIONAL MATCH (n)-[r]-() 
DELETE n, r; 

編集: 2.3の場合はDETACH DELETEなので、次のようにすることができます:

MATCH (n) 
DETACH DELETE n; 
+1

ルートノードが削除されますか?私は彼を守りたい。 –

+1

これで、 'match 'の後に'どこにID(n)<> 0'を追加します。 –

13

これはあなたのために働くでしょうか?

START a=node:index_name('*:*') 

これらの孤立ノードを持つインデックスがあるとします。

+0

おかげでジェイソンは、構文はここに参照されている1 –

+1

前に、その構文を見たことがない:http://docs.neo4j.org/chunked/snapshot/query -start.html#start-node-by-index-query –

4

これはちょうど2.0で正常に動作します:

MATCH n RETURN n 
関連する問題