使用Cypher查找类似节点的集群

时间:2013-10-13 00:11:05

标签: neo4j cypher

给定一组具有相似关系的数十万个节点,(Foodie)-likes-> (食物),我想找出Foodie节点的逻辑集群。

例如,假设我想将群集分成两组。作为输出,我想要两套最常见的饮食习惯。

同样的逻辑可以扩展到3,4,5套等。如果是三套,每套都有最喜欢的饮食习惯。请注意,集合可能没有相同数量的节点。

例如,应用程序可以是节点着色。如果美食家属于不同的国家,节点的颜色可以指向不同的国家,假设不同国家的人们吃类似的食物。

我想写一个Cypher查询来提取节点。我很困难,从哪里开始。任何解决方案或指针将不胜感激。

2 个答案:

答案 0 :(得分:1)

如何尝试Neo4J 2.0(http://www.neo4j.org/download,里程碑部分)的当前里程碑,并根据节点的特点(http://www.neo4j.org/develop/labels)为节点分配不同的标签?

然后,您只需要Cypher执行以下查询:

MATCH (nodes:MY_LABEL)
WHERE /.../
RETURN nodes

以便您可以按群集检索节点。

答案 1 :(得分:1)

您可能需要查看Cliques。这是一个普遍的图论理论,但听起来你想要的是定义美食家的某些“派系”,比如烧烤美食家,食品卡车美食家等。