python操作neo4j简单实例

一:neo4j是什么

neo4j:Neo4j是一个高性能的,NOSQL图形数据库,有关于更多neo4j的资料出门右拐

二:python操作neo4j的实现

python中neo4j的操作可以利用驱动包或者py2neo包,

我采用py2neo第三方包实现以下简单功能,先建立一个neo4j的链接

对于neo4j的安装其实比较简单,这里就跳过

  def__init__(self):

    self.conn = Graph("http://localhost:7474",username="11111",password="11111")

节点和关系的创建

  a = Node(label, **doc1)

  b = Node(label, **doc2)

  r2 = Relationship(b, ship, a)

  self.conn.merge(r2,label=label)

更新节点属性

  node.update(doc)

通过关系查找相关联的关系节点

  selector = NodeSelector(self.conn)
  query = '_.age=22'
  persons = selector.select(label).where(query).order_by('_.' + order)

添加节点

    obj = self.get(label, field, value)
    tmp_obj = label()
    tmp_obj.setAll(doc=doc)

    obj.knows.add(tmp_obj)
    print(list(obj.knows))
    self.conn.push(obj)

删除节点,这里有坑,官方文档说删除节点必须先删除关系。当节点大于2时,比如a->b->c 这时官方文档中的栗子有报错。因此自己现在用这种方式删除

    obj = self.get(label, src_field, src_value)
    tar = self.get(label, desc_field, desc_value)
    obj.knows.remove(tar)
    self.conn.push(obj)
    self.conn.delete(tar)

以上是python简单的neo4j的一些操作,毕竟是图形数据库,扒了点数据看看效果,这里直接上图

《python操作neo4j简单实例》 QQ图片20171122132212.png

菜鸟路过,如果不合理的地方,请大家多多指教

    原文作者:ochipe
    原文地址: https://www.jianshu.com/p/9355643e5fbc
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