I imported some RDF fragments using n10s.rdf.import.inline. Now I want to delete one of these fragments passing in the fragment to n10s.rdf.delete.inline. I realized that the bnodes that have been created by the import function do not get deleted. The documentation says "Note that currently blank nodes cannot be deleted using n10s.rdf.delete.fetch
because we assume that blank node ids are not kept during parsing."
But how can I delete the bnodes that were imported with the fragment? Is there another function to do that? Or is it maybe possible to get returned all nodes that have been created by an import function, so that I can delete these nodes if I want to remove the RDF fragment from the graph?
Can you identify these blank nodes, so you can ‘match’ and delete them? If so, what is the uniqueness of these nodes that you can ‘match’ on?
No, there is no property or label that is specific to all nodes of an imported RDF fragment, that I could use to match these nodes.
I altered the code in neosemantics a bit, so that it now returns the blank node URIs as part of the import result. This fits for my use case since the RDF fragment that is imported is always the same as the one that is used with the delete function. I store the blank nodes URIs and if I delete the fragement, I can delete the blank nodes as well.
@jbarrasa is there an easier way to do it? Would it make sense to create a pull request for this "feature"?