首页 > 解决方案 > 使用 Cypher 查找 Person 的所有孩子及其配偶

问题描述

我有一个这样的图表:

显示父子父关系的图形数据

约翰结婚并有一个孩子结婚的地方。此外,约翰还有另一个孩子叫马克,他的母亲不详。

下面的密码只返回一条匹配 John 和 Jane 的记录。

match p=(:Person {name: "John")-[:PARENT_OF]->(:Person)<-[:PARENT_OF]-(c:Person) 
return [s in nodes(p) | s.name]


╒══════════════════════════╕
│"[s in nodes(p) | s.name]"│
╞══════════════════════════╡
│["John","Marry","Jane"]   │
└──────────────────────────┘

给我以下结果的密码应该是什么?

╒══════════════════════════╕
│"[s in nodes(p) | s.name]"│
╞══════════════════════════╡
│["John","Marry","Jane"]   │
╞══════════════════════════╡
│["John","Mark",""]        │
└──────────────────────────┘

标签: neo4jcypher

解决方案


查看 Cypher OPTIONAL MATCH语句。它应该做你正在寻找的东西。


推荐阅读