neo4j在条件上停止遍历(密码)

时间:2013-05-02 19:25:48

标签: neo4j cypher graph-databases

我刚开始如此原谅我,如果这是一个愚蠢的问题,但我想知道如何在节点属性值上停止遍历树。

例如。如果您有一个包含节点和子节点的树型图。所有节点都具有published的属性,该属性为10。我想遍历树,不包括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

上的webapp cypher shell使用ubuntu 12.04 LTS

1 个答案:

答案 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