Hello,
I'm bringing a question I posted a yesterday in Stack Overflow (semantic web - Different reasoning results between Stardog and Protege - Stack Overflow).
The problem I'm having is the following: I have designed a ontology using Protege, and added all the tuples in Stardog, but I'm getting different results between the reasoning of both tools.
Let me show you the ontology:
Number
Class: Number
Number DisjointUnionOf OddNumber,EvenNumber
OddNumber
OddNumber subClassOf Number
EvenNumber
EvenNumber subClassOf Number
EvenNumber EquivalentTo hasValue {"2", "4", "6" }
hasValue
DataProperty: hasValue
hasValue Range xsd:string
hasValue SubPropertyOf: owl:topDataProperty
hasValue Domain Number
Functional: hasValue
Then I create two instances called num1 and num2 which are defined as follows:
num1
num1 hasValue "1"^^xsd:string
individual: num1
num1 Type Number
num2
num2 hasValue "2"^^xsd:string
individual: num2
num2 Type Number
When applying reasoning in Protege and Stardog, both reasoners show that num2 is an instance of EvenNumber and Number. When applying the reasoners with num1, Protege says num1 is an instance of OddNumber and Number, while Stardog says num1 is just an instance of Number.
I need Stardog to classify num1 as an OddNumber too. Am I missing some restriction/axiom in order to achieve this behavior? Is it possible to configure Stardog to behave like this?
As I was told in one of the answers, the following axiom is invalid in Protege:
EvenNumber EquivalentTo hasValue {"2", "4", "6" }
and I should be getting an error message in stardog log file. The thing is I'm not getting any error related to this in the log file, and this axiom seem to be working as expected when classifying num2 as a EvenNumber. Again, the problem occurs when Stardog isn't showing num1 as a OddNumber instance.
Any further help about how to resolve this problem would be much appreciated.
Note: I'm using a default installation of Stardog (version 4.2.3) and Protege (version 5.1.0) by default with reasoner Hermit 1.3.8.
Thanks in advance.