neo4j - 使用 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",""] │
└──────────────────────────┘
解决方案
查看 Cypher OPTIONAL MATCH语句。它应该做你正在寻找的东西。
推荐阅读
- android - Firebase 数据库无法更新
- java - 如何使用 @ElementCollection 进行设置
映射? - image - 使用PowerShell查找和复制多张图片
- android - 有没有一种方法可以设置和合并而无需为仅 1 个值创建地图
- terraform - 跨 terraform 工作区共享 Google Cloud Platform 项目
- flutter - Flutter:如何禁用和启用播放/暂停耀斑动画?
- c# - 将两行合二为一?
- python - 分配职位
- javascript - 渲染时如何向对象添加过渡?
- javascript - 使用 redux 工具包时出现错误“在状态中检测到不可序列化的值” - 但不是正常的 redux