我用图中的节点和关系创建了知识。每个人都有一定数量的工作和技能,每个工作和技能都可以有任意数量的人与他们相联系。我希望能够找到一份特定的工作(例如安全架构师),并返回一个列表,其中列出了所有曾经担任过employed_as的人,以及每个人都是skilled_in的所有技能。我已经创建了一个查询hich检索这些结果,但是在查询中为每个技能创建了一个新行,每次都会复制person的详细信息。这是我检索这些结果的查询。
MATCH (j:Job {job_title: "Security Architect"})<-[p_rel:employed_as]-(p:Person)-[skilled_in]->(s:Skill) return p,s,p_rel
是否可以创建一个查询,将连接到某个人的所有技能节点作为一个列表返回该人的详细信息?
发布于 2022-07-11 16:50:21
因为你需要所有的技能在单行,你可以收集每个人的所有技能。
MATCH (j:Job {job_title: "Security Architect"})<-[p_rel:employed_as]-(p:Person)
-[skilled_in]->(s:Skill)
RETURN p,p_rel, collect(s) as skills_per_person
https://stackoverflow.com/questions/72945914
复制