如何计算与neo4j的共同朋友?

问题描述

| 我想使用neo4j来管理用户之间的关系。 如何获得共同的朋友使用它?     

解决方法

        最简单的方法是在FRIEND_OF关系中对两个用户使用长度为2的最短路径算法。这些是通过恰好一个朋友跃点连接两个用户的路径。
PathFinder<Path> finder = GraphAlgoFactory.shortestPath(
        Traversal.expanderForTypes( FRIEND_OF ),2 );
Iterable<Path> paths = finder.findAllPaths( user1,user2 );
    ,        如果使用cypher,以下查询将返回共同的朋友:
start a = node(1),b = node(4) match (a)--(x)--(b) return x;
上面的示例返回节点1和4的共同朋友 下面是图片示例的查询及其结果的副本:
neo4j-sh (0)$ start a = node(1),b = node(4) match (a)--(x)--(b) return x;
==> +--------------------+
==> | x                  |
==> +--------------------+
==> | Node[3]{Name->\"C\"} |
==> +--------------------+
==> 1 row
==> 9 ms
==> 
neo4j-sh (0)$ start a = node(1),b = node(6) match (a)--(x)--(b) return x;
==> +--------------------+
==> | x                  |
==> +--------------------+
==> | Node[5]{Name->\"E\"} |
==> | Node[2]{Name->\"B\"} |
==> +--------------------+
==> 2 rows
==> 0 ms
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...