【问题标题】:Properties inheritance between ontologies (without SubPropertyOf)本体之间的属性继承(没有 SubPropertyOf)
【发布时间】:2017-01-03 03:26:36
【问题描述】:

我,

我需要一些关于本体之间属性继承的精确度。

我想创建一个本体,它将尽可能频繁地使用标准本体中定义的属性(例如:foaf、vcard、bio 等...)。我只是不想重新创建一个类的属性,如果它已经存在于另一个(或许多其他)智能定义的本体中。

举个例子吧。

我必须描述一个人。我的本体中的“人”有一些标准属性,这些属性已经在 foaf 中描述过。但是,就我而言,它还具有一些特定于我的业务的属性(假设我在“客户关系”域中工作),以及一些特定于我的组织的属性。

我已经确定了一些解决方案:

  • 通过 owl:SubClassOf 使用“多重”继承,即使语义相同(SubClassOf 暗示语义接近但不完全相同“子类关系为属于一个类提供了必要条件”。但是我的 Person 类和 foaf 的语义相同:Person,我只是想了解更多)。

  • 使用 owl:SameAs :这个属性是否让一个类继承另一个类的属性?

  • 使用 rdf:type(例如:myontology:Person has for rdf:type owl:class, foaf:Person, anotherontology:Person)...

还有其他解决方案可以正确执行此操作吗?

提前谢谢你!

【问题讨论】:

    标签: inheritance owl


    【解决方案1】:

    我会尽量给你一个可能部分的答案。 首先,绝对重要的是要知道,FOAF ontology 是纯 RDF,而不是 OWL。

    FOAF 本体不包含类 foaf:Personrdfs:subClassOf 公理,除了(在曼彻斯特 OWL 语法中)

    Class: Person
         SubClassOf: Agent, SpatialThing
    

    如果您的 person 类是 foaf:Person 的子类,那么您将通过推理得到的唯一信息是您的类也是 foaf:Agentfoaf:SpatialThing 的子类。

    您在documentation 中看到的属性列表只是域为foaf:Person 的属性。例如。对于foaf:surname,FOAF 本体包含公理

    foaf:surname rdfs:domain foaf:Person
    

    这与子类公理不同,即每个人都有一个姓氏,这是一个字符串值(在奇怪的 RDF 三重表示法中):

    foaf:surname rdfs:subClassOf _:x .
    _:x rdf:type owl:Restriction .
    _:x owl:onProperty foaf:surname .
    _:x owl:someValuesFrom xsd:string .
    

    相反,域只是表示“所有有姓的人都是人”的语法糖。

    owl:sameAs 用于表示两个人表示同一个现实世界的实体,因此,它不用于类。在 RDFS 中,您可以简单地在两个方向上使用 rdfs:subClassOf,OWL 有一个快捷方式,称为 owl:equivalentClass

    rdf:type 用于将个人声明为类。

    【讨论】:

      【解决方案2】:

      除非我完全误解了你的情况,否则你不需要为此做任何“困难”的事情。只需使用标准的 FOAF Person 类,并根据需要添加其他属性。例如,您可以像这样定义自己的自定义属性:

      ex:myCustomerRelationProperty a owl:ObjectProperty ;
                                    rdfs:domain foaf:Person .
      

      然后有这样一个人的数据:

      ex:person0001 a foaf:Person ;
                    foaf:surname "Doe";
                    foaf:firstName "John"; 
                    .... // etc other FOAF properties
                    ex:myCustomerRelationProperty ex:someValue .
      

      完成。没有继承,或相同的映射,或任何其他必要的。

      【讨论】:

      • 感谢您的回答。这就是我需要的;-)
      • @Skeepy 没问题。不过,与其在评论中感谢我,您可以投票和/或接受有帮助的答案吗?
      • 嗯,我做到了,但我的声望分数似乎不够高,无法看到我的投票。它需要 15 点声望才能可见... ;-)
      猜你喜欢
      • 2017-02-09
      • 1970-01-01
      • 2022-12-18
      • 2012-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多