我有几个问题。

如何通过节点的属性查询节点?我只看到按节点ID查询。

以及如何获得该节点的所有朋友和未确认的朋友?目前,我只能通过查询节点的所有关系并通过检查每个关系的属性对其进行迭代来做到这一点。

我的想法如下:节点具有参数-id(userID),关系具有属性-方向-FROM_ME或TO_ME,状态-CONFIRMED,UNCONFIRMED。所有查询都在Java的REST API中执行。

如何以简单的方式(例如在SQL中)(例如,在SELECT好友中,friend_id = 1的情况下)进行操作?

引用一些带有此类问题的解决方案和技术的教程将不胜感激

最佳答案

要回答第一个问题,您可以使用索引通过节点上的属性快速找到节点。 REST文档:http://docs.neo4j.org/chunked/milestone/rest-api-indexes.html

对于第二个问题,Cypher查询语言使执行这些类型的查询变得容易。这是一个通过FRIEND关系连接到给定用户的所有用户的示例,其中该关系的“ status”属性为“ confirmed”:

START user=node(123)
MATCH user-[r:FRIEND]-friend
WHERE r.status="confirmed"
RETURN friend


您还可以在关系的方向上添加约束,并在一条路径中将多个关系链接在一起以查找朋友的朋友等。

以下是Cypher文档:http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html

以下是通过REST API进行Cypher查询的文档:http://docs.neo4j.org/chunked/milestone/rest-api-cypher.html

09-04 04:23
查看更多