I am working with Protege and trying to return a DL Query of all instances without a specific property.
For example, i can return the instances of number (eg. number1, number2, etc) with the property initialValue by using initialValue some Values
How do i make a DL QUERY in Protege that returns the instances of number that dont have the property intialValue?
Thanks in advance
I am not pretty sure, but I don't think this can be done. I think the issue is with the Open World Assumption OWA that is applied in the semantic web and ontologies. Beriefly, we cannot say that something is wrong just because we don't know it. When something is unknown, it is just unknown.
In you case
instances of number that don't have the property intialValue. When anumberhas aninitialValue Valuethat is explicitly stated, then it is clear that it has it. Now, consider that we havenumber1andnumber2instances ofNumberwithout assigninginitialValue Valueto them. This will NOT make the reasoner infer thatnumber1andnumber2don't haveinitialValue Value.To clarify it:
Will return nothing, it's OWA!
I think what you can do as a workaround, you can assert negative property assertions in Protege, which may help but not solve it. Consider we have
v1, instance ofValue. You can state (using Protege for example) thatnumber3doesn't haveinitialValue v1, then you can query:This will retrieve
number3.