首页 文章

获取节点N是neo4j的一部分的完整图表

提问于
浏览
1

如果我从neo4j中的给定节点开始,我正在尝试使用Cypher来获取存在的整个图形 . 当我说整个图形时,我指的是连接到图形中至少一个其他节点的所有节点和关系 .

我已经看过人们可以获得可能连接到具有已知关系的给定起始节点的所有节点的示例 . 这方面的例子包括thisthis,但如果我不知道这些关系怎么办呢?

最终,我想要从一个给定节点开始并扩展的每个节点和关系,列出由每个关系链接的节点 .

我试过这个:

START n=node(441007) MATHC (n)-[:*]->(d) RETURN d

但语法不正确 . 我不确定你是否可以提交通配符关系 . 另外我不认为这会给我我想要的东西 .

2 回答

  • 0

    试试这个:

    MATCH (n)-[r*]->(d)
    WHERE ID(n) = 441007
    RETURN r, d
    

    这将从n扇出(如果使用较旧版本的Neo,则应恢复为START语法)并返回可到达的每个 d 节点的路径 . 通过不定义关系标签,它是关系类型不可知的 . 如果您不关心路径,可以省略它:

    MATCH (n)-[*]->(d)
    WHERE ID(n) = 441007
    RETURN d
    

    显然,在大图上,这将变得昂贵!

    Edit
    要添加到cheat sheet的链接,请查看名为Patterns的部分 .

  • 1

    Hej WildBill,

    我已经创建了一个用于学习Neo4J的公司图表,所以我在图表上发送了以下模式,得到了这个结果:

    START a=node(9) 
    MATCH (a)<-[rel]-(d) 
    MATCH (d)-[sk]->(skill) 
    RETURN a, d, skill
    

    Result of the query

    节点9是我的公司,它是图表的一部分 .

相关问题