2017-03-05 9 views

答えて

0

これは動作するはずです。

// load csv 
LOAD CSV FROM "file://values.txt" AS row 
// create a collection of the first column turned into numeric values 
WITH collect(toInt(row[0])) AS blacklist 
// find the nodes 
MATCH (node:GRAPH_OBJECT) 
// for any of the properties of the node, if it's value is in our blacklist 
WHERE ANY(property in keys(node) WHERE node[property] IN blacklist) 
// delete node and relationships 
DETACH DELETE node; 
+0

ありがとうございました。私は、クエリーはブラックリストの代わりにホワイトリストでなければならず、ホワイトリストにないノード(GRAPH_OBJECTというラベルを持つ)を削除したいと考えています。また、私の場合、それは特定のプロパティ値 'myprop'なので、私はこれを変更しますか: "WHERE ANY(キー(ノード)のプロパティWHEREノード[プロパティ]ブラックリスト内)": "WHERE node.'smyprop' NOT INホワイトリスト "? – lordmj

0

マイケル・飢餓のコードで開始し、あなたのコメントを更新し、私は、これは動作するはずと信じて:

// load csv 
LOAD CSV FROM "file://values.txt" AS row 
// create a collection of the first column turned into numeric values 
WITH collect(toInt(row[0])) AS whitelist 
// find the nodes 
MATCH (node:GRAPH_OBJECT) 
// for any of the properties of the node, if it's value is in our blacklist 
WHERE NOT node.myprop IN whitelist) 
// delete node and relationships 
DETACH DELETE node; 

マイケルのコード(WHERE ANY(property in keys(node))での句がちょうどそうそこに各プロパティのように見えるWHERE最初のノードは検索できるので、mypropを検索する必要がある場合は、これは必要ありません。

関連する問題