RDF将格式更改为包含前缀

时间:2016-05-10 13:46:54

标签: sparql rdf d2rq

我正在使用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> 

它们始终包含< >

1 个答案:

答案 0 :(得分:2)

默认情况下,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>

您可以通过在命令行中添加dump-rdf来指示-f TURTLE使用Turtle输出格式(正如AKSW已经指出的那样)。

请注意,N-Triples适用于大型数据库,因为消耗的内存较少。