赞
踩
本文主要介绍如何用python操作graphdb,以及相应包pygraphdb的安装和使用
GraphDB 是一个高效、强大的图形数据库, 支持RDF和SPARQL。
通过使用SPARQL语句查询数据。
注意:由于graphdb版本升级会导致pygraphdb出现bug,所以推荐安装 graphdb-free 9.10.0版本的,pygraphdb在此版本基础上构建,后续pygraphdb会更新去适应最新版本的graphdb。
pip install pygraphdb
注意:2.0.0版本以上不兼容它以下的版本
1. 通过执行SPARQL语句就可查询和更新Graph数据库
2. 下载数据并保存
3. 上传数据
4. 删除所有的节点数据
1. 获取现有的repository列表
2. 删除现有的repository
3. 创建一个repository
4. 重启现有的repository
5. 获取现有的repository size
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()
# 第一种方式 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()
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()
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()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。