diff --git a/minerva-core/pom.xml b/minerva-core/pom.xml index e5e4cfac..4815a330 100644 --- a/minerva-core/pom.xml +++ b/minerva-core/pom.xml @@ -54,6 +54,10 @@ apache-jena-libs pom + + org.apache.jena + jena-commonsrdf + net.sf.trove4j trove4j @@ -73,6 +77,10 @@ org.apache.jena * + + org.apache.commons + commons-rdf-jena + diff --git a/minerva-core/src/main/java/org/geneontology/minerva/BlazegraphMolecularModelManager.java b/minerva-core/src/main/java/org/geneontology/minerva/BlazegraphMolecularModelManager.java index 72241617..7c65c858 100644 --- a/minerva-core/src/main/java/org/geneontology/minerva/BlazegraphMolecularModelManager.java +++ b/minerva-core/src/main/java/org/geneontology/minerva/BlazegraphMolecularModelManager.java @@ -7,8 +7,6 @@ import info.aduna.iteration.Iterations; import org.apache.commons.io.FileUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.rdf.jena.JenaGraph; -import org.apache.commons.rdf.jena.JenaRDF; import org.apache.jena.graph.Graph; import org.apache.jena.shex.ShapeMap; import org.apache.jena.shex.ShexReport; @@ -243,14 +241,10 @@ private void writeModelToDatabase(OWLOntology model, IRI modelId) throws Reposit } private List preSaveFileHandler(OWLOntology model) throws UnknownIdentifierException { - List allChanges = null; + List allChanges = new ArrayList<>(); for (PreFileSaveHandler handler : preFileSaveHandlers) { List changes = handler.handle(model); if (changes != null && !changes.isEmpty()) { - if (allChanges == null) { - allChanges = new ArrayList( - changes.size()); - } allChanges.addAll(changes); } } diff --git a/minerva-core/src/main/java/org/geneontology/minerva/validation/ShexValidator.java b/minerva-core/src/main/java/org/geneontology/minerva/validation/ShexValidator.java index 404cf49c..5c2d4adc 100644 --- a/minerva-core/src/main/java/org/geneontology/minerva/validation/ShexValidator.java +++ b/minerva-core/src/main/java/org/geneontology/minerva/validation/ShexValidator.java @@ -14,13 +14,15 @@ import fr.inria.lille.shexjava.validation.Status; import fr.inria.lille.shexjava.validation.Typing; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.rdf.api.RDF; -import org.apache.commons.rdf.api.RDFTerm; -import org.apache.commons.rdf.jena.JenaGraph; -import org.apache.commons.rdf.jena.JenaRDF; +import org.apache.commons.rdf.api.*; import org.apache.commons.rdf.simple.SimpleRDF; +import org.apache.jena.commonsrdf.JenaCommonsRDF; +import org.apache.jena.commonsrdf.JenaRDF; +import org.apache.jena.commonsrdf.impl.JenaGraph; import org.apache.jena.query.*; import org.apache.jena.rdf.model.*; +import org.apache.jena.rdf.model.Literal; +import org.apache.jena.sys.JenaSystem; import org.apache.log4j.Logger; import org.geneontology.minerva.BlazegraphOntologyManager; import org.geneontology.minerva.curie.CurieHandler; @@ -34,7 +36,9 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import java.util.UUID; import java.util.concurrent.*; +import java.util.stream.Stream; /** * @author bgood @@ -67,6 +71,7 @@ public ShexValidator(File shex_schema_file, File shex_map_file, BlazegraphOntolo } public void init(File shex_schema_file, File shex_map_file, BlazegraphOntologyManager go_lego, CurieHandler curieHandler_) throws Exception { + JenaSystem.init(); schema = GenParser.parseSchema(shex_schema_file.toPath()); GoQueryMap = makeGoQueryMap(shex_map_file.getAbsolutePath()); //tbox_reasoner = tbox_reasoner_; @@ -115,9 +120,8 @@ public static Map makeGoQueryMap(String shapemap_file) throws IO public ShexValidationReport runShapeMapValidation(Model test_model) { boolean explain = true; ShexValidationReport r = new ShexValidationReport(); - JenaRDF jr = new JenaRDF(); //this shex implementation likes to use the commons JenaRDF interface, nothing exciting here - JenaGraph shexy_graph = jr.asGraph(test_model); + Graph shexy_graph = JenaCommonsRDF.fromJena(test_model.getGraph()); boolean all_good = true; try { Typing all_typed = runRefineWithTimeout(shexy_graph); @@ -251,7 +255,7 @@ public ShexValidationReport runShapeMapValidationWithRecursiveSingleNodeValidati ShexValidationReport r = new ShexValidationReport(); JenaRDF jr = new JenaRDF(); //this shex implementation likes to use the commons JenaRDF interface, nothing exciting here - JenaGraph shexy_graph = jr.asGraph(test_model); + Graph shexy_graph = JenaCommonsRDF.fromJena(test_model.getGraph()); //recursive only checks the focus node against the chosen shape. RecursiveValidationWithMemorization shex_model_validator = new RecursiveValidationWithMemorization(schema, shexy_graph); //for each shape in the query map (e.g. MF, BP, CC, etc.) @@ -391,7 +395,7 @@ private Map> getShapesToTestForEachResource(Model test_mod return node_s_shapes; } - private Typing runRefineWithTimeout(JenaGraph shexy_graph) { + private Typing runRefineWithTimeout(Graph shexy_graph) { final ExecutorService service = Executors.newSingleThreadExecutor(); try { final Future f = service.submit(() -> { diff --git a/minerva-core/src/test/resources/validation/should_pass/Test034-cell_differentiation_results_in_acquisition_of_features_of_seam cell.ttl b/minerva-core/src/test/resources/validation/should_pass/Test034-cell_differentiation_results_in_acquisition_of_features_of_seam_cell.ttl similarity index 100% rename from minerva-core/src/test/resources/validation/should_pass/Test034-cell_differentiation_results_in_acquisition_of_features_of_seam cell.ttl rename to minerva-core/src/test/resources/validation/should_pass/Test034-cell_differentiation_results_in_acquisition_of_features_of_seam_cell.ttl diff --git a/minerva-core/src/test/resources/validation/should_pass/Test035-cell_fate_commitment_results_in_commitment_to_body_wall_muscle cell_from_MS_lineage.ttl b/minerva-core/src/test/resources/validation/should_pass/Test035-cell_fate_commitment_results_in_commitment_to_body_wall_muscle_cell_from_MS_lineage.ttl similarity index 100% rename from minerva-core/src/test/resources/validation/should_pass/Test035-cell_fate_commitment_results_in_commitment_to_body_wall_muscle cell_from_MS_lineage.ttl rename to minerva-core/src/test/resources/validation/should_pass/Test035-cell_fate_commitment_results_in_commitment_to_body_wall_muscle_cell_from_MS_lineage.ttl diff --git a/pom.xml b/pom.xml index b76f39c7..ed66035c 100644 --- a/pom.xml +++ b/pom.xml @@ -328,6 +328,11 @@ 4.9.0 pom + + org.apache.jena + jena-commonsrdf + 4.9.0 + net.sf.trove4j trove4j