Neo4j 密码查询以获取远程节点之间的路径
我是neo4j/cypher的新手,我需要你的帮助来解答一个问题 使用这个cypher语句:Neo4j 密码查询以获取远程节点之间的路径,neo4j,cypher,Neo4j,Cypher,我是neo4j/cypher的新手,我需要你的帮助来解答一个问题 使用这个cypher语句:Match p=(a:Value_节点{katalog名称:“id”})-[r:RELATED_TO_*]->(b:Value_节点{katalog名称:“Gewicht”})返回p我得到下面的图片 但我只想查询一个值的路径,该值也在相关的\u到关系的属性(id\u nr)中给出。因此,我正在寻找从开始节点(a:Value\u node{katalog\u name:“id”})到结束节点(b:Value
Match p=(a:Value_节点{katalog名称:“id”})-[r:RELATED_TO_*]->(b:Value_节点{katalog名称:“Gewicht”})返回p
我得到下面的图片
但我只想查询一个值的路径,该值也在相关的\u到
关系的属性(id\u nr
)中给出。因此,我正在寻找从开始节点(a:Value\u node{katalog\u name:“id”})到结束节点(b:Value\u node{katalog\u name:“Gewicht”}
的一个id的路径。
使用此查询:Match p=(a:Value\u Node{katalog\u name:“id”})-[r:RELATED\u TO\u*]->(b:Value\u Node{katalog\u name:“Gewicht”}),其中(a.Value=r.id\u nr)返回p
我得到错误消息:
Neo.ClientError.Statement.SyntaxError
类型不匹配:应为映射、节点、关系、点、持续时间、日期、时间、LocalTime、LocalDateTime或DateTime,但为列表(第1行第117列(偏移量:116))
“匹配p=(a:Value\u节点{katalog\u名称:“id”})-[r:RELATED\u TO\u*]->(b:Value\u节点{katalog\u名称:“Gewicht”}),其中(a.Value=r.id\u nr)返回p”
`
任何帮助都是有用的!
非常感谢!当您查找任何长度的所有关系(r:RELATED_TO_*)时,r的值是从名为“id”的值节点到名为“Gewicht”的值节点的所有关系的列表。因此,您应该迭代该列表并检查a.value的值是否等于r中的所有项
Match p=(a:Value_Node {katalog_name:"id"})-[r:RELATED_TO_*]->(b:Value_Node {katalog_name:"Gewicht"})
WHERE ALL(rel in r WHERE rel.id_nr = a.value)
return p
太好了!非常感谢!我在哪里可以找到有关这些语句或函数的返回类型的信息?哦,我看到它写在错误消息中。但是还有其他来源吗?是的,您可以通过返回r检查数据类型,或者您可以使用apoc函数。