python知识图谱-py2neo实现neo4j的dao类

python知识图谱-利用py2neo实现neo4j的dao类

py2neo的基本使用以及cypher的基本使用:https://blog.youkuaiyun.com/Akun_2217/article/details/135445147?spm=1001.2014.3001.5502

1. dao类需要实现的功能

neo4j实现dao类的基本单位就是子图,包括单个节点、单个子图,都属于子图。

  1. 数据库的创建

  2. 创建子图

  3. 查询子图

  4. 更改子图

  5. 删除子图

  6. 事务功能

    • 一次性插入多条数据时,要么都成功要么都失败

2. dao类具体设计

日志模块实现:https://blog.youkuaiyun.com/Akun_2217/article/details/135442731?spm=1001.2014.3001.5502

  1. 初始化对象进行连接:_init_
  2. 执行非查询cypher语句: execute
  3. 执行查询cypher语句: query
  4. 切换数据库: select_db
  5. 开启事务: begin_transaction
  6. 事务执行: transaction_execute
  7. 提交事务: commit_transaction
  8. 回滚事务: rollback_transaction
  9. 关闭连接 : close_connect
  10. 日志记录

3. 利用py2neo实现neo4j的dao类

  • 实际工作中使用时,将neo4j日志路径以及连接参数,卸载一个配置文件中。

  • cypher语言使用两种形式, 以match为例,其他类似:

    1. run(“match (n:boss) where n.name=‘biden’ set n.name=$newname”, **{‘newname’:‘aoguanhai’})
    2. run(“match (n:boss) where n.name=‘biden’ set n.name=$newname”, newname=‘auguanhai’)
import py2neo
from utils import logger_utils

logger = logger_utils.get_logger('./')


class Neo4jDao:

    def __init__(self, url, auth):
        try:
            self.graph_server = py2neo.GraphService(url, auth=auth)
            logger.info(f'服务连接成功,主机地址:{
     url}....')
        except Exception as e:
            logger.info(f'服务连接失败,原因:{
     e}, 主机地址:{
     url}')
            # 使用默认数据库
            self.graph_server = None
        self.graph = None
        self.tx 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值