Turtle中“基本” IRI的最佳实践是什么-@base,空前缀或命名前缀?

时间:2019-11-04 10:37:28

标签: syntax rdf turtle-rdf

我对于应该为家庭/基本IRI使用这三种语法中的哪一种感到困惑。

有人会认为最好使用@base,但这是我在任何示例中都未曾使用过的三个中的唯一一个。

  

注意:@base为使用<...>的相对IRI提供前缀。         因此,在下面的示例中,         <Entity>扩展为<http://my-url.com/ontologies/0.1/entity#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#> .
@prefix dc:    <http://purl.org/dc/elements/1.1/> .
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .


# Ontology

<http://my-url.com/ontologies/0.1/entity>
  a owl:Ontology ;
  dc:title "MyEntity"@en ;
  dc:description "A definition of some kind of abstract entity"@en .


# Classes

<Entity>
  a owl:Class ;
  rdfs:label "Entity" ;
  rdfs:comment "My kind of entity." .

:Author
  a owl:Class ;
  rdfs:label "Entity" ;
  rdfs:comment "My kind of entity." .


# Properties

# Each entity must have exactly one author
ent:author
  a owl:ObjectProperty ;
  rdfs:domain :Entity ;
  rdfs:range <Author> ;
  owl:cardinality 1 .

1 个答案:

答案 0 :(得分:2)

对此没有单一的“最佳实践”。

所有这些都符合Turtle 1.1 specification

您可以使用任何喜欢的东西。

也就是说,根据我的经验,大多数Turtle作者选择不使用@base本身,而是根据他们希望共享文档的方式使用命名和未命名@prefix的混合, /或重用-命名@prefix通常用于提高人们的理解力,而未命名通常用于保存键入和/或文件大小。