在Neo4j中,Cypher是一个用于查询图形数据库的语言。为了设置精确条件,您可以使用WHERE
子句来指定您的搜索条件。以下是一些示例:
MATCH (n:Person {age: 30, city: "New York"})
RETURN n;
在这个例子中,我们正在查找具有特定属性(年龄为30岁,城市为纽约)的Person
节点。
AND
、OR
和NOT
操作符:MATCH (n:Person)
WHERE n.age > 25 AND n.city <> "Los Angeles"
RETURN n;
在这个例子中,我们正在查找年龄大于25岁且城市不是洛杉矶的Person
节点。
IN
操作符匹配多个值:MATCH (n:Person)
WHERE n.city IN ["New York", "London", "Paris"]
RETURN n;
在这个例子中,我们正在查找居住在纽约、伦敦或巴黎的Person
节点。
START
子句开始搜索:START (p:Person {city: "New York"})
MATCH (p)-[:KNOWS]-(other)
RETURN other;
在这个例子中,我们首先查找居住在纽约的Person
节点(p
),然后查找与p
有关联的other
节点。
WITH
子句过滤结果:MATCH (n:Person)-[:KNOWS]-(other)
WITH n, other
WHERE n.age > 25
RETURN n, other;
在这个例子中,我们首先查找所有Person
节点及其关联的other
节点,然后使用WITH
子句过滤出年龄大于25岁的节点。
这些示例展示了如何在Cypher查询中设置精确条件。您可以根据您的需求调整这些示例以满足您的查询要求。