需要一个 Cypher 查询,根据不同的属性值返回连接到节点的节点

时间:2021-01-19 13:12:47

标签: neo4j cypher

我有一个基于 17 世纪末和 18 世纪历史资料的数据集。在我的图形数据库中,我捕捉了人、事件和发生这些事件的教堂之间的关系。我还记录了关系的性质。例如:

(p:person {ID: 'TRE_person_1197'})-[:FATHER_AT]-(e:event:baptism {ID:E0001})-[:TOOK_PLACE_IN]- (c:church:ROMAN_CATHOLIC_CHURCH {ID: 'c0001'})
(p:person {ID: 'TRE_person_1197'})-[:FATHER_AT]-(e:event:baptism {ID:E0002})-[:TOOK_PLACE_IN]- (c:church:ROMAN_CATHOLIC_CHURCH {ID: 'c0002'})
(p:person {ID: 'TRE_person_1197'})-[:FATHER_AT]-(e:event:baptism {ID:E0003})-[:TOOK_PLACE_IN]- (c:church:CHURCH_OF_UTRECHT {ID: 'c0003'})

基于这些数据,可以很容易地编写一个查询,通过使用标签“ROMAN_CATHOLIC_CHURCH”和“CHURCH_OF_UTRECHT”,返回与发生在不同教会的事件有关的人。但是,我如何检索与发生在 属于一个教堂的不同教堂(如在教区中),例如罗马天主教会?我通过 ID(例如 c0001)区分教堂/教区,但我不确定如何使用属性值。我需要的是一个查询,它通过事件检索与不同罗马天主教堂有关的人(在本例中,人 TRE_person_1197 与两个不同罗马天主教堂的事件有关,即 c0001 和 c0002)。

0 个答案:

没有答案