我可以混合使用 skos 属性和 rdfs 属性来定义 class 吗?
Can I mix skos properties with rdfs properties to define a class?
要指定一个rdfs:Class
并组织一个ontology,我想使用SKOS。目前我使用 RDFS 属性定义我的 类 :
:MyClass a rdfs:Class;
rdfs:label "my label";
rdfs:comment "this is a comment";
.
我可以将 :MyClass
定义为具有 SKOS 属性和 RDFS 属性的 skos:Concept
吗?我想要那样的东西:
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment";
.
我 read 一些 RDFS 属性可以映射到 SKOS 属性。那么,对这种语法有兴趣吗? RDFS 和 SKOS 在这里给出相同的冗余信息 ?
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS
porperties ?
语义 Web 技术的优点之一是您可以做任何您想做的事情。 RDF,资源描述框架 关注描述资源。你并不是真正地定义事物,而是描述它们,因为毕竟有人可以稍后再说一些其他的东西。
现在,关于描述中的冗余信息,例如:
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment" .
这没有什么关系,尽管如您所说,在某些情况下有点多余。如果您愿意,您可以 做的是声明您自己的属性,这些属性是 RDFS 和 SKOS 属性的子属性。例如,您可以:
:myComment rdfs:subPropertyOf rdfs:comment, skos:notes .
:myLabel rdfs:subPropertyOf rdfs:label, skos:label .
然后你可以说
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
:myLabel "my label" ;
:myComment "this is a comment" .
当然,如果您没有使用 reasoner,或者目标消费者没有使用 reasoner,那么他们不会知道 "my label" "this is a comment"是资源的RDFS和SKOS标签和注释。这实际上取决于您希望如何使用这些信息。无论如何,你真的需要 rdfs:label 和 skos:prefLabel 吗?或者你只打算使用一个?我建议(这是一种观点)让事情变得 更简单 是有意义的,直到你需要它们变得更复杂。
其他说明
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS
porperties ? I would have something like that :
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
请注意,您没有 "define :MyClass as a skos:Concept",而是将 :MyClass 定义为 skos:Concept 的子类。”这里有很大的不同。如果 :MyClass 应该是 skos:Concept,你需要说:
:MyClass a rdfs:Class;
a skos:Concept;
或者更简洁:
:MyClass a rdfs:Class, skos:Concept;
要指定一个rdfs:Class
并组织一个ontology,我想使用SKOS。目前我使用 RDFS 属性定义我的 类 :
:MyClass a rdfs:Class;
rdfs:label "my label";
rdfs:comment "this is a comment";
.
我可以将 :MyClass
定义为具有 SKOS 属性和 RDFS 属性的 skos:Concept
吗?我想要那样的东西:
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment";
.
我 read 一些 RDFS 属性可以映射到 SKOS 属性。那么,对这种语法有兴趣吗? RDFS 和 SKOS 在这里给出相同的冗余信息 ?
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS porperties ?
语义 Web 技术的优点之一是您可以做任何您想做的事情。 RDF,资源描述框架 关注描述资源。你并不是真正地定义事物,而是描述它们,因为毕竟有人可以稍后再说一些其他的东西。
现在,关于描述中的冗余信息,例如:
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
rdfs:label "my label";
skos:prefLabel "my label";
rdfs:comment "this is a comment";
skos:notes "this is a comment" .
这没有什么关系,尽管如您所说,在某些情况下有点多余。如果您愿意,您可以 做的是声明您自己的属性,这些属性是 RDFS 和 SKOS 属性的子属性。例如,您可以:
:myComment rdfs:subPropertyOf rdfs:comment, skos:notes .
:myLabel rdfs:subPropertyOf rdfs:label, skos:label .
然后你可以说
:MyClass a rdfs:Class;
rdfs:subClassOf skos:Concept;
:myLabel "my label" ;
:myComment "this is a comment" .
当然,如果您没有使用 reasoner,或者目标消费者没有使用 reasoner,那么他们不会知道 "my label" "this is a comment"是资源的RDFS和SKOS标签和注释。这实际上取决于您希望如何使用这些信息。无论如何,你真的需要 rdfs:label 和 skos:prefLabel 吗?或者你只打算使用一个?我建议(这是一种观点)让事情变得 更简单 是有意义的,直到你需要它们变得更复杂。
其他说明
Can I define :MyClass as a skos:Concept with SKOS properties and RDFS porperties ? I would have something like that :
:MyClass a rdfs:Class; rdfs:subClassOf skos:Concept;
请注意,您没有 "define :MyClass as a skos:Concept",而是将 :MyClass 定义为 skos:Concept 的子类。”这里有很大的不同。如果 :MyClass 应该是 skos:Concept,你需要说:
:MyClass a rdfs:Class;
a skos:Concept;
或者更简洁:
:MyClass a rdfs:Class, skos:Concept;