一、通过Protege 新建关于OWL文件
采用自顶向下的方式构建本体,这里通过kg_movie数据库构建本体结构,在Ontology IRI中填写我们新建本体资源的IRI,并构建相关类和属性。
二、修改D2R生成的mapping.ttl文件
按照建立的OWL文件,修改d2rq:ClassMap中的d2rq:Class属性,以及d2rq:PropertyBridge中的d2rq:property属性,使其与本体资源的IRI相对应。比如修改为:
@prefix : <http://www.kgmovie.com#> .
# Table actor
map:actor a d2rq:ClassMap;
d2rq:dataStorage map:database;
d2rq:uriPattern "actor/@@actor.actor_id@@";
d2rq:class :Actor;
d2rq:classDefinitionLabel "actor";
.
# Table actor_to_movie (n:m)
map:actor_to_movie__link a d2rq:PropertyBridge;
d2rq:belongsToClassMap map:movie;
d2rq:property :hasActor;
d2rq:refersToClassMap map:actor;
d2rq:join "actor_to_movie.movie_id => movie.movie_id";
d2rq:join "actor_to_movie.actor_id => actor.actor_id";
.
以上内容为修改后的ttl文件的部分内容,表actor对应OWL文件中的Actor,actor_to_movie_link 对应OWL文件中的hasActor方法。其中为了方便,使用了@prefix : <http://www.kgmovie.com#> . ,这样就可以使用:Actor 表示 http://www.kgmovie.com#Actor 。
当数据库未通过外键将相关内容关联时,应通过修改mapping.ttl文件添加d2rq:PropertyBridge属性,使其关联。
三、生成RDF文件
使用下面的命令将我们的数据转为RDF:
.\dump-rdf.bat -o file.nt .\mapping.ttl
其中mapping.ttl是我们修改后的mapping文件。其支持导出的RDF格式有“TURTLE”, “RDF/XML”, “RDF/XML-ABBREV”, “N3”, 和“N-TRIPLE”。“N-TRIPLE”是默认的输出格式。