neo4j python 算法_python操作neo4j简单实例

本文介绍了如何使用Python的py2neo库与Neo4j图形数据库进行交互,包括建立连接、创建节点和关系、更新节点属性、通过关系查找节点、添加与删除节点等基本操作,并提供了示例代码。最后展示了操作效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一: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的一些操作,毕竟是图形数据库,扒了点数据看看效果,这里直接上图

bYB7jy.png QQ图片20171122132212.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值