为了指定一个rdfs:Class并组织一个本体,我想使用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在这里提供相同的冗余信息?
发布于 2015-02-25 15:49:16
我可以将MyClass定义为SKOS :SKOS属性和RDFS特性的概念吗?
语义Web技术的优点之一是你可以做任何你想做的事情。资源描述框架()负责描述资源。你并不是真正地定义事物,而是描述它们,因为,毕竟,有些人以后还可以说一些额外的东西。
现在,关于描述中的冗余信息,如:
: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" .当然,如果你没有使用推理器,或者预期的消费者没有使用推理器,那么他们就不会知道“我的标签”和“这是一个注释”是资源的RDFS和SKOS标签和注释。实际上,这取决于您期望如何使用这些信息。你真的需要一个rdfs:标签和skos:prefLabel吗?还是你只打算用一个?我建议(这是一种观点),让事情变得更简单是有意义的,直到你需要它们变得更复杂。
其他注释
我可以将MyClass定义为SKOS :SKOS属性和RDFS特性的概念吗?我会有这样的东西: MyClass a rdfs:Class;rdfs:subClassOf :概念;
请注意,您没有“将:MyClass定义为skos:概念性”,而是定义了:MyClass作为skos:概念的子类。“这里有一个很大的区别。如果:MyClass应该是skos:概念,那么您需要说:
:MyClass a rdfs:Class;
a skos:Concept;或者更简单地说:
:MyClass a rdfs:Class, skos:Concept;https://stackoverflow.com/questions/28723029
复制相似问题