作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题是对here问题的关注
我有一个具有循环链表的图。 (see here for an example)链接列表中的每个节点都指向一个用户。查询列表时,我必须使用路径语句,因为列表是循环的,并且我不想从u:USER节点开始检索节点。为了获得感兴趣的节点,我的查询如下所示:
MATCH path=(nl:NODELINK { linkId:'cc' })-[:LINK*]->(u:USER)
RETURN nodes(path)
MATCH path=(nl:NODELINK { linkId:'cc' })-[:LINK*]->(u:USER)
WITH nodes(path) AS nodeLinks
MATCH nodeLinks-[:PERSONLINK]->persons
RETURN persons
Error: Type mismatch: nodeLinks already defined with conflicting type Collection<Node> (expected Node) (line 3, column 7)
"MATCH nodeLinks-[:PERSONLINK]->persons"
最佳答案
尝试这种...有点hacky,但是直到进行放松操作为止,它将起作用。
MATCH path=(nl:NODELINK { linkId:'cc' })-[:LINK*]->(u:USER)
WITH [x in nodes(path) | id(x)] AS nodeLinkIds
MATCH (n1:NODELINK)
WHERE id(n1) in nodeLinkIds // this does efficient id lookups for the nodes in the list
MATCH n1-[:PERSONLINK]->persons
RETURN persons
关于Neo4j Cypher : How do you unpack nodes from a path to allow for further matching?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22184924/
我是一名优秀的程序员,十分优秀!