基于Protégé-5.6.4win版本和D2RQ的本体建模与知识表示(未完待续)

一、实验目的

1. 熟悉和理解本体知识模型;

2.熟悉和理解RDF三元组的知识表示方法及常用序列化格式

3. 掌握建立本体知识模型的方法。

4. 掌握从结构化数据转换到三元组的方法。

二、实验重点和难点

映射文件的创建和修改。

三、实验内容及步骤

实验内容:

1. 使用Protégé建立一个电影本体知识模型。

2. 使用D2RQ实现结构化数据转换到三元组。

实验步骤:

1. 本体建模

(1)下载Protégé,压缩包解压到硬盘,运行Protégé 目录下的run.bat;

下载地址:protégé 

在线版本:https://webprotege.stanford.edu/

(2)建立Person,Movie,Genre三个互斥类(Classes,在Disjoint With中,添加互斥类);

2.结构化数据转换到三元组。

(1)导入数据到MYSQL

  1. 打开MySQL Workbench

(可到MySQL :: Download MySQL Workbench下载安装)

  1. 点击顶部的"File"(文件)菜单,然后选择"Open SQL Script"(打开SQL脚本)。
  2. 在弹出的文件选择器中,找到并选择SQL文件(kg_demo_movie.sql)。点击"Open"(打开)。
  3. 点击执行按钮(闪电)或使用菜单中的"Execute"(执行)选项来执行SQL文件的内容。
  4. 在SCHEMAS窗口点击右键,选择refresh all

(2)下载D2RQ (The D2RQ Platform – Accessing Relational Databases as Virtual RDF Graphs),解压缩。

注意:要开始使用 D2RQ,首先请确保已安装了Java 开发环境(JDK)。

(3)创建映射(mapping)文件

进入D2RQ目录,运行下面的命令生成默认的mapping文件:

generate-mapping -u root -p 123mysql -o kgmovie_mapping.ttl jdbc:mysql:///kgmovie?useSSL=false

//-u root 是数据库的登录名

//-p 123mysql 是登录密码

//-o kgmovie_mapping.ttl 是映射文件的名称

//jdbc:mysql:/// kgmovie 指定数据库的名称

//?useSSL=false 避免提示警告。

(4)修改映射文件:使映射三元组与创建的本体模型保持一致。

  1. 使用文本编辑器打开 kgmovie_mapping.ttl 文件;
  2. 删除其中的 id 和 label 属性:

删除以下内容:

map:genre__label a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:genre;

d2rq:property rdfs:label;

d2rq:pattern "genre #@@genre.genre_id@@";

.

map:genre_genre_id a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:genre;

d2rq:property vocab:genre_genre_id;

d2rq:propertyDefinitionLabel "genre genre_id";

d2rq:column "genre.genre_id";

d2rq:datatype xsd:integer;

.

map:movie__label a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:movie;

d2rq:property rdfs:label;

d2rq:pattern "movie #@@movie.movie_id@@";

.

map:movie_movie_id a d2rq:PropertyBridge;

d2rq:belongsToClassMap map:movie;

d2rq:property vocab:movie_movie_id;

d2rq:propertyDefinitionLabel "movie movie_id";

d2rq:column "movie.movie_id";

d2rq:datatype xsd:integer;

  1. 修改每一行中的class和property名字:

例如:

d2rq:class vocab:genre; 为:d2rq:class :Genre;

d2rq:property vocab:genre_genre_name; 为:d2rq:property :genreName;

d2rq:property vocab:person_to_movie; 为 d2rq:property :hasActedIn;

  1. 分别将数据转为三种不同格式的RDF

转为N-TRIPLE格式(默认):

dump-rdf.bat -o kgmovie.nt  kgmovie_mapping.ttl

转为RDF/XML格式:

dump-rdf.bat -f RDF/XML -o kgmovie.rdf kgmovie_mapping.ttl

转为TURTLE格式:

dump-rdf.bat -f TURTLE -o kgmovie.ttl kgmovie_mapping.ttl

其中: kgmovie.nt 是输出RDF文件名(“N-TRIPLE”格式)

      kgmovie_mapping.ttl 是映射文件名

  1. 观察并熟悉RDF文件的三元组知识表示:

分别用文本编辑器打开kgmovie.nt、kgmovie.rdf 、 kgmovie.ttl,对比其语法和表示方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值