python使用pygraphdb连接graphdb图数据库

2023-11-17

前言

本文主要介绍如何用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
    在这里插入图片描述

在这里插入图片描述

二、使用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()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python使用pygraphdb连接graphdb图数据库 的相关文章

  • 在PyGI中获取窗口句柄

    在我的程序中 我使用 PyGObject PyGI 和 GStreamer 在 GUI 中显示视频 该视频显示在Gtk DrawingArea因此我需要获取它的窗口句柄realize 信号处理程序 在 Linux 上 我使用以下方法获取该句
  • 如何删除 PyCharm 中的项目?

    如果我关闭一个项目 然后删除该项目文件夹 则在 PyCharm 重新启动后 会再次创建一个空的项目文件夹 只需按顺序执行以下步骤即可 他们假设您当前在 PyCharm 窗口中打开了该项目 单击 文件 gt 关闭项目 关闭项目 在 PyCha
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • 如何在python中附加两个字节?

    说你有b x04 and b x00 你如何将它们组合起来b x0400 使用Python 3 gt gt gt a b x04 gt gt gt b b x00 gt gt gt a b b x04 x00
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • python celery -A 的无效值无法加载应用程序

    我有一个以下项目目录 azima init py main py tasks py task py from main import app app task def add x y return x y app task def mul
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 如何使用 opencv python 计算乐高积木上的孔数?

    我正在开发我的 python 项目 我需要计算每个乐高积木组件中有多少个孔 我将从输入 json 文件中获取有关需要计算哪个程序集的信息 如下所示 img 001 red 0 blue 2 white 1 grey 1 yellow 1 r
  • 在Python中读取tiff标签

    我正在尝试用 Python 读取 tiff 文件的标签 该文件是 RGB 的uint16每个通道的值 我目前正在使用tifffile import tifffile img tifffile imread file tif 然而 img是一
  • 更改QLineEdit的ClearButton图标

    我想在Windows 10 1909 64位 上的Python 3 8和PyQt5 5 15 0 上更改我的QLineEdit的ClearButton图标 稍后我想在Linux上运行代码 我尝试应用此处找到的代码 如何在 QLineEdit
  • PIL.Image.open和tf.image.decode_jpeg返回值的区别

    我使用 PIL Image open 和 tf image decode jpeg 将图像文件解析为数组 但发现PIL Image open 中的像素值与tf image decode jpeg不一样 为什么会出现这种情况 Thanks 代
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 使用 PHP 创建图表并导出为 PDF

    我正在寻找有关使用 PHP 创建图表的建议 我还希望能够将这些图表导出到 PDF 文档 我目前正在使用谷歌图表 但我不喜欢将我的所有信息发送到谷歌的想法 我更喜欢自己的托管解决方案 我见过很多 Flash 解决方案 但我不知道有什么方法可以
  • 如何在 Seaborn 中的热图轴上表达类

    我使用 Seaborn 创建了一个非常简单的热图 显示相似性方阵 这是我使用的一行代码 sns heatmap sim mat linewidths 0 square True robust True sns plt show 这是我得到的
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • 无法在 PyCharm 版本 9.3.3 中安装 NumPy。 Python版本3.8.2

    在 PyCharm 中安装 NumPy 时出错 尝试安装 Microsoft Visual C 14 0 还是行不通 NumPy 正在通过命令安装pip3 install numpy在 cmd 终端中 但是当尝试将其安装在 PyCharm
  • 如何从列表类别中对 pandas 数据框进行排序?

    所以我在下面有这个数据集 我想根据我的列表从 名称 列进行排序 以及按 A 升序和按 B 降序排序 import pandas as pd import numpy as np df1 pd DataFrame from items A 1
  • numpy polyfit 中使用的权重值是多少以及拟合误差是多少

    我正在尝试对 numpy 中的某些数据进行线性拟合 Ex 其中 w 是该值的样本数 即对于点 x 0 y 0 我只有 1 个测量值 该测量值是2 2 但对于这一点 1 1 我有 2 个测量值 值为3 5 x np array 0 1 2 3
  • 如何使用xlwt设置文本颜色

    我无法找到有关如何设置文本颜色的文档 在 xlwt 中如何完成以下操作 style xlwt XFStyle bold font xlwt Font font bold True style font font background col
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • 致远oa系统unix 服务器,致远oa手机客户端服务器

    致远oa手机客户端服务器 内容精选 换一换 华为云帮助中心 为用户提供产品简介 价格说明 购买指南 用户指南 API参考 最佳实践 常见问题 视频帮助等技术文档 帮助您快速上手使用华为云服务 BoostKit ARM 嵥 致远oa手机客户端
  • 三张图搞定TCP 握手、HTTPS、TLS加密过程

    1 抓包内容 WireShark 2 搞定握手 挥手 SSL加密过程 3 消息内容 Charles 之前看到写的比较好的文章 有文字详细叙述 TLS版本差异 https zhuanlan zhihu com p 27524995 utm s
  • 3dmax森林树木植物插件 Forest Pack Pro 6.3.1

    名称 Itoo Forest Pack Pro 中文名为专业森林制作 散布工具 版本 6 3 1 支持的版本 3dmax 2014 2015 2016 2017 2018 2019 2020 2021 V Ray 1 5 SP3 SP6 V
  • (10)stata的基本使用--短面板数据处理

    面板数据处理 数据描述 数据预览 告诉计算机这是面板数据 描述变量 查看其他变量 绘图 混合回归 聚类稳健标准误 cluster后的变量表示聚类标准 表示使用以state变量聚类的聚类稳健标准误 普通稳健标准误 对比普通稳健标准误与聚类稳健
  • 树05--二叉搜索树的后序遍历序列

    树05 二叉搜索树的后序遍历序列 jz23 题目概述 解析 参考答案 注意事项 说明 题目概述 算法说明 输入一个整数数组 判断该数组是不是某二叉搜索树的后序遍历的结果 如果是则返回true 否则返回false 假设输入的数组的任意两个数字
  • 数字钟实训经历

    第一次写博客 多多关照 先说一点自己的感悟吧 我是电气工程及其自动化专业的大三学生 大一时加入了学校的电子技术协会 转眼一晃两年就这样过去了 这不暑假了还在学校准备今年的全国电子设计竞赛 在这自学单片机的两年时间里 遇到了许多疑难困惑 通过
  • linux下MMC/SD/SDIO驱动系列之四 ---- SDIO的识别与操作

    从上篇文章的最后 我们知道host在扫描卡的过程中 其识别的顺序为SDIO SD MMC 并且从它的注释可以看出 这个顺序是很重要的 那这篇文章 我们就看看SDIO的识别过程 它对应的函数就是mmc attach sdio host 函数位
  • C++笔记一(C语言基础)

    1 变量命名规则 1 1 标识符可由三类字符 字母 下划线 数字组成 标识符只能由字母或下划线开头 标识符不能具有二义性 标识符有长度要求 在起定的名字中 超出长度规定的部分将被截掉 2 部分基础数据类型 2 1 常用数据类型长度 bool
  • EXE文件打不开的解决方法

    EXE文件打不开 打开 我的电脑 或随便一个文件夹 点击菜单 工具 选择 文件夹选项 选择 文件类型 中的 新建 新建扩展名 EXE 单击 高级 关联的文件类型 中选择 应用程序 在命令提示符 cmd 在 开始 菜单 所有程序 的 附件 中
  • C和C++打印指针值和地址

    1 C 中指针变量的地址和指针变量的值是两个不同的概念 指针变量的地址 这是指针变量这个变量在内存中的存储地址 如图所示0x1211 指针的值 里面存放的是一个地址 此地址即为指向的内存单元的地址 如图所示0x1101 2 假如要输出指针变
  • IntelliJ IDEA安装教程,三分钟手把手教会,非常简单!

    使用IntelliJ IDEA写java程序需要配置jdk 链接 JDK安装教程 一 IntelliJ IDEA下载 1 进入官网 官网地址 https www jetbrains com 2 点击 Developer Tools 开发者工
  • jQuery遍历之next()、nextAll()方法使用实例

    jquery遍历 next 和nextAll 方法 实例如下 复制代码 代码如下
  • element踩坑之el-select中的placeholder属性不显示

    直接上图 咱想要这种效果 但现实却给了这种效果 明明ui代码一模一样
  • 编译freeRTOS “error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token”错误解决

    今日编译ESP8266 RTOS SDK的时候有个头文件声明了extern 结构体 结果一旦加入这个头文件编译就各种报错 提示error expected asm or attribute before token 一通搜索之后并未解决我的
  • IDEA的好用小工具Test RESTful web Service

    Test RESTful web Service 一 2021版IDEA界面 二 2019版 我安了个插件叫Old REST Client来还原这个样子 三 代码demo示例 补充 好处 可以减少postman的使用 简单的可以用这个 脚本
  • 【C语言】详解getchar函数该如何使用

    目录 getchar函数 getchar函数的声明 getchar函数返回值问题 getchar函数的无法返回字符串的情况 输出通过getchar函数获得的一个字符 getchar函数的进一步使用 最后这里给大家推荐一个库函数的网站 Ref
  • 浪潮nf5180m5服务器安装系统,NF5180M5-IPMI设置

    登录 默认用户名需注意 用户名 admin 密码 admin 主页面 Web 界面分为四个部分 如下图所示 界面左上角 表示 Web 界面的名称 界面右上角各按钮含义 点击系统摘要按钮 返回系统摘要页面 2 点击刷新按钮 进行页面刷新 3
  • 【codeforces】 ZeptoLab Code Rush 2015 A,B,C,D,E题解

    D E统统FST 差一点就飞升了 A King of Thieves 给你一张地图 让你从某个 开始跳等步长的四次 如果均在 则输出yes 否则输出no 枚举起始点和步长直接做就可以了
  • python兼职:10个python接私活的平台!兼职也能月薪过万

    接私活一定要注意的个点 1 没有第三方担保的个人单子尽量少接 2 无需求文档 没具体需求的不接 3没有预付不做 尽量用442的分步骤方式 然后就是正题的网站推荐了 1 码市 https codemart com 2 开源众包 https z
  • python使用pygraphdb连接graphdb图数据库

    文章目录 前言 一 GraphDB是什么 二 使用pygraphdb连接graphdb 1 安装pygraphdb 2 功能介绍 数据管理 数据库管理 3 快速上手 4 使用with连接 5 数据管理 6 数据库管理 前言 本文主要介绍如何