[英]Neo4j: optional relationship in cypher query?
我想我不太了解密码查询中的可选关系。
示例数据可在此处找到http://console.neo4j.org/?id=qnyvxb
My insitution-[:PERMISSION]->My institution document
Other insitution-[:PERMISSION]->Other institution document
Parent institution document-[:PERMISSION]->Parent institution document
My Institution-[:ATTACHED_TO]->Parent institution<-[:ATTACHED_TO]-[Other institution
Super user-[:MEMBER_OF]->My Institution
我需要获取超级用户可以访问的文档。 我使用过的查询:
START member=node(7)
MATCH (member)-[m:MEMBER_OF]->()-[?:ATTACHED_TO*..5]->()-[p:PERMISSION]->(documents)
RETURN documents.name
但是它仅返回“家长机构文件”。 我弄错了可选的关系概念吗? 我应该使用两个查询吗?
谢谢!
您不需要可选的关系来解决这一问题。 尝试:
CYPHER 1.9 START member=node(7)
MATCH member-[:MEMBER_OF]->inst-[:ATTACHED_TO*0..5]-otherinst-[:PERMISSION]->doc
RETURN doc.name
注意0..5
因为这也包括在查找doc
时从成员中找到的第一个inst
。 我还要提到的是,通过删除>
,我使附件和权限链接成为多向链接,因为给定的ATTACHED_TO
关系不会以任何特定顺序链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.