On 30/07/2020 15:42, Ashwani Rathi wrote:
Hi,
We are upgrading Jena from version 2.8.8
I think you mean ARQ-2.8.8 (2011-04-21), which is a pre-Apache release.
It uses jena 2.6.4 (2010-12-10) - sourceforge releases.
License differences obviously.
I don't believe there was a Jena 2.8.8, at least not an official one.
At Apache, Jena releases start 2.7, or 2.9 for ARQ, then jump to 2.10
(and that was 2013) to sync numbering.
In summary - long time ago, big jump. Including RDF 1.0 to RDF 1.1
(which affects string literals).
to the latest one available 3.16.0
Now we have the following code to initialize OntModel from a .owl input file
public static OntModel getOntModel()
throws BusinessArchitectureException
How can this throw BusinessArchitectureException? Is this the real code
or an extract?
{
OntModel ontModel = null;
OntModelSpec s = new
OntModelSpec(OntModelSpec.OWL_MEM_MICRO_RULE_INF);
//FileManager fileMgr = FileManager.get(); // Used for Jena 2
FileManager fileMgr = FileManagerImpl.get(); // Used for Jena 3
try {
Model model =
fileMgr.loadModel(REPORTS_EXTENSION_OWL_FILE_PATH);
No need to use "impl" classes:
Model model = RDFDataMgr.loadModel(REPORTS_EXTENSION_OWL_FILE_PATH);
ontModel = ModelFactory.createOntologyModel(s, model);
}
catch (Exception e) {
e.printStackTrace();
}
return ontModel;
}
This code when used in Jena 2 generated 235 OntClasses
(ontModel.listClasses()), but with Jena 3 it created only 23 OntClasses.
Difference is the classes like the following which are only generated while
using Jena 2:
OntClass ----------- 74a1eaff:173a0249c84:-7f26
OntClass ----------- 74a1eaff:173a0249c84:-7ffb
which are blank nodes.
So, Jena3 only shows named classes?
Does the file have the same number of triples when parsed with Jena2 as
with Jena3?
Have you tried bisecting on jena versions to see where the change
happened? jena 2.7 and 2.10 onwards are in maven central so it is a
matter of changing versions in a pom.xml/build.gradle file
Because of these missing classes, we are running in to issues.
Which are?
I ask because if it is because of a bug fix, then the application code
might be doing something strange.
So just wanted to check why are these extra ont classes not getting generated
with Jena 3 when we are using the same input file.
Has something changed in the api implementation?
That seems to be a question that is probably about the data.
Maybe something changed but in almost 10 years and no data to see it is
hard to know.
Do we need to use some other createOntologyModel api in Jena 3 or need to do it
some other way?
Kindly respond
Regards,
Ashwani
Andy