Neo4j 匹配所有路径的密码查询

Neo4j 匹配所有路径的密码查询,neo4j,cypher,Neo4j,Cypher,我有一个带有“项目”、“员工”和“技术”等节点的图。项目和技术之间、员工和技术之间都有关系 我想找到了解项目使用的所有技术的员工。我的cyper查询如下所示: start project=node:project(name = "Project1") match technology <-[:USED]- project , employee -[:KNOWS]-> technology return employee start project=node:project(na

我有一个带有“项目”、“员工”和“技术”等节点的图。项目和技术之间、员工和技术之间都有关系

我想找到了解项目使用的所有技术的员工。我的cyper查询如下所示:

start project=node:project(name = "Project1") 
match technology <-[:USED]- project , employee -[:KNOWS]-> technology 
return employee
start project=node:project(name=“Project1”)
匹配技术
返回员工

运行此查询时,我会得到所有了解项目使用的一种技术的员工,并希望他们了解项目使用的所有技术。这在cypher中可能吗?

您可以尝试以下方法:

start project=node:project(name = "Project1") 
match employee -[:KNOWS]-> technology <-[:USED]- project 
with count(technology) as knownTech, employee, project
where length(()<-[:USED]-project)=knownTech
return employee
start project=node:project(name=“Project1”)

匹配员工-[:KNOWS]->technology您可以尝试以下方法:

start project=node:project(name = "Project1") 
match employee -[:KNOWS]-> technology <-[:USED]- project 
with count(technology) as knownTech, employee, project
where length(()<-[:USED]-project)=knownTech
return employee
start project=node:project(name=“Project1”)

match employee-[:KNOWS]->technology我可能会使用此选项来避免计算每个员工在项目中使用的技术数量:

start project=node:project(name = "Project1") 
match technology <-[:USED]- project 
with count(technology) as projectTech, project
match employee -[:KNOWS]-> technology <-[:USED]- project 
with count(technology) as knownTech, projectTech, employee
where projectTech=knownTech
return employee
start project=node:project(name=“Project1”)

match technology technology我可能会使用此选项来避免计算每个员工在项目中使用的技术数量:

start project=node:project(name = "Project1") 
match technology <-[:USED]- project 
with count(technology) as projectTech, project
match employee -[:KNOWS]-> technology <-[:USED]- project 
with count(technology) as knownTech, projectTech, employee
where projectTech=knownTech
return employee
start project=node:project(name=“Project1”)

match技术很棒,谢谢!但是where子句中的project后面有一个额外的括号。除此之外,太棒了!顺便说一句,为了在何处使用,我不得不升级neoclipse。我有一个2012年的版本。太好了,谢谢!但是where子句中的project后面有一个额外的括号。除此之外,太棒了!顺便说一句,我必须升级neoclipse才能在何处使用,我有一个2012年的版本。这很有意义,我没有想到。之后,我重新编写了一些查询,但现在我发现这一个更有效,谢谢,这是有意义的,我没有想到。之后我重新编写了一些查询,但现在我发现这一个更有效,谢谢