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

获取节点N是neo4j中的一部分的完整图形,neo4j,Neo4j,如果我从neo4j中的一个给定节点开始,我尝试使用Cypher来获取存在的整个图。当我说整个图时,我指的是所有节点和关系,它们至少连接到图中的一个其他节点 我看到过这样的例子,人们可以获得所有可能连接到具有已知关系的给定起始节点的节点。这方面的例子包括和,但如果我不知道它们之间的关系,我怎么能这样做呢 最终,我希望每个节点和关系都从一个给定的节点开始并向外扩展,列出由每个关系链接的节点 我试过这个: START n=node(441007)MATHC(n)-[:*]->(d)返回d 但是语法是不

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

我看到过这样的例子,人们可以获得所有可能连接到具有已知关系的给定起始节点的节点。这方面的例子包括和,但如果我不知道它们之间的关系,我怎么能这样做呢

最终,我希望每个节点和关系都从一个给定的节点开始并向外扩展,列出由每个关系链接的节点

我试过这个:

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

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

嘿,威尔德比尔

我已经创建了一个用于学习Neo4J的公司图,因此我针对图a发送了以下模式以获得此结果:

START a=node(9) 
MATCH (a)<-[rel]-(d) 
MATCH (d)-[sk]->(skill) 
RETURN a, d, skill
START a=节点(9)
比赛(a)(技巧)
返回a、d、技能

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

试试这个:

MATCH (n)-[r*]->(d)
WHERE ID(n) = 441007
RETURN r, d
这将从n散开(如果使用较旧版本的Neo,则应恢复到START语法),并返回可以到达的每个
d
节点的路径。不定义关系标签是关系类型不可知的。如果您不关心路径,可以通过以下方式忽略它:

MATCH (n)-[*]->(d)
WHERE ID(n) = 441007
RETURN d
显然,在一个大的图表上,这将变得昂贵

编辑

要将链接添加到,请查看名为Patterns的部分。

我看到您有两个match语句返回相关节点。这只会返回距离节点9最多2度的节点吗?我从一家有传入关系的公司开始[:WORKS_FOR],我会去找我的所有员工,然后我想展示我的员工拥有的所有技能,因此另一个匹配语句是。但这仍然需要对手头关系的先验知识,对的在不知道可能存在什么关系的情况下,如何才能得到与起始节点相差N度的节点?我可以给出一个图的示例,但我想要一个独立于任何图的答案。也就是说,如何对任何图的N个级别进行广度优先搜索……有没有一种方法可以以不昂贵的方式实现这一点。听起来并不幼稚或愤世嫉俗,但由于neo4j是一个图形数据库,广度优先搜索不应该是一件容易的事情吗?我找到了这个例子(),现在正在浏览它,希望我能找到一种不昂贵的方法……实际上,回顾我的问题,我想我确实想要对图形进行彻底的搜索,但这不应该是图形数据库的自然函数/方法吗?