Skip to content

Model operations performance improvements

Georgy Litvinov requested to merge github/fork/litvinovg/bulk_updating_union into main

VIVO 3605 GitHub issue VIVO 3792 GitHub issue

What does this pull request do?

Implemented some changes to improve performance of model modifications

What's new?

RDFSerivceBulkUnionUpdater which forwards remove(model), removeAll, add(model) calls to enclosed updaters. RDFServiceModelMaker calls removeAll on model instead of removing triple by triple. Removed excessive de-serialization/serialization cycle in BulkUpdatingOntModel.performRemoveAll Created Bulk ModelCom, Bulk OntModelImpl, Bulk GraphMem to avoid triple by triple transactions on batch add/remove

How should this be tested?

  • Delete tdbContentModels and tdbModels folders in vivo home directory, start VIVO, check logs to check how much time it takes to load all n3 files from home directory
  • Open ingest tools -> Manage Jena Models -> Configuration models
  • Create new model
  • Add attached sample data to the model sample-data.zip
  • Click clear statements, measure the time
  • Check that model is empty
  • Add attached sample data to the model
  • Remove sample data from the model using the same "add/remove RDF data" dialog, measure the time
  • Add attached sample data to the model
  • Click remove, measure the time

Interested parties

@bkampe @brianjlowe @chenejac

Merge request reports