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



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

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

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

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

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

尝试

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

然后,你只需要Cypher执行这样的查询:

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

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

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

最新更新