Syntax 我可以混合skos属性和rdfs属性来定义类吗?

Syntax 我可以混合skos属性和rdfs属性来定义类吗?,syntax,rdf,semantic-web,rdfs,skos,Syntax,Rdf,Semantic Web,Rdfs,Skos,为了指定一个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

为了指定一个
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";
    .
:MyClass a rdfs:Class;
    rdfs:subClassOf skos:Concept;
我知道一些RDFS属性可以映射到SKOS属性上。那么,对这种语法有兴趣吗?RDF和SKO在这里提供相同的冗余信息

我可以用skos属性和RDF将:MyClass定义为skos:概念吗 猪

语义网技术的一个优点是,你可以做任何你想做的事情。资源描述框架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" .
当然,如果您没有使用推理机,或者预期消费者没有使用推理机,那么他们就不会知道“我的标签”和“这是一条注释”是资源的RDFS和SKOS标签和注释。这实际上取决于您希望如何使用这些信息。无论如何,您真的需要rdfs:label和skos:prefLabel吗?还是你只打算用一个?我建议(这是一种观点),在你需要变得更复杂之前,让事情更简单是有意义的

其他注释 我可以用skos属性和RDF将:MyClass定义为skos:概念吗 猪?我想要这样的东西:

: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";
    .
:MyClass a rdfs:Class;
    rdfs:subClassOf skos:Concept;
请注意,您没有“将:MyClass定义为skos:Concept”,而是将:MyClass定义为skos:Concept的子类。“这有很大的区别。如果:MyClass应该是skos:Concept,您需要说:

:MyClass a rdfs:Class;
         a skos:Concept;
或者更简洁地说:

:MyClass a rdfs:Class, skos:Concept;