Turtle-RDF本体(OWL)-可以重用基础吗?

在Turtle中定义本体时,不必复制完整的IRI, 有没有办法重新使用@base:my-base:

  

注意:@base为使用<...>的相对IRI提供前缀。         因此,在下面的示例中,         <Entity>扩展为<http://my-url.com/ontologies/0.1/entity#Entity>

我可以使用前三行中的任何一条,而不是下面(<http://my-url.com/ontologies/0.1/entity>)的第四行吗?

@base          <http://my-url.com/ontologies/0.1/entity#> .
@prefix :      <http://my-url.com/ontologies/0.1/entity#> .
@prefix ent:   <http://my-url.com/ontologies/0.1/entity#> .
@prefix owl:   <http://www.w3.org/2002/07/owl#> .

<http://my-url.com/ontologies/0.1/entity>
  a owl:Ontology .
tongzhi122015528 回答:Turtle-RDF本体(OWL)-可以重用基础吗?

  

注意:@base为使用<...>的相对IRI提供前缀。因此,在下面的示例中,<Entity>扩展为<http://my-url.com/ontologies/0.1/entity#Entity>

您从何处得到这个想法?不是这种情况。 @base没有在<>之间加任何前缀。 @base定义了可解决相对IRI的基本IRI。解决相对IRI比连接两个字符串要复杂得多。

首先,必须从其尾随#和任何片段标识符中剥离基本IRI。因此,如果您写:

@base <http://my-url.com/ontologies/0.1/entity#> .
<> a owl:Ontology .

您的意思是:

<http://my-url.com/ontologies/0.1/entity> a owl:Ontology .

您必须显式添加一个#才能将其放入IRI:

@base <http://my-url.com/ontologies/0.1/entity#> .
<#> a owl:Ontology .

表示:

<http://my-url.com/ontologies/0.1/entity#> a owl:Ontology .

如果要添加非空的片段标识符,则还需要#

@base <http://my-url.com/ontologies/0.1/entity#> .
<#Entity> a owl:Ontology .

表示:

<http://my-url.com/ontologies/0.1/entity#Entity> a owl:Ontology .

第二,如果您在<>之间使用非空字符串,并且它不是片段标识符,那么IRI是通过除去基数的局部部分来构造的,这就是IRI路径的最后/之后出现的内容。例如,

@base <http://my-url.com/ontologies/0.1/entity#> .
<Entity> a owl:Ontology .

表示:

<http://my-url.com/ontologies/0.1/Entity> a owl:Ontology .

另一个例子:

@base <http://my-url.com/something/?uri=http://example.com/anything> .
<Entity> a owl:Ontology .

表示:

<http://my-url.com/something/Entity> a owl:Ontology .

正确地说,这不是您问题的直接答案,但足以让您做出正确的决定。

,

感谢the answer by Antonine Zimmermann, 我想出了这个解决方案:

--user

这样,我可以同时使用@base <http://my-url.com/ontologies/0.1/entity> . @prefix ent: <#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . <> a owl:Ontology . ent:MyClass a owl:Class . 和命名前缀@base,而不必重复基本的IRI。

我选择使用空前缀命名,因为它使代码更易于移植 并使用ent:(可能还有其他工具)创建更好的输出。

本文链接:https://www.f2er.com/3167430.html

大家都在问