1

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

例如。如果您有一个带有节点和子节点的树型图。所有节点都有一个属性,published要么是 1要么0。我想遍历树,不包括任何带有 a 的节点published:0(也不是孩子,即使他们有 a 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

4

1 回答 1

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 。

于 2013-05-04T13:31:05.067 回答