Protege:如何表达一个公理,说明 class A 与具有数据值 X 的 class B 相关?
Protege: How to express an axiom stating that class A is related to class B that has data value X?
我正在尝试表达以下类型的公理:
"Water has some physical quantity called melting temperature, which has a value of 100.0"
我试过定义以下 class 表达式:
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 reasoner 时,我期待发现不一致,因为与 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
您应该使您的数据 属性 发挥作用 - 或者,如您在评论中所说,应用基数限制。
我正在尝试表达以下类型的公理:
"Water has some physical quantity called melting temperature, which has a value of 100.0"
我试过定义以下 class 表达式:
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 reasoner 时,我期待发现不一致,因为与 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
您应该使您的数据 属性 发挥作用 - 或者,如您在评论中所说,应用基数限制。