Compare PID-values verbatim to support record addressing after prefixes have changed #177
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
orinoco/dump-things-server#177
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
If schema prefixes are changed or deleted, records that use the modified or removed prefixes cannot be addressed by their CURIEs anymore.
For example, a schema defines the prefix:
And a record with the PID
abc:somethingis stored in a dump-thing-service. The record will be stored with the verbatim PID, i.e., withabc:something, but the index will contain the entryhttp://example.org/abc/something.If the prefix is modified or removed from the schema, the service will not be able to resolve
abc:somethingto the same value as before. Therefore it will not be able to locate the record in the index and assume that the record does not exist. As a result, CURIE-PID-based retrieval or deletion will no longer work. (One can still address the record with the fully resolved PID, i.e.,http://example.org/abc/something, but that requires knowledge of the previous definition of the prefixabc.)Since the record itself still stores the PID
abc:something, it should be possible to address records with CURIE-PIDs, independent of the schema, if the addressing is based on the record content.We should enable record content-based PID-based addressing (which is stable even when prefixes are changed or deleted). This could probably be enabled via a flag since it would require additional computation. But it could also be a fallback when the prefix is not longer known, or the resolved PID does not exist in the index.