This issue is for the general problem. Unless very carefully crafted, UriFinders may fail to identify all URIs that need updating in the search index after triples are deleted, especially in bulk. This is because the URI finders run on the current state of the triple store after all deletes have already occurred. The URI finders do not have access to the triples that were deleted, and thus certain triple patterns may fail to bind to current values.
The problem can be demonstrated in VIVO 1.11 (or earlier) using the built-in URI finders for vCard content. The related person's record is not updated when an entire section of a vCard (e.g. a vcard:Title) is deleted in a single operation.
How to reproduce (in 1.11):
In log4j set IndexingUriFinderListBasic to debug level.
Create a person.
Add primary email to the person.
Open created vcard individual (vcard uri could be found in a editing url of added email emailUri variable value).
Save vcard rdf as a file.
Search for email. Search results should show Person with searched email
Remove vcard Admin Add/Remove RDF data by providing previously saved file.
Verify that there is no email on a person page anymore.
Search for email once again. Search results will still show person with removed email. Person uri should have been sent to reindex by IndexingUriFinder "Preferred Title".
If add file with vcard back by providing the same file in Add/Remove RDF data then IndexingUriFinder "Preferred Title" from searchIndexerConfigurationVivo.n3 will find person uri and send it to reindex. This will show up in log files.
Georgy Litvinov (Migrated from VIVO-1975) said:
See original issue https://jira.lyrasis.org/browse/VIVO-1969 .
This issue is for the general problem. Unless very carefully crafted, UriFinders may fail to identify all URIs that need updating in the search index after triples are deleted, especially in bulk. This is because the URI finders run on the current state of the triple store after all deletes have already occurred. The URI finders do not have access to the triples that were deleted, and thus certain triple patterns may fail to bind to current values.
The problem can be demonstrated in VIVO 1.11 (or earlier) using the built-in URI finders for vCard content. The related person's record is not updated when an entire section of a vCard (e.g. a vcard:Title) is deleted in a single operation.
How to reproduce (in 1.11):