看看http://console.neo4j.org/?id=xau632
如何编写将返回的Cypher查询:
- 只有男性孩子的父母(应该只归还约翰)
- 所有孩子的名字都以"P"开头的父母(应该只返回Betty)
试试这个
MATCH (p:Parent)-[:PARENT_OF]->(c)
WITH p, collect(c) AS children
WHERE ALL (c IN children WHERE c:Son)
RETURN p
你也可以过滤较早的
MATCH (p:Parent)-[:PARENT_OF]->(c)
WITH p, ALL(child IN collect(c) WHERE child:Son) as allSons
WHERE allSons = true
RETURN p
您可以从另一个节点匹配相关节点中的属性,这里有一个示例(以及您要查找的第一个查询的解决方案):
MATCH (p:Parent)-[:PARENT_OF]->(s:Son)
WHERE size((p)-[:PARENT_OF]->(:Daugter))= 0
RETURN DISTINCT (p)
而且,你也可以为第二个做这件事(查看Neo4j在WHERE上的文档)
事实上,你不能只在这里问两个查询,你必须了解如何进行查询,否则你就不会学习密码,这就是为什么我给你举了一个例子和文档来进行第二个查询。