Ich versuche, ein Axiom der folgenden Art auszudrücken:Protege: Wie kann man ein Axiom ausdrücken, das besagt, dass Klasse A mit Klasse B verwandt ist, die den Datenwert X hat?
„Wasser hat einige physikalische Größe Schmelztemperatur, die einen Wert von 100,0 hat:“ Ich habe
versucht, die folgende Klasse Ausdruck definig:
Water SubClassOf (hasPhysicalQuality some (MeltingTemperature and hasValue value 100.0f))
Und ich habe die folgenden Aussagen:
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
Als ich das Pellet reasoner lief, war ich ab Inkonsistenz zu finden, da die auf dieses Wasser bezogene Schmelztemperatur (this_temperature) einen Wert von 50,0f, nicht 100,0f hat. Der Reasoner gab jedoch keine Inkonsistenz an.
Was mache ich hier falsch?
EDIT: Die richtigen Axiome erforderlich waren:
Water SubClassOf (hasPhysicalQuantity exactly 1 MeltingTemperature)
Water SubClassOf (hasPhysicalQuanlity some (MeltingTemperature and (hasValue value 100.0f)
hasValue Type owl:FunctionalProperty
Ich habe es herausgefunden. Der Ausdruck hätte sein sollen: Water SubClassOf (nur hasPhysicalQuality (MeltingTemperature und hasValue Wert 100.0f)) – mrclutch31
Zu Ihrem Kommentar: Was ist, wenn 'This_water' auch' BoilingTemperature' hat? –
Das ist wahr ... meine Lösung löst nur den Fall, wenn es eine physikalische Größe hat. Es wäre toll, wenn jemand anderes eine bessere Lösung vorschlagen würde. – mrclutch31