Neo4j:推断不同类型的相关节点

时间:2018-02-13 18:02:14

标签: database algorithm graph neo4j cypher

我想用Neo4j找到相关的专业和技能。

目前,我正在使用此查询:

MATCH (p:Profession {id: 123})<-[:HAS_PROFESSION]-(:User)-[:HAS_PROFESSION]->(p2)
RETURN p2.id AS professionId, p2.name AS professionName, count(p2) AS count
ORDER BY count DESC LIMIT 10

它为我提供了由用户按用户数排序的相关职业。例如如果用户有'平面设计师'和'摄影师'作为专业,而另一个用户有'摄影师'和'创意总监'。它能够推断出“摄影师”职业与“创意总监”职业有关。

我想知道是否有更好的方法可以做到这一点,更重要的是如何找到一组相关技能。例如[创意总监,艺术总监,摄影师,平面设计师],[软件工程师,软件开发人员,网站开发人员,网页设计师]。

我查看了Neo4j Graph Algorithms User Guide,但我不确定最佳算法是什么,以及如何将其应用于此关系:(:Profession)<-[:HAS_PROFESSION]-(:User)-[:HAS_PROFESSION]->(:Profession)而非简单关系,例如(:User)-[:FOLLOWS]->(:User) < / p>

我们非常感谢任何建议。

架构: Current neo4j schema

0 个答案:

没有答案