当前位置:   article > 正文

Neo4j(六)——python操作neo4j(py2neo使用)_neo4j python

neo4j python

py2neo

1、安装py2neo

pip install py2neo

安装的时候踩坑了 

2、笔记整理

(1)安装py2neo。一个可以通过python处理Neo4j的库。

(2)连接数据库

test_graph=Graph("http://localhost:7474",username="neo4j",password="neo4j")

(3)建立节点

用到py2neo.Node

  1. test_node_1 = Node(label = "Person",name = "test_node_1")
  2. test_graph.create(test_node_1)

name为test_node_1的属性。

(4)建立节点之间关系

Neo4j中节点关系是有向的,所以建立关系时需要建立起始节点和结束节点。

  1. node_1_call_node_2 = Relationship(test_node_1,'CALL',test_node_2)
  2. node_1_call_node_2['count'] = 1
  3. test_graph.create(node_1_call_node_2)

其中node_1_call_node_2表示建立的关系,关系类型为“CALL”,node_1_call_node_2['count']表示关系属性count,其值为1

上述所建立关系为单向关系。

(5)关系属性赋值、更新属性值

  1. node_1_call_node_2['count']+=1
  2. test_graph.push(node_1_call_node_2)

这个操作更新了node_1_call_node_2的count属性,并将其属性值+1后更新到数据库中。

(6)通过属性值查找节点和关系 find_one

  1. find_code_1 = test_graph.find_one (label="Person", property_key="name", property_value="test_node_1")
  2. print find_code_1['name']

(7)通过节点和关系查找关联的节点和关系 match

  1. find_relationship=test_graph.match_one(start_node=find_code_1,end_node=find_code_3, bidirectional=False)
  2. print find_relationship

注:match和match_one的参数包括start_node,Relationship,end_node中的至少一个。bidirectional参数的意义是指关系是否可以双向。
如果为False,则起始节点必须为start_node,结束节点必须为end_node。如果有Relationship参数,则一定按照Relationship对应的方向。
如果为True,则不需要关心方向问题,会把两个方向的数据都返回。

3、 实例

  1. #coding:utf-8
  2. from py2neo import *
  3. #连接数据库,输入地址,用户名,密码
  4. url = 'http://127.0.0.1:7474/'
  5. graph = Graph(url, username='neo4j', password='neo4j')
  6. ##创建结点
  7. test_node_1 = Node(label='ru_yi_zhuan', name='皇帝')
  8. test_node_2 = Node(label='ru_yi_zhuan', name='皇后')
  9. test_node_3 = Node(label='ru_yi_zhuan', name='公主')
  10. graph.create(test_node_1)
  11. graph.create(test_node_2)
  12. graph.create(test_node_3)
  13. ##创建关系
  14. # 分别建立了test_node_1指向test_node_2和test_node_2指向test_node_1两条关系,关系的类型为"丈夫、妻子",两条关系都有属性count,且值为1。
  15. node_1_zhangfu_node_1 = Relationship(test_node_1, '丈夫', test_node_2)
  16. node_1_zhangfu_node_1['count'] = 1
  17. node_2_qizi_node_1 = Relationship(test_node_2, '妻子', test_node_1)
  18. node_2_munv_node_1 = Relationship(test_node_2, '母女', test_node_3)
  19. node_2_qizi_node_1['count'] = 1
  20. graph.create(node_1_zhangfu_node_1)
  21. graph.create(node_2_qizi_node_1)
  22. graph.create(node_2_munv_node_1)
  23. print(graph)
  24. print(test_node_1)
  25. print(test_node_2)
  26. print(node_1_zhangfu_node_1)
  27. print(node_2_qizi_node_1)

3、基本使用教程

https://blog.csdn.net/jian_qiao/article/details/100557985

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/390692
推荐阅读
相关标签
  

闽ICP备14008679号