Closed brianjlowe closed 1 year ago
Setting as blocker for now since it seems equally severe as #3871, which was also a blocker.
This is likely a long-standing (but pretty serious) issue that happens on line 96 of JFactTBoxReasoner, where the listened-to triple removals are removed directly from the filteredAssertionsModel. The blank node IDs heard by the listener will not match the IDs in filteredAssertionsModel, so triples involving blank nodes will not be removed. This needs to use the logic used in the RDFServiceJena implementation, where blank nodes are treated as variables and the graph matching the appropriate blank node pattern is deleted.
It looks to be working when I duplicate removeUsingSparqlUpdate() from RDFServiceJena code. Will refactor this into JenaModelUtils so it can be used in both places.
The workaround currently is to restart VIVO, because filteredAssertionsModel is completely refreshed from the underlying store.
Describe the bug Some triples are not removed from the inferred-tbox graph by the TBox reasoner when the underlying assertions on which they are depend are deleted.
To Reproduce
Expected behavior No triples should be displayed in any graph in step 12.