This fork of RDF Delta differs from the main RDF Delta repo primarily in that the ZooKeeper integration has been rewritten to avoid using Apache Curator. The problem that prompted this rewrite is that Apache Curator was not properly following changes to the membership of a ZooKeeper Ensemble. It would even interfere with the vanilla ZooKeeper client's own logic to reconnect to an ensemble when disconnected. These problems presented during experimentation while working out how to deploy RDF Delta in a dynamic environment. The desire was for ZooKeeper and RDF Delta nodes to be lightweight and disposable so they could easily be replaced if they started misbehaving. This behavior is critical for being able to leverage Amazon ECS for cluster management and zero-downtime upgrades.
Some other changes include the addition of a Gradle version of the Maven environment running in parallel, a beefed up CI configuration for GitHub actions, and configurations for SonarCloud and CodeClimate for static analysis.
RDF Delta provides a system for recording and publishing changes to RDF Datasets. It is built around idea of change logs:
- RDF Patch - a format for recording changes to an RDF Dataset
- RDF Patch Log - organise patches in to a log of changes to an RDF Dataset with HTTP access.
RDF Patch Logs can be used for:
- Replicated datasets - 2 or more copies of a single dataset for high availability of the data.
- Incremental backup of a dataset.
- Recording changes
- Generate alerts based on changes, either to the dataset as a whole or specific resources within the dataset.
RDF Delta provides a system for keeping copies of an RDF Dataset up-to-date using the RDF Patch Log as a journal of changes to be applied.
Website: https://afs.github.io/rdf-delta
https://afs.github.io/rdf-delta/ha-fuseki.html
Artifacts: https://repo1.maven.org/maven2/org/seaborne/rdf-delta
RDF Delta distribution (patch log server and Apache Jena Fuseki with replicated dataset support)
https://repo1.maven.org/maven2/org/seaborne/rdf-delta/rdf-delta-dist
<dependency>
<groupId>org.seaborne.rdf-delta</groupId>
<artifactId>rdf-patch</artifactId>
<version>X.Y.Z</version>
</dependency>
<dependency>
<groupId>org.seaborne.rdf-delta</groupId>
<artifactId>rdf-delta-client</artifactId>
<version>X.Y.Z</version>
</dependency>
See CONTRIBUTING.