我对于应该为家庭/基本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 .
答案 0 :(得分:2)
对此没有单一的“最佳实践”。
所有这些都符合Turtle 1.1 specification。
您可以使用任何喜欢的东西。
也就是说,根据我的经验,大多数Turtle作者选择不使用@base
本身,而是根据他们希望共享文档的方式使用命名和未命名@prefix
的混合, /或重用-命名@prefix
通常用于提高人们的理解力,而未命名通常用于保存键入和/或文件大小。