Neo4j 匹配图的一条特定路径的密码查询
我有一个图表如下。紫色节点(11376和11394)是我的根节点,即我的图形从那里开始 现在我想写一个密码查询,这样我就可以得到节点11376的完整路径,即从开始节点到结束节点(紫色到黄色)。同样,当我说节点11376时,我不应该得到其他节点11394。我该怎么做呢 我尝试了以下查询,但未获得所需的输出:Neo4j 匹配图的一条特定路径的密码查询,neo4j,cypher,Neo4j,Cypher,我有一个图表如下。紫色节点(11376和11394)是我的根节点,即我的图形从那里开始 现在我想写一个密码查询,这样我就可以得到节点11376的完整路径,即从开始节点到结束节点(紫色到黄色)。同样,当我说节点11376时,我不应该得到其他节点11394。我该怎么做呢 我尝试了以下查询,但未获得所需的输出: match (hh{id:'11376'})-[*0..2]-(n) return n; 它还提供其他节点,即11394 以下是neo4j图: 因此,如果我为节点11376编写cyphe
match (hh{id:'11376'})-[*0..2]-(n) return n;
它还提供其他节点,即11394
以下是neo4j图:
因此,如果我为节点11376编写cypher匹配查询,我应该得到下面完整的路径,如下所示
我怎么做
谢谢您知道将至少有3个跃点,因此您可以在查询中指定它:
MATCH p=(hh {id:11376})-[r*3]-(n)) RETURN p
顺便说一句,如果没有黄色节点的标签,您不能限制路径必须以黄色节点结尾,因此在上面的查询中,您可能会有一些额外的路径通过使用黄色节点的标签类型,将查询写为:
match path = (hh{id:'11376'})-[*0..3]-(n:YELLOW_NODE_LABEL_TYPE_HERE)
return path;
这将返回从(节点{id:'11376'})到具有您分配给黄色节点的标签类型的任何节点的所有遍历3跳或更少跳的路径。通过第二个紫色节点的路径将不包括在结果中,因为通过两个紫色节点到达另一个黄色节点需要三个以上的跃点。对于不同层次级别的节点,我有不同的标签名称。我还尝试使用u建议的查询,即,
Match m=(hh{id:11376})-[r*3](prop)返回m,但它也给出了其他根节点。但是,如果我在最后一个节点中指定特定的属性名,如下所示,它只给出该路径,不包括其他值。查询是
match p=(hh{id:11376})-->(prop{pname:11392})返回p;`。但是我想要根节点11376的所有节点和关系。@开尔文,非常感谢。你的建议真的帮了我很大的忙,并且能够看到想要的结果。