You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
One of the steps that is performed when preparing an import module is the execution of the src/sparql/preprocess-module.ru SPARQL query, which simply sets a dc:source ontology annotation:
Running a SPARQL query with ROBOT requires (1) converting the entire ontology in memory from the OWLAPI model to the JENA model, (2) actually running the query on the JENA model, (3) serialising the JENA model to Turtle, and (4) parsing the serialised Turtle back into a OWLAPI model. Doing all of that for a task that could be done in 3 lines of Java code is a huge waste of resources.
In fact, the cost of that process is a big reason why some import modules need to be marked as “large”, so that we can selectively avoid that step for those modules:
A simple ROBOT plugin could easily replace the SPARQL query. This would make the preprocessing much faster for all modules (since we avoid the whole roundtrip to JENA and back), and would remove the need for treating “large” imports differently, which would in turn make the Makefile template easier to read and maintain.
Likewise for the post-processing step, which simply strips all ontology annotations except the dc:source annotation.
The text was updated successfully, but these errors were encountered:
That’s what I was thinking of, yes. Since it would be used in standard ODK workflows, a odk plugin would definitely be appropriate.
And such a plugin, once it exists, could become the landing site for other pluggable commands that were initially created elsewhere but were found to be useful enough to be re-used across several repositories (such as FlyBase’s rewrite-definition, initially written for FlyBase but is now also used by CL).
One of the steps that is performed when preparing an import module is the execution of the
src/sparql/preprocess-module.ru
SPARQL query, which simply sets adc:source
ontology annotation:Running a SPARQL query with ROBOT requires (1) converting the entire ontology in memory from the OWLAPI model to the JENA model, (2) actually running the query on the JENA model, (3) serialising the JENA model to Turtle, and (4) parsing the serialised Turtle back into a OWLAPI model. Doing all of that for a task that could be done in 3 lines of Java code is a huge waste of resources.
In fact, the cost of that process is a big reason why some import modules need to be marked as “large”, so that we can selectively avoid that step for those modules:
A simple ROBOT plugin could easily replace the SPARQL query. This would make the preprocessing much faster for all modules (since we avoid the whole roundtrip to JENA and back), and would remove the need for treating “large” imports differently, which would in turn make the Makefile template easier to read and maintain.
Likewise for the post-processing step, which simply strips all ontology annotations except the
dc:source
annotation.The text was updated successfully, but these errors were encountered: