2017-03-05 73 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,那么这不应该需要。

相关问题