Cypher子句如何进行连接查询


在Neo4j中,Cypher是一种用于查询图形数据库的语言

    使用WITH子句进行中间连接(Intermediate Joins):
MATCH (a:Person {name: 'Alice'})WITH aMATCH (a)-[:KNOWS]->(b:Person)RETURN a, b

在这个例子中,我们首先匹配名为"Alice"的人(Person),然后使用WITH子句将结果传递给下一个MATCH子句,该子句查找与Alice有认识关系(KNOWS)的其他人。最后,我们返回Alice和与她认识的人。

    使用JOIN关键字进行连接(Explicit Joins):
MATCH (a:Person {name: 'Alice'})JOIN (b:Person) ON a-[:KNOWS]->bRETURN a, b

在这个例子中,我们首先匹配名为"Alice"的人(Person),然后使用JOIN关键字将结果与另一个子查询进行连接,该子查询查找所有的人(Person)。连接条件是Alice与另一个人之间存在认识关系(KNOWS)。最后,我们返回Alice和与她认识的人。

    使用WHERE子句进行过滤连接(Filtered Joins):
MATCH (a:Person {name: 'Alice'})MATCH (a)-[:KNOWS]->(b:Person)WHERE b.age > 30RETURN a, b

在这个例子中,我们首先匹配名为"Alice"的人(Person),然后使用MATCH子句查找与Alice有认识关系(KNOWS)的其他人。接下来,我们使用WHERE子句过滤出年龄大于30岁的人。最后,我们返回Alice和与她认识且年龄大于30岁的人。

这些示例展示了如何在Cypher子句中进行连接查询。您可以根据您的需求选择合适的方法。


上一篇:Cypher子句如何进行类型转换

下一篇:Cypher函数如何进行模式匹配


Cypher
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器