如何更改URI中的尾随字符从#到/ in <rdf:rdf xmlns =“”> - owl api

时间:2015-04-30 18:47:37

标签: java owl owl-api

我正在使用OWL API 4.0.1,每当我导出OWL时,我最终都会在rdf:RDF xmlns部分的URI末尾添加一个哈希,例如下面的例子。

 <rdf:RDF xmlns="http://www.example.com/example/Example#">

但是我不想要哈希,我想使用Cool URIs for the Semantic Web中的'/'的303 URI分隔符,看起来像:

 <rdf:RDF xmlns="http://www.example.com/example/Example/">

在rdf:RDF xmlns =“”部分中,我需要做什么才能将尾随字符从#更改为/?

1 个答案:

答案 0 :(得分:0)

RDF / XML名称空间在该特定序列化中用作URI的前缀。即使使用xmlns="...#"定义的空命名空间恰好以#结尾,也无关紧要,除非文档中存在实际使用空命名空间的内容。例如,以下RDF / XML文档具有与您描述的名称空间相似的命名空间:

<rdf:RDF
    xmlns="http://example.com/example#"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:ex="http://example.com/example/">
  <ex:Thing rdf:about="http://example.com/example/Example"/>
</rdf:RDF>

也就是说,该文档只有一个三元组,而且“示例”URI中都没有#

<http://example.com/example/Example> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://example.com/example/Thing> .

我建议您尝试使用N-Triples序列化来编写模型,以便完整地写出所有URI。然后,您可以对有问题的URI ...#进行纯文本搜索,并查看它是否实际发生在模型中的某个位置。仅仅因为它被定义为RDF / XML序列化中的前缀并不意味着在模型中实际上有一个URI 开头。