2017-04-07 59 views

回答

1

这取决于您是否正在寻找特定的连接(通过公司节点),或者只是寻找任何连接。

假设:人员节点有一个名称,并且该人员节点X和Y具有名称'x'和'y',因此我们可以与他们匹配。我们还要说你有一个索引:人名(姓名),以便我们可以快速查找节点。

如果我们想要的查询是“做的人x和y共享相同的公司”,查询此,在问题返回公司,是:

match (x:Person{name:'x'})<-[:HAS_EMPLOYEE]-(comp:Company)-[:HAS_EMPLOYEE]->(y:Person{name:'y'}) 
return comp 

但是,如果我们不知道如何这些人是连接在一起的,或者即使他们连接上了,那么我们可能会希望在节点之间运行一个shortestPath()匹配,并查看连接它们的东西。

它有助于设置此匹配的上限。现在让我们使用8跳最大值。

match path=shortestPath((x:Person{name:'x'})-[*..8]-(y:Person{name:'y'})) 
return path 
+0

我正在寻找最短路径,我们不知道有公司与他们有关。完美的答案。 –

相关问题