Neo4j初心者の一人で、シンプルにする必要があると思われるクエリに取り組んでいますが、正しいCypherを見つけ出すのに問題があります。以下のモデルでは、obj1
の代替品であるObjects
(およびそれらのStatuses
)のいずれもがStatus type of 2
またはno Status
のいずれかになるようにしたいと考えています。私の望む結果は、ノードob4
に加えて、ノードob3
とノードStatus
を返すことです。Neo4j Cypher - マッチする関係条件またはnull
はこれまでのところ、私が来ている最も近いです:
match (obj1:Object{nm:'obj1'})-[:REPLACES*]->(repObj)
optional match p=(repObj)-[:HAS_STATUS]->(stat)
where stat.type = 2
return repObj, p
これは私の希望のノードを返すだけでなく、それはStatus
ノードのなしob2
ノードを返します。上記のクエリを維持しても、p
変数のみを返すと、ob3
ノードが得られ、それはStatus
ですが、ob4
ノードは返されません。私はWITH
、NOT
、UNION
句を含むさまざまなクエリの組み合わせを試しましたが、私は非常に単純なものが欠けているように感じます。
完璧、ありがとうございます!私は今私が逃していたものを見て、それは完璧な意味合いがあります。これを正解とするにはどうすればよいですか? – cartmania