D2R简介和使用

上一节介绍了关系型数据库mysql和nosql类型数据库导入电影数据的过程。下面介绍从关系型数据库进行知识抽取的过程D2R转换。

D2R介绍

D2R:Database to RDF是从抽取关系型抽取知识的一种方式。数据库表名直接映射到RDF中的类,字段映射到类的属性。类之间的关系可以从表示关系的表中得出。
D2RQ主要包括 D2R Server, D2RQ Engine 以及 D2RQ Mapping 语言。
官网:http://d2rq.org/
架构如下图:

具体安装教程参考:D2RQ安装及使用

数据转化流程

首先要开启mysql 服务器,将mysql数据转换成RDF数据的命令:

generate-mapping -u root -p root -o kg_movie.ttl jdbc:mysql:///kg_movie

执行完毕后,生成了映射文件kg_movie.ttl [在d2rp目录下],做以下修改:
1.删除/注释掉第一个黄色框里的内容
2.添加第二个黄色框里的内容
3.第三、四个黄框 是和第一个对应 就是把文件里面vocab 全部删除 [这一步可以打开notepad++ 直接 ctrl+F 替换 vocab 为空 ]

修改完成后的文件已经放在github上。
接下来开始转化为RDF、通过使用如下命令将kg_movie.ttl转化为kg_movie.nt的RDF文件。

dump-rdf.bat -o kg_movie.nt kg_movie.ttl

导出的n-triple 文件在目录中可以看到。

以上两部分完成对数据的转换。

D2R-SPARQL 查询

可以利用D2R-server提供sparql查询:在主目录下输入命令

d2r-server.bat kg_movie.ttl

打开浏览器:http://localhost:2020

可以查看相关数据:


点击主页面的Sparql endpoint 即可进行sparql 查询:

但是这在查询另一个演员时,显示结果确是一样,原因还没搞懂。【之后搞明白原因再更新】

Python脚本进行交互

构建基于知识图谱的应用,我们希望将SPARQL查询集成在代码当中,对其进行包装便于后续开发。这里介绍一个Python第三方库:SPARQLWrapper。如其名,这是一个Python下的包装器,可以让我们十分方便地和endpoint进行交互。下面是通过SPARQLWrapper,向D2RQ endpoint发送查询“巩俐参演的评分大于7的电影有哪些”,得到结果的代码。

from SPARQLWrapper import SPARQLWrapper, JSONsparql = SPARQLWrapper("http://localhost:2020/sparql")
sparql.setQuery("""PREFIX : <http://www.kgdemo.com#>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>SELECT ?n WHERE {?s rdf:type :Person.?s :personName '巩俐'.?s :hasActedIn ?o.?o :movieTitle ?n.?o :movieRating ?r.FILTER (?r >= 7)}
""")
sparql.setReturnFormat(JSON)
results = sparql.query().convert()for result in results["results"]["bindings"]:print(result["n"]["value"])

运行结果:

2046
Memoirs of a Geisha
荆轲刺秦王
大红灯笼高高挂
霸王别姬
活着
唐伯虎点秋香
秋菊打官司
菊豆
Hong gao liang
画魂
风月
Piao Liang Ma Ma
The Hand

以上就是D2R的使用方法 。
所有数据在这里:https://github.com/HoloLen/KG-demo-movie

参考

https://blog.csdn.net/weixin_41104835/article/details/88615715

