美文网首页图数据库Neo4j
python通过py2neo模块操作Neo4j图数据库

python通过py2neo模块操作Neo4j图数据库

作者: 布口袋_天晴了 | 来源:发表于2018-08-02 15:38 被阅读2314次

    本篇文章主要内容是要将在Neo4j图形界面中操作的Cypher Query Language对应到python代码中去。

    了解py2neo的简单操作请参考文章:使用py2neo模块,python操作Neo4j 图数据库 

    安装py2neo版本4,py2neo使用说明参考:https://py2neo.org/v4/

    Neo4j Cypher Query Language请参考文章:《一》《二》《三》

    主要内容包括:

    ****注:graph=Graph(host='localhost', author=('你的数据库名','连接数据库的密码')  eg:graph=Graph(host='localhost', author=('neo4j','neo4j'))

    1.Neo4j CQL - CREATE命令  <=====>  graph.create(node)#创建节点

    2.Neo4j CQL - MATCH命令  <=====>  graph.run(MATCH命令)#查找

    3.py2neo --- Node Matching

    4.py2neo --- Relationship Matching

    py2neo:



    1.Neo4j CQL - CREATE命令  <=====> graph.create(node)#创建节点

    Neo4j CQL:   CREATE(c:Test_Class {name:"姚明董事长",id:"001",age:65,location:"上海"}) RETURN c 创建节点:    node=Node("Test_Class",name='姚明董事长',id='0001',age=65,location='上海')   graph.create(node) 在localhost页面,能找到刚刚创建的节点

    2.Neo4j CQL - MATCH命令  <=====> graph.nodes.match(...).first()

    查找节点

    1.通过调用graph.nodes来查找 2.通过run方法,直接执行Neo4j CQL语句 2.graph.run("Neo4j Cphyer Query Language").data() 输出格式 3.通过run方法,直接执行Neo4j CQL语句 3.graph.run("Neo4j Cypher Query Language").to_data_frame() 输出格式

    3.py2neo --- Node Matching:

    通过标签和属性简单查找:NodeMatcher(graph).match()

    通过NodeMatch.where()进行复杂查找:查找名字以“姚”开头的所有节点

    通过where设置过滤条件 通过where设置过滤条件、排序、返回限定数量节点 通过len()方法,统计查找到节点的个数

    4.py2neo --- Relationship Matching:

    RelationshipMatcher(graph).match() 查找所有关系

    查找所有关系

    RelationshipMatcher(graph).match(r_type='关系名') 通过r_type确定关系名

    语法:match(nodes=None, r_type=None, **properties)

    通过r_type限定关系名  

    RelationshipMatcher(graph).match().order_by().limit()   匹配、排序、限定返回次数

    语法:match.order_by("_.weight", "max(_.a, _.b)")



    添加:2018-12-26问题:如何利用头尾节点名和关系名来查找neo4j中是否存在节点所对应的关系???

    以下图为例:创建一些BaiduBaike类型的节点,并创建一些关系。

    创建语句:CREATE (a:BaiduBaike {name:'上海'})-[r:火车站] ->(b:BaiduBaike {name:'上海站'})

    根据以上语句稍微改动一下,创建出如下图节点关系

    使用如下代码,即可以通过头实体名 或 尾实体名 查询关系。

    相关文章

      网友评论

        本文标题:python通过py2neo模块操作Neo4j图数据库

        本文链接:https://www.haomeiwen.com/subject/qnlfvftx.html