python使用pygraphdb连接graphdb图数据库

前言

本文主要介绍如何用python操作graphdb,以及相应包pygraphdb的安装和使用

一、GraphDB是什么?

GraphDB 是一个高效、强大的图形数据库, 支持RDF和SPARQL。
通过使用SPARQL语句查询数据。

  1. 使用参考链接: https://graphdb.ontotext.com/documentation/free/index.html
  2. docker部署graphdb文章链接:https://blog.csdn.net/weixin_44836662/article/details/121216577
  3. 注意:由于graphdb版本升级会导致pygraphdb出现bug,所以推荐安装 graphdb-free 9.10.0版本的,pygraphdb在此版本基础上构建,后续pygraphdb会更新去适应最新版本的graphdb。
    在这里插入图片描述

在这里插入图片描述

二、使用pygraphdb连接graphdb

1.安装pygraphdb

pip install pygraphdb
注意:2.0.0版本以上不兼容它以下的版本

2. 功能介绍

数据管理

1. 通过执行SPARQL语句就可查询和更新Graph数据库
2. 下载数据并保存
3. 上传数据
4. 删除所有的节点数据

数据库管理

1. 获取现有的repository列表
2. 删除现有的repository
3. 创建一个repository
4. 重启现有的repository
5. 获取现有的repository size

3. 快速上手

import pygraphdb

# 数据库 config
host = '0.0.0.0'
port = '7200'
db_name = 'db_name'
user = 'admin'
password = 'password'

# sparql 语句
sparql = 'PREFIX pub: <http://ontology.ontotext.com/taxonomy/> ' \
    'PREFIX pub-old: <http://ontology.ontotext.com/publishing#> ' \
    'select distinct ?x ?Person  ' \
    'where {?x a pub:Person . ' \
    '?x pub:preferredLabel ?Person . ' \
    '?doc pub-old:containsMention / pub-old:hasInstance ?x .}'

# 连接数据库
db = pygraphdb.connect(host=host, port=port, user=user, password=password, db=db_name)


# 获取 cursor
cur = db.cursor()

# 执行sparql语句,得到结果
result = cur.execute(sparql)
print(result)

# 关闭 cursor
cur.close()

# 关闭数据库
db.close()

4. 使用with连接

# 第一种方式

with pygraph.connect(host, port, user, password, db) as db2:
    # 获取 cursor
    cur2 = db2.cursor()
    # 执行sparql语句,得到结果
    result2 = cur2.execute(sparql)
    cur2.close()
    print(result2)


# 第二种方式

db3 = pygraph.connect(host, port, user, password, db)

# 获取 cursor
with db3.cursor() as cur3:
    # 执行sparql语句,得到结果
    result3 = cur3.execute(sparql)
    print(result3)

db3.close()

5.数据管理

import pygraphdb

host = '0.0.0.0'
port = '7200'
db_name = 'db_name'
user = 'admin'
password = 'password'

db = pygraphdb.connect(host, port, user, password, db_name)

cur = db.cursor()

"""
执行查询语句
"""
r = cur.execute('select * where {?s ?p ?o .} limit 100 ')
print(r)


"""
上传数据
支持上传 RDF OWL格式的文件
"""
r2 = cur.upload_data('./example.owl')
print(r2)


"""
下载数据
支持下载 RDF OWL JSON格式的文件 
"""
r3 = cur.download_data('./download_result.owl')
print(r3)


"""
删除全部节点数据
"""
r4 = cur.delete_all_data()
print(r4)

cur.close()

db.close()

6.数据库管理

import pygraphdb

host = '0.0.0.0'
port = '7200'
user = 'admin'
password = 'password'

db = pygraphdb.connect(host, port, user, password)

manager = db.manage_repository()

"""
创建一个repository
"""
db_name = 'example'
r = manager.create_repository_graphdb_free(db_name)
print(r)

"""
删除一个repository
"""
r2 = manager.delete_repository(db_name)
print(r2)


"""
查询所有的repository列表
"""
r3 = manager.get_repository_list()
print(r3)


"""
重启repository
"""
r4 = manager.restart_repository(db_name)
print(r4)


"""
获取数据库大小
"""
r5 = manager.get_repository_size(db_name)
print(r5)

manager.close()

db.close()
  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值