On 24/10/16 23:45, Bill Kraus wrote:
Hello.
I am trying to use the Jena OWL reasoner...
Reasoner reasoner = ReasonerRegistry.getOWLReasoner();
OntModelSpec spec = new OntModelSpec(OntModelSpec.OWL_DL_MEM);
spec.setReasoner(reasoner);
OntModel model = ModelFactory.createOntologyModel(spec);
After I save the model and then load it into Protege, I get several log
errors:
Illegal redeclarations of entities: reuse of entity XXX in punning not
allowed (Class: xxx, xxx)
where XXX are the XMLSchema data types. When I don't use a reasoner from
within Jena but instead run a reasoner such as Pellet from within Protege,
everything works fine. I've tried various reasoner types and spec settings
to no avail - obviously, I am doing something wrong. How do I resolve this
issue?
The Jena rule reasoners implement fragments of OWL Full so it's
perfectly possible that some of the entailments around datatypes are not
OWL DL and so rejected by your protege configuration.
Your options include:
- use a DL reasoner in Jena (of which Pellet is the only one I'm
aware of)
- use an OWL Full reasoner in protege or a more lenient protege
configuration (I don't know if that's possible)
- limit what entailments you write out when you save the inference
model so as to avoid the problematic ones
- or create a custom rule set that avoids the problems with xsd types
(at the cost of further limiting the completeness of the inference)
Dave