0
我遇到了一个简单的密码查询的麻烦。查询是:哪里不是()在cypher neo4j查询
MATCH (u:user { google_id : 'example_user' })--(rm:room)--(a:area),
(c:category { name : 'culture:Yoruba' })--(o:object)
WHERE NOT (a-[:CONTAINS]->o)
RETURN DISTINCT o.id
“WHERE NOT ..”被忽略,我从区域节点获取带有传入:CONTAINS关系的节点。如果我拿出“NOT”函数,那么我正确地只返回具有这个a - > o关系的节点。
我想我还没有()
它似乎在这里工作:http://console.neo4j.org/r/4nukek你能重现该问题存在并共享一个新的链接? – jjaderberg
也要小心这样的断开模式,你会得到任何在两个模式部分单独匹配的叉积。在一个小图上它可能并不重要,但是在更大的图上它将是昂贵的。我可能会更好地使用WITH WITH MATCH(c:category ...)来打破查询,而不是将返回过滤到不同的值。 – jjaderberg
在这里寻找转载问题:[link](http://console.neo4j.org/r/nn691p)最后一个查询不应该返回对象3704,我尝试使用WITH A语法,感谢。 – trad