我已经被困了两天,试图理解为什么以下场景不起作用:
截图在这里:http ://dl.dropbox.com/u/4677548/screenshots.html
我有一个 VegetarianFood 类(食物的子类),它等同于“食物和(鸡蛋或 MilkAndDerivates 或 VeganFood)”,如您在屏幕截图 1 中所见
VeganFood 类,反过来,相当于其他类(NutsAndSeeds、Cereals、Fruit 等) screenshot 2
如您所见,有两个人(切达奶酪和腰果)被创建为 MilkAndDerivates 和 NutsAndSeeds screenshot 3,他们被正确推断为 VegetarianFood 和 VeganFood 成员
然后,我使用对象属性 hasIngredient 截图 4 和 5 创建了两个个体作为食谱,一个仅使用腰果 (PastaVega),另一个使用切达干酪和腰果 (PastaVege)
并且它们被推断为Recipe...但没有一个属于VegatarianRecipe和VeganRecipe的类别,定义如下截图6和7
我没有线索,为什么他们没有被推断为 VegetarianRecipe(或素食主义者)?我错过了什么?
编辑:
如果我将 VegetarianRecipe(或素食主义者)从“Recipe and (hasIngredient ONLY VegetarianFood)”更改
到“食谱和(有一些素食)”
截图 8
显示了个人的收据,但这当然不是我想要做的,因为这样它将包括混合肉类和素食的食谱。那么如何定义一个vegetarianrecipe 和veganrecipe 类以允许推理者正确推断出一个食谱是素食还是纯素食????