【问题标题】:Cypher: get all the relationships of node with a specific relationshipCypher:获取特定关系节点的所有关系
【发布时间】:2023-01-22 11:58:13
【问题描述】:

我试图找到具有一种特定关系的节点的所有关系。人们可以与事件联系起来,而事件又与教堂联系在一起。我对以下方式作为事件(婚姻)的见证人感兴趣:

(p:person)-[:ACTED_AS_BEKENDE]-(e:event)

我正在努力解决的问题是,当我编写一个带有 WHERE 子句的简单 MATCH 语句(见下文)时,我只能获得人们通过这种特定关系连接到的事件。

MATCH (p:person)--(e:event)--(c:church)
WHERE (p:person)-[:ACTED_AS_BEKENDE]-(e:event)
RETURN distinct p.ID AS ID, p.Name AS NAME, labels(e) AS Event_name, e.Event_year AS year, labels(c) AS Church ORDER BY e.Event_year ASC

重申一下:我需要一个查询,它首先通过 [:ACTED_AS_BEKENDE] 边缘选择与事件相关的人,然后检索与这些人相关的所有事件。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    你需要这样的东西吗?

    MATCH (p:person)-[:ACTED_AS_BEKENDE]-(:event)
    WITH p
    MATCH (p)--(e:event)--(c:church)
    RETURN distinct p.ID AS ID, p.Name AS NAME, labels(e) AS Event_name, e.Event_year AS year, labels(c) AS Church ORDER BY e.Event_year ASC
    

    这将首先找到所有 ACTED_AS_BEKENDE 的人,然后为他们找到您想要的活动和教堂

    【讨论】:

    • 史诗,行之有效,我自己应该想到这一点。非常感谢!
    猜你喜欢
    • 2014-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多