Openllet is just a fork of Pellet, which in fact does support full OWL 2 DL, thus, allows punning.

On 24.10.21 20:28, Dave Reynolds wrote:
On 24/10/2021 12:42, Steve Vestal wrote:
I omitted a detail that seems to be important.

                         //OntModel m = ModelFactory.createOntologyModel();                          OntModel m = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM);
                         String uri = "http://ex.org/A";;
                         OntClass cls = m.createClass(uri);
                         cls.createIndividual(uri);
                         System.out.println("Test model " + uri);
                         m.write(System.out, "Turtle");

If I run the version without an OntModelSpec, it works.  If I run the version with OntModelSpec.OWL_DL_MEM, then I get a ConversionException. I am running Jena 3.17.

Use the OWL_MEM* OntModelSpecs not OWL_DL_MEM. OWL_MEM is set up to support OWL Full and so allows punning.

OWL_MEM itself does not include any reasoner configuration, but then none is needed for this test case case. The OWL_MEM rule reasoner configurations support various subsets of OWL full so are also compatible with punning.

The Javadoc says the default is a "weak reasoner."  I may be able to work around this in this one app, but I'm wondering what will happen when the model is later loaded with another choice of reasoner such as OWL_DL_MEM or Openllet.

OWL_DL_MEM doesn't include any reasoner, I can't speak to what Openllet supports in the way of punning.

Dave

Reply via email to