电影知识图谱demo(二) —— D2RQ初探随记

2019-04-07  本文已影响0人  DataArk

一、安装踩坑

虽然不知道是否安装流程复杂化了,但整通了。

首先是下载地址官网,不过我不知道为什么下载下来里面的generate-mapping之类的完全用不了,会显示command not found,折腾了一阵发现github上的是可以的.

下载之后看readme提到要装git、Java JDK和Apache Ant(官方Quick start没提这个),前两个电脑里都有,后面的ant是没有的,看博客里都没提到要装,但手册要求就整上再说。整体安装是没什么坑的,基本上按照网上的就出来了,基本就是下载之后改下路径。

另一个坑就是驱动版本的问题,这里我用的是mysql,不过显示如下:

MacBooktekiMacBook-Air:d2rq-0.8.1 macbook$ ./generate-mapping -o mapping.ttl   -d  com.mysql.jdbc.Driver  -u root -p 123456 jdbc:mysql://localhost/Academic

>> Database connection to jdbc:mysql://localhost/Academic failed (user: root): Client does not support authentication protocol requested by server; consider upgrading MySQL client (E54)

在网上下了一个mysql-connector-java-5.1.47.jar的版本替换掉/d2rq-0.8.1/lib/db-drivers/mysql-connector-java-5.1.18-bin.jar就可以成功运行。mysql-connector-java-5.1.47.jar百度云盘下载地址,提取码: 2huj 。

二、新手教程

官方快速开始教程

  1. 就是前面安装准备工作

  2. 先创建一个数据库用来后面的转化,使用http://d2rq.org/d2rq-language上的iswc-mysql.sql脚本创建数据库Academic:

# 以下皆在命令行格式下

# 连接数据库服务器,然后需要输入密码
mysql -u root -p
>> Enter password:
# 创建数据库
CREATE DATABASE Academic;
# 选择使用该数据库
USE Academic;
# 导入sql
source ./iswc-mysql.sql
  1. d2rq文件目录下执行以下命令以下命令即可生成mapping.ttl
./generate-mapping -o mapping.ttl   -d  com.mysql.jdbc.Driver  -u root -p 123456 jdbc:mysql://localhost/Academic

其中:

  1. 使用./d2r-server mapping.ttl启动服务

  2. 使用./dump-rdf.bat可以生成真正的RDF数据

三、在自己的数据上实践

  1. 首先将之前的电影知识图谱demo(一)中的数据转化到本地的数据库中,这里我使用的是Navicat Premium直接创建表导入

注:这里的命名稍微改了下,因为在使用过程中遇到了bug,不过具体不知道是不是这个的问题,大家在使用过程中稍微主要列名就行

2.如上面的格式一样,使用./generate-mapping生成map:./generate-mapping -o mapping.ttl -d com.mysql.jdbc.Driver -u root -p 123456 jdbc:mysql://localhost/Movie


看提示新版本应该可以自动获取和数据库的连接服务,不过我这里用的还是老版本。生成的mapping.ttl文件如下,可以使用Protege进行修改:

  1. 使用./d2r-server mapping.ttl启动服务,打开浏览器输入 http://localhost:2020, 便可以默认的 HTML 浏览器、DF 浏览器以及 SPARQL 查询端对我们的数据进行访问
  1. 使用`./dump-rdf -o kg_demo_movie.nt ./mapping.ttl`` 生成真正的RDF数据

当然不止能生成.nt,其支持导出的RDF格式有TURTLERDF/XMLRDF/XML-ABBREVN3N-TRIPLEN-TRIPLE是默认的输出格式。

参考:

  1. D2RQ之Linked data
  2. http://d2rq.org/d2rq-language
  3. 实践篇(二):关系数据库到RDF
上一篇下一篇

猜你喜欢

热点阅读