当我在寻找 2 个关系时,我想出了如何编写此查询,但不确定如何向查询中添加更多关系。
假设您有一个以“读者”和“书”为节点的读书俱乐部数据库。'book' 节点有一个 'genre' 属性(定义这本书是小说、非小说、传记、参考等)。在 'reader' 节点和 'book' 节点之间存在关系“HasRead”,其中有人读过一本特定的书。
如果我想找到同时阅读小说和非小说书籍的读者,我可以执行以下 Cypher 查询:
Start b1=node:MyBookIndex('Genre:Fiction'),
b2=node:MyBookIndex('Genre:Non-Fiction')
Match b1-[:HadRead]-r-[:HasRead]-b2
Return r.ReaderName
上述查询的关键是 Match 子句,它将两个书本别名输入到r
“读者”节点的别名中。
问题:我将如何编写查询来查找已阅读小说AND非小说AND参考书的用户?当您要查找的内容超过 2 件时,我不知道您将如何编写 Match 子句。