知识图谱构建——D2R的使用(二)相关推荐

  1. 知识图谱构建实验笔记(二):知识图谱搭建过程与总结

    文章目录 引言 命名实体识别 1. 数据预处理 2. 构建模型并预测 3. 总结 关系抽取 1. 数据预处理 2. 模型构建并预测 3. 总结 数据入库 load csv方式 neo4j-admin ...

  2. ChatGPT结合知识图谱构建医疗问答应用 (一) - 构建知识图谱

    一.ChatGPT结合知识图谱 在本专栏的前面文章中构建 ChatGPT 本地知识库问答应用,都是基于词向量检索 Embedding 嵌入的方式实现的,在传统的问答领域中,一般知识源采用知识图谱来进行 ...

  3. [知识图谱构建] 二.《Neo4j基础入门》基础学习之创建图数据库节点及关系

    该系列文章主要讲解知识图谱及Neo4j图数据库的用法,本篇文章是作者学习<Neo4j基础入门>书籍的在线笔记,主要讲解Neo4j的基础知识及基本语法,希望大家喜欢. 前文: [知识图谱构建 ...

  4. 深度应用驱动的医学知识图谱构建(二)

    更多分享请关注公众号 系统之神与我同在 数研院医学知识图谱构建 1.模型建立 医学领域的知识图谱由于其知识专业性强,行业通常采用自 上而下的方式,先构建Schema,再抽取知识. 数研院医学知识图谱S ...

  5. CCKS-2017 行业知识图谱构建与应用-下篇

    http://www.sohu.com/a/192557627_99934777 摘要: 这篇是PPT的下半部分,更加偏重于实战中关键技术的难点剖析. 行业知识图谱关键技术 上篇我们讲行业知识图谱生命 ...

  6. 知识图谱系统课程笔记(二)——知识抽取与挖掘

    知识图谱系统课程笔记(二)--知识抽取与挖掘 文章目录 知识图谱系统课程笔记(二)--知识抽取与挖掘 OWL.RDF与RDFS关系 知识抽取任务定义和相关比赛 知识抽取技术 知识获取关键技术与难点 知 ...

  7. 一站式了解多模态、金融、事理知识图谱构建指南 | AI ProCon 2020

    整理 | 许爱艳 出品 | AI科技大本营(ID:rgznai100) [导读]7 月 3-4 日,由 CSDN 主办的第三届 AI 开发者大会(AI ProCon 2020)在线上举行.本次大会有超 ...

  8. 肖仰华:知识图谱构建的三要素、三原则和九大策略 | AI ProCon 2019

    演讲嘉宾 | 肖仰华(复旦大学教授.博士生导师,知识工场实验室负责人) 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 近两年,知识图谱技术得到了各行各业的关注,无论是企业公 ...

  9. 知识图谱构建技术初探

    自底向上--知识图谱构建技术初探 from: https://www.anquanke.com/post/id/149122 发布时间:2018-06-28 16:00:40 文/阿里安全 染青 &q ...

最新文章

  1. Java服务端人脸识别实战开发优化
  2. 【计算机网络】计算机网络 OSI 参考模型 ( 计算机网络分层结构 | OSI 七层参考模型 | 应用层 | 表示层 | 会话层 | 传输层 | 网络层 | 数据链路层 | 物理层 )
  3. 操作系统课设——吃水果问题
  4. 机器学习 处理不平衡数据_在机器学习中处理不平衡数据
  5. 酷客多小程序实现小程序之间跳转功能,让小程序玩出新花样
  6. apb外设怎么分配地址
  7. Docker学习总结(29)——Docker核心技术与实现原理
  8. 运维,请警惕脚本灾难!
  9. 多普达,D600,Coreplayer可用的序列号(版本未查看)。
  10. Skyline软件二次开发初级——8如何在WEB页面中的三维地图上管理信息树
  11. Android开发——电话簿
  12. html背景图怎么做成水印,如何制作出有水印feel的PPT背景图片
  13. fb2 android,FBReader PDF plugin app
  14. matlab日历制作
  15. 修改Google Chrome主页
  16. 936烙铁芯发热芯型号判断
  17. Redis的初步使用教程
  18. IP协议及MAC帧格式
  19. 2019DevFest | 从互联网前端到2B交付型前端-探索面向交付的实用前端技术栈
  20. chrome 报错connection is not private. NET::ERR_CERT_COMMON_NAME_INVALID Provisional headers warning

热门文章

  1. 理想低通滤波器、Butterworth滤波器和高斯滤波器(matlab)
  2. html中搜索栏怎么写,html搜索框怎么做
  3. 津门杯GoOSS和302重定向漏洞
  4. 计算机网络保研面试题整理(自用)
  5. CTime和CTimeSpan
  6. 1822 - Failed to add the foreign key constraint. Missing index for constraint ‘fk_tno_course‘ in the
  7. 【参考文献】骨骼肌成肌细胞低血清培养​
  8. 《Large scale GAN training for high fidelity natural image synthesis》论文阅读记录
  9. 网页源代码隐藏域中存在密码
  10. 【Redux 和 React-Recux】