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