我想用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>
我们非常感谢任何建议。