我想进行推断,例如此图中灰色虚线表示的属性:

rdf - Protege 中复杂类的推理-LMLPHP

我已经断言了一个普遍的公理:

(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)

其中 'bitter' 属于 Bitter 类型,'sweet' 属于 Sweet 类型。

我认为 owl:someValuesFrom (或曼彻斯特的“some”)意味着至少必须存在一种这样的关系。然而,在做出大胆的图表断言和一般公理之后,这不会发生。

我怎样才能使这项工作?

编辑(编辑 2,我想通了)

刚刚想到了一个 super 有效的属性(property)链!我只是指定
hasTaste o complements o isTasteOf

作为gosWellWith的 super 属性(property)链。实际上,通过使 hasTaste、hasTexture 等...通用 hasTrait 的所有子属性,然后我可以分别用 hasTrait 和 isTraitOf 替换 hasTaste 和 isTasteOf:
hasTrait o complements o isTraitOf

结果捕获了相互补充的食物特性的每一种排列。

rdf - Protege 中复杂类的推理-LMLPHP

最佳答案

在回答您的问题时,我将 (1) 解释您的方法失败的原因和 (2) 提供可能的解决方案。

为什么你的方法失败了

推理者一般只对基于命名类的推理提供反馈, 而不是匿名类 。在您的示例中 (hasTaste some XXX)goesWellWith some (hasTaste some YYY) 是匿名类,因此它们通常不会构成推理器报告的推理的一部分。

一个可能的解决方案

ObjectProperty: hasIngredient
    Characteristics: Transitive
    Domain:
        FoodCombination
    Range:
        Food

ObjectProperty: hasTaste
    SubPropertyChain:
        hasIngredient o hasTaste
    Characteristics:
        Transitive
    Domain:
        Food
    Range:
        Taste

Class: Bitter
    SubClassOf:
        Taste

Class: BitterSweetCombination
    EquivalentTo:
        (hasTaste some Bitter)
         and (hasTaste some Sweet)
    SubClassOf:
        TastyCombination

Class: CulinaryDish
    SubClassOf:
        FoodCombination

Class: DespicableCombination
    SubClassOf:
        FoodCombination

Class: Food
    DisjointWith:
        Taste

Class: FoodCombination
    SubClassOf:
        Food
    DisjointUnionOf:
        DespicableCombination, TastyCombination

Class: Kale
    SubClassOf:
        Food,
        hasTaste some Bitter
    DisjointWith:
        Pear

Class: Pear
    SubClassOf:
        Food,
        hasTaste some Sweet
    DisjointWith:
        Kale

Class: PearKaleDelight
    SubClassOf:
        CulinaryDish,
        hasIngredient some Kale,
        hasIngredient some Pear

Class: Sweet
    SubClassOf:
        Taste

Class: Taste
    DisjointUnionOf:
        Bitter, Sweet
    DisjointWith:
        Food

Class: TastyCombination
    SubClassOf:
        FoodCombination

该本体将 PearKaleDelight 类分类为 BitterSweetCombination 的子类。

关于rdf - Protege 中复杂类的推理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51690474/

10-13 01:12