NCIEVS / nci-protege5

evs umbrella project for protege 5-based editing software
BSD 3-Clause "New" or "Revised" License
2 stars 2 forks source link

Rework sparql plugin to remove in-memory triple store #580

Open bdionne opened 1 year ago

bdionne commented 1 year ago

As discussed in the roadmap the sparql query plugin has performance issues due to building an in-memory triple store.

A new version of the plugin, 2.2.0 is a first pass at removing the triple store and executing the queries against a virtuoso server.

It requires the newest tag of protege, 4.4.0-dev3, and the jar can be directly loaded in plugins or retrieved by pointing the updater to bdionne's autoupdate.

It may work when loaded into an existing protege but the reason it requires 4.4.0-dev3 is that we've removed all the sesame libs and migrated to RDF4J-2.3.2, so we use the same version everywhere.

You may some issues with the queries but so far they are minor syntactic problems. At some point we'll update all the bookmark queries.

The plugin works the exact same way, except it must have a virtuoso server to talk to. A new preferences tab allows the use to specify a url for the server.

Screenshot 2023-10-26 at 2 10 48 PM
bdionne commented 9 months ago

This plugin should work the same as before. The only difference is that the preferences for the tab have to specify the url of an RDF triple store.

Otherwise the plugin should come up immediately and not consume anyway near the amount of memory as is it doesn't load the ontology into memory. Performance also should be markedly faster.

singhik commented 8 months ago

@bdionne : The Virtuoso Server URL 'http://localhost:8890/sparql' does not connect , would need a working URL to test the Plugin & queries.

singhik commented 7 months ago

@bdionne : Hi Bob, SPARQL query below is not returning correct data , f.e. the actual count should here display 4 , but displays as 1.

image

image

bdionne commented 6 months ago

This ticket is complete as intended. Additional tests required in #582 were added to this ticket and need to be re-tested in the next release