我在理解类/实例/属性的概念时遇到困难。如果我们以以下示例为例:“ Pizza”类,则推断“ Cheesy Pizza”子类= Pizza&HasIngredient一些“ Cheese”。我可以遵循这种逻辑,并且看到自动推断类的用处。
但是,我不了解如何正确使用定量链接/属性。一个使用RDF / OWL的人怎么可能表达以下内容:100克奶酪含10克蛋白质。实例玛格丽塔披萨有250克奶酪?而且,有人可以推断玛格丽塔披萨含有25克蛋白质吗?
答案 0 :(得分:0)
为此,您需要验证定量关系,例如创建QtyOfX作为自己的类。空白节点可以帮助您表达这一点(方括号之间的内容)。
:Cheese a :Ingredient .
:Cheese :hasProteinToGramsRatio 0.1 .
:Pizza1 :hasIngredientQty [ hasQuantityInGrams 250; hasIngridient :Cheese ]
有了这个,您就可以建立您的推论,例如:
:hasIngredientQty(?p,?q) ^ :hasIngredient(?q,?x) ^ :hasProteinToGramsRatio(?x,?r) ^ swrlb:multiply(?proteinCount, ?q, ?r)
-> :hasProteins(?p,?proteinCount)