0

作为我上一个问题的后续,我想知道在执行索引查询时如何使用逻辑运算符 AND、OR 和 NOT。

使用相同的读书俱乐部数据库场景,Cypher 查询会是什么样子:

  1. 查找所有阅读过(小说非小说)参考书的读者?
  2. 查找所有阅读过(小说或非小说)而不是参考书的读者?

我很确定这两个示例应该提供足够的材料来涵盖任何其他情况。

编辑:我创建了一个Neo4j 控制台场景来演示这一点。

4

1 回答 1

0

对于您的第一个用例,您可以尝试一下。第二个可以在类似的线路上完成 -

start b1=node:MyBookIndex('Genre:Fiction'), 
      b2=node:MyBookIndex('Genre:Non-Fiction'),
      b3=node:MyBookIndex('Genre:Reference')
match b1-[a?:HasRead]-r,
      b2-[b?:HasRead]-r,
      b3-[c?:HasRead]-r
where (a <> null and b <> null) or (c <> null)
return r.ReaderName

(注:未测试)

于 2013-05-08T05:40:46.973 回答