database
database copied to clipboard
CLEANLY ADD & DELETE RDF ONTOLOGIES ?
Dear blazegraph community / SYSTAP
Semweb realized several applications successfully using blazegraph. Thank you for being. I am using the latest version of your blazegraph.jar (thank you).
What I am rather sceptical of is cleanly ADDING / DELETING RDF ontologies. An ontology - like for instance http://spec.edmcouncil.org/fibo/FND/Parties/Roles/ contains structures which - once read in into the repository - ends up in blank nodes. It is important for me to add an ontology to a (now blazegraph) repository with truth maintenance, then on demand delete that ontology.
Sesame 2.8 (used and customized by SYSTAP for blazegraph) allows a file-input via connection.add() in a remoterepository but has no way to delete the same RDF file using the same connection (asymmetry of sesame 2.8); using connection.remove(statement) does not work with remoterepository (throws an exception). Blazegraph wants to remain relied on sesame 2.8 because it is used by most of its customers. It is not even known whether SYSTAP will ever produce a sesame 4 based blazegraph (up to now and up to "official" annoucements).
So I searched for another way to add/delete RDF Ontology material to/from a blazegraph journal: via SPARQLUPDATE. An ontology is firstly loaded into a sesame model (included in blazegraph sesame), then each (NT) statement is collected and written to a string, then an INSERT statement is built using those NT Triples and those triples are (successfully) inserted via SPARQLUPDATE. So far so good.
THE PROBLEM: The same added triples ARE NOT DELETABLE via the same SPARQLUPDATE (simply turning "DELETE" into "INSERT" in the same SPARQLUPDATE tab inside blazegraph workbench - same behavior as in my java code), because those triples contains blank nodes (says blazegraph in an exception).
So blazegraph seems to be not able to DELETE cleanly RDF material ... and this is besides scalability and greatest performance (...) stated by your selling department, a big problem.
How is this possible and is it so wanted/needed/planned?
However I hope I ran myself into some mistakes and hope someone can help solve this issue ... Attached the statements which are INSERTABLE but not DELETABLE.
Thank you Regards
Some attachment to help you finding a solution (please open a ticket in case you need it): insertable_notdeletable_statements.txt deletingexception_blazegraph.txt