Protege 中复杂类的推理

Was*_*amo 5 rdf semantic-web owl rdfs protege

我想做出如下推论,比如图中灰色虚线代表的属性:

羽衣甘蓝与梨很相配,因为它的味道很苦,可以补充梨的甜味

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

(hasTaste some Bitter) SubClassOf: goesWellWith some (hasTaste some Sweet)
Run Code Online (Sandbox Code Playgroud)

其中“bitter”是“Bitter”类型,“sweet”是“Sweet”类型。

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

我怎样才能做到这一点?

编辑(编辑2,我明白了)

我只是想到了一个可以用的超级房产链!我只是指定

hasTaste o complements o isTasteOf
Run Code Online (Sandbox Code Playgroud)

作为gosWellWith的超级地产链。事实上,通过制作 hasTaste、hasTexture 等...通用 hasTrait 的所有子属性然后我可以分别用 hasTaste 和 isTraitOf 替换 hasTaste 和 isTasteOf :

hasTrait o complements o isTraitOf
Run Code Online (Sandbox Code Playgroud)

结果捕捉到了彼此互补的食品特性的每一种排列。

在此输入图像描述

Hen*_*mse 3

在回答您的问题时,我将(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
Run Code Online (Sandbox Code Playgroud)

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