1

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

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

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

例如,一个应用程序可以是节点的着色。如果美食家来自不同的国家,假设不同国家的人吃的食物相似,节点的颜色可以指向不同的国家。

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

4

2 回答 2

1

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

于 2013-10-13T03:14:26.090 回答
1

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

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

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

这样您就可以按集群检索节点。

于 2013-10-13T01:13:08.887 回答