Software
The Linked Data Event Streams client
A Linked Data Event Stream is a tree:Collection
with immutable members.
You can use the client to replicate the full tree:Collection
and remain in-sync with it afterwards by following all relations starting from a view.
Documentation on Github
Connector architecture
Bucketizers categorize each member on a stream in one or more pages/buckets/fragments. These bucketized members can then be ingested into a LDES server.
To facilitate this orchestration of different processors handling the stream of data, a specialized runner can be used. There exists a nifi-runner and a js runner that both start a chain of processors using some rdf configuration.
Using these runners enables the user to configure one big pipeline, that can be started with each pipeline runner (nifi/js) individually, and configure the processor to talk with each other over channels, like websockets.
Here are some components that should work nicely together
Querying tree:Collections with Comunica
Comunica, a Web framework to query Linked Data Fragments and heterogeneous views on top of tree:Collections
.
At the moment of writing (dec 2021), TREE support in Comunica is still experimental.
A working prototype can be found in this fork. It supports TREE and LDES metadata extraction, and is able to perform autocompletion across one or more tree:Collection
that is fragmented using a substring fragmentation.
LDES Snapshot
A snapshot of a versioned LDES at time t is an LDES where only the most recent versions until time t are present. The @treecg/ldes-snapshot library allows everyone to create a snapshot of a versioned LDES.
LDES in LDP package
The LDES in LDP specification describes how to write to a time-based fragmented LDES stored on a Solid pod or Linked Data Platform (LDP).
@treecg/versionawareldesinldp is an npm package that deals with the initialisation of and interaction with a (versioned) LDES in LDP.