我可以将 skos 属性与 rdfs 属性混合来定义类吗?

Thi*_*and 4 syntax rdf semantic-web rdfs skos

为了指定rdfs:Class并组织本体,我想使用 SKOS。目前我使用 RDFS 属性定义我的类:

:MyClass a rdfs:Class;
    rdfs:label "my label";
    rdfs:comment "this is a comment";
    .
Run Code Online (Sandbox Code Playgroud)

我可以定义:MyClassskos:Concept具有 SKOS 属性和 RDFS 属性吗?我想要这样的东西:

: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";
    .
Run Code Online (Sandbox Code Playgroud)

读到一些 RDFS 属性可以映射到 SKOS 属性。那么,大家对这个语法感兴趣吗?RDFS 和 SKOS 在这里给出相同的冗余信息?

Jos*_*lor 5

我可以将 :MyClass 定义为具有 SKOS 属性和 RDFS 属性的 skos:Concept 吗?

语义 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" .
Run Code Online (Sandbox Code Playgroud)

这没有什么关系,尽管正如你所说,在某些情况下它有点多余。如果您愿意,您可以做的是声明您自己的属性,这些属性是 RDFS 和 SKOS 属性的子属性。例如,你可以:

:myComment rdfs:subPropertyOf rdfs:comment, skos:notes .
:myLabel rdfs:subPropertyOf rdfs:label, skos:label .
Run Code Online (Sandbox Code Playgroud)

然后你可以说

 :MyClass a rdfs:Class;
    rdfs:subClassOf skos:Concept;
    :myLabel "my label" ;
    :myComment "this is a comment" .
Run Code Online (Sandbox Code Playgroud)

当然,如果你没有使用reasoner,或者目标消费者没有使用reasoner,那么他们不会知道“我的标签”和“这是一条评论”是RDFS和SKOS的标签和评论资源。这实际上取决于您希望如何使用这些信息。无论如何,您真的需要 rdfs:labelskos:prefLabel 吗?或者你只打算使用一个?我建议(这是一个观点),让事情变得更简单是有意义的,直到你需要它们变得更复杂为止。

其他注意事项

我可以将 :MyClass 定义为具有 SKOS 属性和 RDFS 属性的 skos:Concept 吗?我想要这样的东西:

:MyClass a rdfs:Class;
    rdfs:subClassOf skos:Concept;
Run Code Online (Sandbox Code Playgroud)

请注意,您没有“将 :MyClass 定义为 skos:Concept”,而是将 :MyClass 定义为 skos:Concept 的子类。”这里有很大的区别。如果 :MyClass 应该是 skos:Concept,你需要说:

:MyClass a rdfs:Class;
         a skos:Concept;
Run Code Online (Sandbox Code Playgroud)

或者更简洁:

:MyClass a rdfs:Class, skos:Concept;
Run Code Online (Sandbox Code Playgroud)