我正在使用d2rq.org将关系数据库数据更改为RDF格式,我可以使用http://d2rq.org/dump-rdf
我这样做了,但生成的三元组如下:
<http://www.bla.com/to#Media3348> <http://www.bla.com/to#hasGenre> <http://www.bla.com/to#Genre1> .
但是,我更喜欢有前缀的实体,而不是全长的URI。
我正在使用提取数据
map:Genre a d2rq:ClassMap;
d2rq:dataStorage map:database;
d2rq:class to:Genre;
d2rq:uriPattern "http://www.bla.com/to#Genre@@M3.GENRE.GENRE_ID@@";
.
即使我把映射文件改成
d2rq:uriPattern "to:Genre@@M3.GENRE.GENRE_ID@@";
结果是:
<to:Genre1>
它们总是包括< >
默认情况下,dump-rdf
以N-Triples格式生成输出。N-Triples不支持带前缀的名称,所以它总是在尖括号中写出完整的URI。
您想要的是以Turtle格式输出。Turtle支持URI的缩写和前缀名称。所以在文件的开头可以有这样的内容:
@prefix to: <http://www.bla.com/to#>.
声明了这个前缀后,就可以写前缀名称to:Something
,而不是完整的URI <http://www.bla.com/to#Something>
。
您可以通过在命令行中添加-f TURTLE
来指示dump-rdf
使用Turtle输出格式(正如AKSW已经指出的那样)。
请注意,N-Triples对大型数据库更有效,因为消耗的内存更少。