Neo4J中的Club Two Queries

时间:2017-02-02 06:04:02

标签: neo4j cypher

我已经编写了一个单独的查询来查找根目录以及查找最短路径。我想通过两个查询来查找根节点和最短路径网络之间的网络和连接。我写了一个查询

match (u:Port1)<-[r]-(root)
where not((root)<--())
with  distinct(root.id) as Node
match p = ( (Node)-[]->(n)-[:LinkTo*1..]->(m) )
where id(Node)< id(n) < id(m)
return p, (length(p)) order by length(p) desc limit 10

我的查询是否正确?我收到错误

  

Neo.DatabaseError.Statement.ExecutionFailed:预计会在Node上找到一个节点但是找到2而不是

任何人都可以请更正我的CQL查询吗?

1 个答案:

答案 0 :(得分:1)

Expected to find a node at Node but found 2 instead表示您的标识符Node应该是一个节点但不是,这是因为您将其设置为节点标识root.id。 使用root节点本身 -

match (u:Port1)<-[r]-(root) where not((root)<--()) with distinct(root) as Node match p = ( (Node)-[]->(n)-[:LinkTo*1..]->(m) ) where id(Node)< id(n) < id(m) return p, (length(p)) order by length(p) desc limit 10