我刚开始如此原谅我,如果这是一个愚蠢的问题,但我想知道如何在节点属性值上停止遍历树。
例如。如果您有一个包含节点和子节点的树型图。所有节点都具有published
的属性,该属性为1
或0
。我想遍历树,不包括published:0
的任何节点(即使他们有published:1
也不是孩子们)
到目前为止(n为根节点)n-[:HAS_CHILD_CONTENT*]->m WHERE m.published=1 return m;
显然只会返回所有已发布的节点,而忽略了某些节点有未发布父节点的事实
任何人都可以帮我解决这个问题吗?谢谢你的推荐。
PS:
我通过Neo4j - Graph Database Kernel 2.0.0-M02
ubuntu 12.04 LTS
答案 0 :(得分:2)
您可以检查路径,例如
match p=root-[:PARENT*..]-file
where root.name='a' and all(x in nodes(p) WHERE x.published = true)
return p;
http://docs.neo4j.org/chunked/preview/query-function.html#functions-all
有关示例,请参阅http://bit.ly/12ARbL5。