RDF 更改格式以包含前缀

RDF change the format to include prefix

我正在使用 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 对于大型数据库效果更好,因为消耗的内存更少。