1

在 python 代码中,我得到了节点 fe [1,2,3] 的 uid 列表。

我想构建一个查询来查找连续连接的节点并返回父节点。

所以在这种情况下,查询将如下所示:

  match (n0)-->(n1)-->(n2)-->(n3) 
  where n1.uid % 100 = 1 % 100 and n2.uid % 100 = 2 % 100 and n3.uid % 100 = 3 % 100
  return n0 

如您所见,如果我使用更长的列表 fe [5,3,104,202,....],这不是非常可扩展的,查询将增长很多。

有没有可以用来处理不同大小列表的快捷方式。请记住,节点的顺序必须与数据列表匹配。

4

1 回答 1

1

您可能需要考虑从用户输入列表动态构建查询。

q = "MATCH (n0 {uid:list[0]})"
for id in list[1:]:
    q += "-->({uid:%d})" % id
q += " RETURN n0"

注意代码未经测试!

于 2020-11-13T21:05:59.760 回答