LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?
Posted
技术标签:
【中文标题】LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?【英文标题】:How do sites like LinkedIn efficiently show the relationship distance 1st,2nd and 3rd between users. can we do the same with neo4j cypher.? 【发布时间】:2014-10-08 10:19:44 【问题描述】:朋友船树:
A ---> B----> C ----> D -------> E -----> F
它是在 Nep4j 中创建的示例友谊树,女巫有 6 个节点和一些关系。
我有两个问题
1) 我想找到 A 和 D 之间的连接级别(第 1/2/3 级,如linkedin)。
2) 我想使用 Cypher 显示 A 和 F 之间的最短路径(此处为 a-b-c-d-e-f)
【问题讨论】:
帕凡也请采纳! 【参考方案1】:要获得您可以使用的连接级别:
MATCH friendpath=(a:Personname:'Pavan')-[:KNOWS*..3]->(d:Personname:'Mark')
RETURN LENGTH(friendpath)
以及最短路径(记录在here):
MATCH (a:Personname:'Pavan'),(f:Personname:'John'),
shortpath = shortestPath((a)-[*..15]-(f))
RETURN shortpath
请注意,此路径限制为 15 跳,以尝试永久停止查询。
【讨论】:
非常感谢 JohnMark,这就是我要找的。我需要很多帮助。如有任何疑问,我会与您联系。以上是关于LinkedIn之类的网站如何有效地显示用户之间的关系距离1、2和3。我们可以对 neo4j 密码做同样的事情吗?的主要内容,如果未能解决你的问题,请参考以下文章
基于 Kafka 和 ElasticSearch,LinkedIn是如何构建实时日志分析系统的?