Re: Introduction

Hi elf Pavlik,

> Looking at the information at https://crdt.tech/
> Raft, to my understanding, falls under Strongly consistent replication,
> while CRDT uses Optimistic replication, which enables local-first (aka 
> offline-first).
> 
> You mention the first building block for CRDT in rdf-dataset-changelog,
> could you please share more details about that?

You are right. rdf-dataset-changelog can be a building block for both 
kinds of replication. Collecting changes is the first step when it comes 
to implementing replication. It could be done in the application code, 
parallel to maintaining the quads. However, the code readability and 
maintainability will benefit from an abstraction layer that provides a 
standard RDF/JS DatasetCore interface where all changes are tracked 
while using the standard .add and .delete methods. That's what the 
package provides. Using the DatasetCore interface has the advantage that 
high-level libraries to manipulate RDF data, like Grapoi[1], 
SimpleRDF[2] or similar libraries, can be used on top to simplify the 
application code logic.

> BTW I know that LDO, which is also based on RDF/JS, also has a basic 
> implementation
> of TransactionalDatasets https://ldo.js.org/api/ldo/transactions/
> I wonder if you have seen it and if you have, what similarities the LDO 
> approach and your
> approach in rdf-dataset-changelog have.

It seems like LDO is using a similar approach. Besides some details, 
only the interfaces look different.

Best,
bergi

[1] https://rdf-ext.org/api/grapoi.html
[2] https://github.com/simplerdf/

Received on Friday, 22 November 2024 07:58:23 UTC