Neo4j Cypher - 匹配关系条件或null

时间:2017-08-11 20:28:39

标签: neo4j cypher

有点像Neo4j的新手,而且我一直在研究看起来应该很简单的查询,但我在找出正确的Cypher时遇到了问题。鉴于以下模型,我想让所有Objects(以及他们的Statuses)成为obj1的替换,其Status type of 2no Status。除了ob3节点之外,我期望的结果是返回Status节点及其ob4节点。

到目前为止,我最接近的是:

match (obj1:Object{nm:'obj1'})-[:REPLACES*]->(repObj)
optional match p=(repObj)-[:HAS_STATUS]->(stat)
where stat.type = 2
return repObj, p

这将返回我想要的节点,但也会返回ob2节点而没有它的Status节点。如果我保留上述查询但仅返回p变量,则会获得ob3节点及其Status,但不会返回ob4节点。我尝试过不同查询的组合,包括WITHNOTUNION条款,但我觉得我错过了一些非常简单的事情。

Model

0 个答案:

没有答案