使用RDF/S开发基本本体的疑问:本体重用和;实例与继承”;

使用RDF/S开发基本本体的疑问:本体重用和;实例与继承”;,rdf,ontology,rdfs,Rdf,Ontology,Rdfs,我正在尝试使用RDF和RDF模式开发一个简单的“本体” 目前,我已经编写了以下类和属性: 。。。 ... ... 我想将“模型”(即模型实例)定义为一组“概念”。 因此,这样的“模型”实例将“表示”一个“系统”:然后可以使用该“模型”中定义的“概念”来描述“系统”(为此,我可以创建一个类“SystemDescription”) 现在,我的疑问如下: 我想将概念定义为“Concept”的子类,但是“includes”属性需要它们是实例,以便与“Model”实例建立关系;换句话说,我的概念将rdf

我正在尝试使用RDF和RDF模式开发一个简单的“本体”

目前,我已经编写了以下类和属性:

。。。
...
...
我想将“模型”(即模型实例)定义为一组“概念”。 因此,这样的“模型”实例将“表示”一个“系统”:然后可以使用该“模型”中定义的“概念”来描述“系统”(为此,我可以创建一个类“SystemDescription”)

现在,我的疑问如下:

  • 我想将概念定义为“Concept”的子类,但是“includes”属性需要它们是实例,以便与“Model”实例建立关系;换句话说,我的概念将rdf:type和rdfs:subassof都设置为“概念”——这是一种好方法吗? (在我看来,这个问题要求我的概念既是实例又是类)

  • 假设我想重用SKOS(简单知识组织系统)本体:可以将“模型”定义为SKOS:ConceptScheme的子类(或将“概念”定义为SKOS:Concept的子类)吗


  • 更具体地说,您对我考虑此类建模问题的方法有什么建议吗?

    您的问题,顺序如下:

    1) 当然,这在技术上是可能的,但在我看来,这不是一个好方法。无论从人类理解的角度还是从逻辑的角度来看,它都会立即使您的本体变得更加复杂:它将您的本体置于推理工具无法处理的复杂类(OWL Full)中

    OWL2(特别是)中有一种机制,在特定情况下为这个问题提供了解决方法。然而,它确实增加了复杂性,所以我不明白你为什么想要这个。你有一个类
    概念
    ,它作为一个类的全部意义在于它有单独的概念作为它的实例。为什么您希望它们也是子类

    2) 是的,那太好了

    至于一般建议:我认为你目前的方法看起来不错。KISS原则适用于本体建模,就像它适用于任何设计实践一样。但这在很大程度上取决于您的实际需求——请参阅我之前关于概念成为子类的评论:如果您有很好的理由想要这样做,您可能需要一种替代方法,但是如果我们不知道需求的原因,就不可能推荐替代方法