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