From 6b8a194a13fad5196aa57c7a46d8c58c00c6ea9d Mon Sep 17 00:00:00 2001 From: Guillaume Poirier-Morency Date: Sun, 17 Sep 2023 11:34:33 -0700 Subject: [PATCH] Use Jena 2.12.1 implementation of the rulesys reasoner The implementation supplied by Jena 2.7 is very inefficient because it has a O(n^2) complexity for inferring axioms. This is achieved by shading Jena under ubic.basecode.ontology.jena.impl package namespace. It also implicates that baseCode does not depend on Jena anymore. Jena 2.13.0 has breaking implementation changes and cannot be integrated this way. --- pom.xml | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/pom.xml b/pom.xml index e83c2a14..39cd22ae 100644 --- a/pom.xml +++ b/pom.xml @@ -347,6 +347,100 @@ + + org.apache.maven.plugins + maven-dependency-plugin + 3.3.0 + + + unpack-jena-rete-engine + generate-sources + + unpack + + + + + org.apache.jena + jena-core + 2.12.1 + sources + ${project.build.directory}/generated-sources/jena-core + com/hp/hpl/jena/reasoner/rulesys/impl/*.java,com/hp/hpl/jena/graph/NodeFactory.java + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.3.0 + + + generate-sources + + add-source + + + + ${project.build.directory}/generated-sources/jena-core + + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.5.0 + + + package + + shade + + + + + org.apache.jena:* + + + + + org.apache.jena:* + + com/hp/hpl/jena/**/* + org/apache/jena/**/* + org/openjena/**/* + etc/**/* + vocabularies/**/* + + + + com/hp/hpl/jena/reasoner/rulesys/impl/**/* + + + + + + + com.hp.hpl.jena + ubic.basecode.ontology.jena.impl + + + org.apache.jena + ubic.basecode.ontology.jena.impl + + + org.openjena + ubic.basecode.ontology.jena.impl + + + + + + org.apache.maven.plugins maven-compiler-plugin