Ich habe meine Ontologie mit Daten gefüllt, die unter anderem Hour definieren. Nun möchte ich eine Einschränkung für diesen spezifischen Datentyp (Stunde) machen, der als int definiert ist und Werte von 0-23 hat. Die Beschränkung würde auf die Aufteilung der Stunde nach Tag und Nacht zum Beispiel (Stunde min 6 int) und (Stunde max 17 int) für den Tag und die als Objekt definierte Eigenschaft isDay gesetzt, aber das Problem ist die Inferenz nicht geschehen. Vielen Dank im Voraus, EliotProtege Dateityp Einschränkung
0
A
Antwort
1
Sie können eine :DayEvent
Klasse als Unterklasse von :Event
erstellen und dann Beschränkung der Datentypeigenschaft :hour
für den Bereich, den Sie als Tag-Slot angeben mögen erklären, sagen 6 < = DayEvent Stunde < = 17, auf diese Weise:
:DayEvent rdf:type owl:Class ;
owl:equivalentClass [
rdf:type owl:Restriction ;
owl:onProperty :hour ;
owl:someValuesFrom [ rdf:type rdfs:Datatype ;
owl:onDatatype xsd:integer ;
owl:withRestrictions (
[ xsd:minInclusive 6]
[ xsd:maxInclusive 17]
)
]
] ;
rdfs:subClassOf :Event .
Dann werden alle Personen mit Datatype-Eigenschaft :hour
mit Werten innerhalb des angegebenen Bereichs werden als Mitglieder :DayEvent
abgeleitet werden.
Dies funktioniert zumindest mit Protégé 4.3 und 5, mit Reasoners HermiT, FaCT ++ und Pallet.
Die entsprechende Klassendefinition wird in Protégé-Syntax wie folgt aussehen: hour some xsd:integer[>= 6 , <= 17]
.
Datentypen Einschränkungen gelten nicht für Objekteigenschaften, so dass ein Problem sein würde. Ein anderer ist: welcher Reasoner benutzt du? Nicht alle unterstützen benutzerdefinierte Datentypen. – Ignazio
Ich bin nicht sicher, wie es mit einer Objekteigenschaft funktionieren würde, aber wenn Sie eine Klasse 'Event' mit einer Unterklasse' DayEvent' haben, können Sie dafür eine äquivalente Klasse 'eule: onProperty: hour; Eule: someValuesFrom [ xsd: minInclusive "6" ^^ xsd: int; xsd: maxInclusive "17" ^^ xsd: int; eule: onDataRange xsd: Ganzzahl. ]. ' –
@Ignazio, war diese Antwort nützlich? Wie ich es in einem anderen Fall erwähnt habe, lass es mich wissen, wenn es verbessert werden muss. –