Bug #8182
Updated by Rob Nahf about 7 years ago
For relationships defined in resource maps involving SIDs, the relationship is not propagated to any future versions of the objects referenced by those SIDs.
For example, consider a metadata SID that `cito:documents` a data object. Initially, the `documents` field would be populated in the index for all records where the seriesId = SID (or maybe just the latest - I haven't tested). If, If tomorrow, a new object is synchronized with that SID, it would not inherit the `documents` field of its predecessor.
To do so will require referring to the resource maps of predecessor objects, and extracting the SID out of them. This can be done either on the fly, or by persisting the relationships in a separate solr core, not necessarily available to the public.
After a little thought, the solr core would only need to contain these fields: [resourceMap, SID, relationship], relationship, SID], and we would only need records for SIDs. There would be no need for a unique key.
For example, consider a metadata SID that `cito:documents` a data object. Initially, the `documents` field would be populated in the index for all records where the seriesId = SID (or maybe just the latest - I haven't tested). If, If tomorrow, a new object is synchronized with that SID, it would not inherit the `documents` field of its predecessor.
To do so will require referring to the resource maps of predecessor objects, and extracting the SID out of them. This can be done either on the fly, or by persisting the relationships in a separate solr core, not necessarily available to the public.
After a little thought, the solr core would only need to contain these fields: [resourceMap, SID, relationship], relationship, SID], and we would only need records for SIDs. There would be no need for a unique key.