本文主要是介绍Cypher语句查询neo4j数据库教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- Cypher介绍
- 执行Cypher语句查询
- 总结
Cypher介绍
NodeMatcher
和RelationshipMatcher
能够表达的匹配条件相对简单,更加复杂的查询还是需要用Cypher
语句来表达。
Py2neo
本身支持执行Cypher
语句的执行,可以将复杂的查询写成Cypher
语句,通过graph.run
方法查询,返回的结果可以转化为pandas.DataFrame
或者pandas.Series
对象,从而和其他数据分析工具无缝衔接。
执行Cypher语句查询
>>>cypher_ = "MATCH path=(m:Person)-[:同事|邻居*1..4]->(n:Person) \
WHERE m.name='赵赵' AND n.name='王王' \
RETURN path"
>>>s = graph.run(cypher_).to_series()
>>>print(len(s))
>>>s[0]
1
Path(Node('Person', 'Teacher', age=45, name='赵赵', work='月亮中学'),
邻居(Node('Person', 'Teacher', age=45, name='赵赵', work='月亮中学'),
Node('Person', age=30, name='张张', work='宇宙电子厂')),
同事(Node('Person', age=30, name='张张', work='宇宙电子厂'),
Node('Person', age=20, name='李李', work='宇宙电子厂')),
同事(Node('Person', age=20, name='李李', work='宇宙电子厂'),
Node('Person', age=35, name='王王', work='宇宙电子厂')))
总结
使用Py2neo
查询Neo4j
中的节点、关系和路径时,条件简单的查询可以通NodeMatcher
和RelationshipMatcher
来实现。而较为复杂的查询,可以写成Cypher
语句来查询,查询结果可以转化为pandas
的DataFrame
或者Series
数据类型,与其他数据分析工具结合。
这篇关于Cypher语句查询neo4j数据库教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!