2017-03-05 46 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節點[屬性] IN黑名單)」:「WHERE node.'myprop' 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子句中邁​​克爾的代碼(WHERE ANY(property in keys(node))似乎只是有這麼每個屬性上該節點可以搜索,所以如果你只需要搜索myprop,那麼這不應該需要。

相關問題