【发布时间】:2021-01-29 19:04:09
【问题描述】:
问题:
在 Neo4j 中,我有关系 (p:Person)-[:HAS_DOCUMNET]->(id:Identification)-[:HAS_DESCRIPTION]->(d:Document) 并且每人只需要 1 行数据(personId、documentType 和 idNumber)
我需要根据以下优先条件开发查询输出
1)如果 documentType="Passport" 存在,那么应该带有 personId 和受人尊重的 idNumber。(第一优先级)
2)如果 documentType="VoterCard" 存在,那么应该带有 personeId 和受人尊敬的 idNumber。(如果 Passport 不存在)
3)如果 documentType="PanCard" 存在,那么应该带有 personId 和受尊重的 idNumber。(如果 VoterId 不存在)
数据如下:
(P1:Person)-[:HAS_Document]->('id1','id2','id3')->[:HAS_DESCRIPTION]->("Passpot","VoterCard",PanCard)`
(P2:Person)-[:HAS_Document]->('id4','id5')->[:HAS_DESCRIPTION]->("VoterCard","PanCard")`
(P3:Person)-[:HAS_Document]->('id6','id7','id8')->[:HAS_DESCRIPTION]->("PanCard","AadharCard","VoterCard")
(P4:Person)-[:HAS_Document]->('id9')->[:HAS_DESCRIPTION]->("PanCard")
输出应该是这样的:
PName Doc.Type IDNumber
------- ----------- ---------
P1 "Passport" id1
P2 "VoterCard" id4
P3 "VoterCard" id8
P4 "PanCard" id9
【问题讨论】:
标签: database neo4j add database-partitioning