我正在使用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 =“”部分中,我需要做什么才能将尾随字符从#更改为/?
答案 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 以开头。