Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Graph 迭代neo4j中的节点_Graph_Neo4j_Cypher - Fatal编程技术网

Graph 迭代neo4j中的节点

Graph 迭代neo4j中的节点,graph,neo4j,cypher,Graph,Neo4j,Cypher,我有一个有2137条不同路径的图,它们之间没有连接。每个路径中的节点由一个属性“Isnad”进行编号,其中Isnad=1,2,3…2137。我想返回所有2137条路径的长度 match(n:Narrator) where n.Isnad = "1" return count(n) 现在这对我来说是可行的,但是我想迭代“Isnad”,所以我得到了所有2137条路径的计数,而不是一条。有什么建议吗? 在伪代码中,类似于: for(int i = 1 to 2137) match(n:Nar

我有一个有2137条不同路径的图,它们之间没有连接。每个路径中的节点由一个属性“Isnad”进行编号,其中Isnad=1,2,3…2137。我想返回所有2137条路径的长度

match(n:Narrator)
where n.Isnad = "1"
return count(n)
现在这对我来说是可行的,但是我想迭代“Isnad”,所以我得到了所有2137条路径的计数,而不是一条。有什么建议吗? 在伪代码中,类似于:

for(int i = 1 to 2137)
    match(n:Narrator)
    where n.Isnad = i
    return count(n)
使用和:

请注意,我们正在寻找最长的路径。这在
中表示,其中
条件:路径的第一个节点不应具有前一个节点(
非()-[]->(n)
),而路径的最后一个节点不应具有后一个节点(
非(m)-[]->()
)--请参阅


我加入了
limit 10
行,以便计算和返回结果不会冻结服务器或web用户界面。如果查询似乎正常,请删除
限制10
,然后查看它是否仍然有效。当嵌入到客户端应用程序时,它可以扩展到更多结果,因为web UI的呈现不再是瓶颈。

对不起,我想你误解了我的问题。我的代码只适用于一个“Isnad”。我需要一个查询,可以迭代我的Isnad从1到2,3,4等等,并返回每个Isnad的长度。类似这样:对于(i:1到2137)返回长度(p),其中n.Isnad=i;谢谢,这几乎是正确的,只是它对路径中的每个节点都重复了这一点。例如,如果一条路径中有3个节点,它将返回所有3个节点的长度,而不仅仅是第一个节点的长度。这是我的查询和结果:(我必须编辑一下你的,因为对于我的节点,Isnad不是它们唯一的属性。而且,Isnad属性已经将数字存储为字符串,所以我首先将它们转换为整数):)除了“讲述者”,你有任何节点标签可以用于查询吗?关系类型呢?同时,我发现了查询的问题——这里,我们感兴趣的是最长路径的长度,而不是从特定节点开始的所有路径。工作非常完美!非常感谢您的时间和耐心:)
unwind range(1, 2137) AS i
match p=(n:Narrator)-[*]->(m)
where toInteger(n.Isnad) = i
  and not ()-[]->(n)
  and not (m)-[]->()
return n.Isnad, length(p)
limit 10