2

将 RDF-XML 读入 Jena 模型时遇到问题。我用

FileManager fileManager = FileManager.get();
Model model = fileManager.loadModel(url);

资源 URI,例如

http://kulturarvsdata.se/resurser/aukt/geo/county#01

结果像

http://kulturarvsdata.se/resurser/aukt/geo/01

在 Jena 模型的资源中,即 URI 片段部分被剥离。

我试图向 Jena 提供基本 URI:

Model model = fileManager.loadModel(url, "http://kulturarvsdata.se/resurser/aukt/geo/county#", "RDF/XML");

但这没有什么区别。

我是否误解了某些东西,或者有没有办法说服 Jena 保留 URI 片段?

4

1 回答 1

3

我认为您的问题是基本 URI 不像海龟和 SPARQL 中的前缀那样工作。

http://kulturarvsdata.se/resurser/aukt/geo/county开始:

<rdf:RDF xml:base="http://kulturarvsdata.se/resurser/aukt/geo/county#">
    ...

然后你有一个资源:

   <County rdf:about="01">...

rdf:aboutURI 是相对于提供的 base 解析的http://kulturarvsdata.se/resurser/aukt/geo/county#。请注意,我说的是“已解决”而不是“连接”,这是前缀的作用。01相对于碱基解析给出http://kulturarvsdata.se/resurser/aukt/geo/01.

base 末尾的片段 ( #) 在实践中没有任何作用。您需要做的是将您的 abouts 替换为:

<County rdf:about="#01">...

(本质上你不能使用文档库来使所有链接都成为内部链接。内部链接必须使用片段)

于 2013-02-25T16:15:22.773 回答