Protege:如何表达一个公理,说明A类与具有数据值X的B类有关?

时间:2017-06-15 20:08:32

标签: owl ontology protege

我试图表达以下类型的公理:

“水有一些称为熔化温度的物理量,其值为100.0”

我尝试过定义以下类表达式:

Water SubClassOf (hasPhysicalQuality some (MeltingTemperature and hasValue value 100.0f))

我有以下断言:

Water               Type                 owl:Class
hasPhysicalQuality  Type                 owl:ObjectProperty
hasValue            Type                 owl:DataProperty

this_water          Type                 Water
this_temperature    Type                 MeltingTemperature
this_water          hasPhysicalQuality   this_temperature
this_temperature    hasValue             50.0f

当我运行Pellet推理器时,我期望发现不一致,因为与this_water相关的熔化温度(this_temperature)的值为50.0f,而不是100.0f。但是,推理者没有表明任何不一致。

我在这里做错了什么?

编辑:所需的正确公理是:

Water SubClassOf (hasPhysicalQuantity exactly 1 MeltingTemperature)
Water SubClassOf (hasPhysicalQuanlity some (MeltingTemperature and (hasValue value 100.0f)
hasValue Type owl:FunctionalProperty

1 个答案:

答案 0 :(得分:0)

您应该使您的数据属性正常运行 - 或者,正如您在评论中所说,应用基数限制。