2017-06-15 26 views
1

我想表达以下类型的公理:Protege:如何表达一个公理,指出A类与具有数据值X的B类有关?

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

我已经试过definig下面的类表达式:

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 

当我跑了球团推理,我是前因为与该水有关的熔化温度(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 
+0

我想通了。表达式应该是: Water SubClassOf(hasPhysicalQuality only(MeltingTemperature and hasValue value 100.0f)) – mrclutch31

+0

给你的评论:如果'this_water'还有'BoilingTemperature'会怎么样? –

+0

这是真的......我的解决方案仅解决了具有一个物理量的情况。如果有人提出了更好的解决方案,那将会很棒。 – mrclutch31

回答

0

你应该让你的数据属性的功能 - 或者,正如你所说的意见,申请基数限制。

+0

我需要制作数据属性函数,并对每个特定属性的对象属性设置基数限制。 – mrclutch31

相关问题