1
votes

I implementing my ontology model on Protege. I have a class Sensor which has some subclasses e.g. subclass Refrigerator. If a Refrigerator-144 is activated I want to save the activation time. I have a data property hasTime for this. Because, I do not know the activation time I want to be NULL. But, It seems that it is not acceptable by Protege because I cannot run the Reasoner after this.

:Refrigerator-144 a owl:NamedIndividual , :Refrigerator ;
:hasTime ""^^xsd:dateTime .
1
What means "cannot run the reasoner"? How to you try to run the reasoner? And which reasoner?UninformedUser
I used FaCT++ and HermiT when I have NULL literal if I click on reasoner it will not run. I have Protege 5 on macAli

1 Answers

2
votes

OWL does not have NULL values. A missing value for a property means that there is no assertion with that property for that individual. Creating a literal of type xsd:dateTime with a value of "" will result in an unparsable assertion, which Protege should stop you from entering.

Reasoners should not be affected because the invalid assertion should not have been created.

However, if the triple as you show it is added to the ontology, a reasoner would be correct in rejecting it as an invalid ontology. The empty string does not belong to the value space for xsd:dateTime.