-
Notifications
You must be signed in to change notification settings - Fork 15
Description
Since a Linked Data Event Stream (LDES) is a stream of events in linked data, and events occur at specific points in time, each member (event) should have a timestamp.
I propose making this explicit in the specification by requiring that:
- An LDES MUST have an
ldes:timestampPathproperty set. - Every member in the LDES MUST have a timestamp value using this property.
Depending on the outcome of #61, if a member received from the backend system lacks a timestamp, the ingestion process could attach one using the timestamp of ingestion. This approach is already suggested at the end of the second-to-last note in section 2 of the current specification, but I propose formalizing it instead of leaving it as a note.
Additionally, I want to open the discussion on requiring that members MUST be added to the LDES in ascending order. Since an LDES is a stream of events, ordering should be expected, but this is not explicitly stated in the specification. Enforcing this would ensure that after a client replicates the entire LDES, any new members found during synchronization are guaranteed to be newer.
These requirements will facilitate a more efficient implementation of smarter state management using timestampPath in the ldes-client reference implementation rdf-connect/ldes-client#19.
- The first requirement ensures that state management can be applied to any LDES.
- The second requirement aligns with an existing assumption in the proposal, but since the current specification does not enforce ordering, this needs to be explicitly stated.