如何获取neo4j中两个连接节点的水平(深度)数

问题描述 投票:1回答:1

我正在使用neo4j作为图形数据库在其中存储用户的连接详细信息。在这里,我想显示一个用户相对于另一个用户(如Linkedin)的等级。例如-第一层连接,第二层连接,第三层以及第三层以上显示3+。但是我不知道使用neo4j会怎样。我搜索了此内容,但找不到任何解决方案。如果有人知道这一点,请帮助我实现此功能。

spring-boot neo4j graph-databases
1个回答
0
投票

会是这样的

MATCH (p:Person) 

WITH COLLECT(p) AS personList
UNWIND personList AS personA
UNWIND personList AS personB

WITH personA,personB
WHERE id(personA) < id(personB)

MATCH path=shortestPath( (personA)-[:LINKED_TO*]-(personB) )
RETURN personA.name AS nameA,
       personB.name AS nameB,
       CASE WHEN length(path) > 3 THEN '3+'
            ELSE toString(length(path))
       END AS distance
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.