Informatievlaanderen / VSDS-LDESServer4J

Linked Data Event Streams Server for Java
https://informatievlaanderen.github.io/VSDS-LDESServer4J
European Union Public License 1.2
10 stars 11 forks source link

Allow bulk ingest for version objects #1267

Open rorlic opened 7 months ago

rorlic commented 7 months ago

Currently the LDES Server allows to ingest both state objects and versions objects. However, state objects can be ingested in bulk while version objects can not.

To determine individual state objects within a pool of RDF triples, we take each named node and collect all its triples as well as the triples of the blank nodes it directly or indirectly refers to. Preconditions are: no shared and no dangling blank nodes.

For version objects we can do something similar. Because no mix of state and version objects is allowed, we can first check the preconditions: no shared and no dangling blank nodes, all versions (named nodes) contain the configured versionOfPath and timestampPath predicates. We can collect the triples in exactly the same way as for state objects.

sandervd commented 7 months ago

@rorlic As we have the intention of deprecating version ingest in the future, do you think it makes sense to still spend time on this? Personally I wouldn't put any more effort in the version ingest.

brechtvdv commented 6 months ago

@rorlic As we have the intention of deprecating version ingest in the future, do you think it makes sense to still spend time on this? Personally I wouldn't put any more effort in the version ingest.

If version ingestion happens on the server, can you configure the timestamp path that should be used from the ingested state object? In the docs (https://informatievlaanderen.github.io/VSDS-LDESServer4J/ingest/http), a state object should not have the timestamp path.

brechtvdv commented 6 months ago

Version creation on the server should not be deprecated, as I want to have control on the used time stamp of the members. Versions may arrive out-of-order