Sync Engine Mappings

CRDT merge contracts that define how different resource properties are synchronized and how conflicts are resolved.

About Merge Contracts

Mappings (merge contracts) are public declarations of how data should synchronize. They specify:

  • CRDT Algorithms: Which conflict resolution strategy to use for each property (LWW, Set, List, etc.)
  • Synchronization Rules: How to detect changes, merge updates, and resolve conflicts
  • Immutability: Which properties cannot be changed after creation
  • Versioning: Contract versions ensure compatibility across application updates

All applications using the same merge contract can synchronize their data conflict-free, even if they're written in different languages or by different developers.

Client Installation V1

CRDT merge contract

File: client-installation-v1.ttl
URL: https://locorda.dev/mappings/client-installation-v1.ttl

Core V1

CRDT merge contract

File: core-v1.ttl
URL: https://locorda.dev/mappings/core-v1.ttl

Index V1

CRDT merge contract

File: index-v1.ttl
URL: https://locorda.dev/mappings/index-v1.ttl

Shard V1

CRDT merge contract

File: shard-v1.ttl
URL: https://locorda.dev/mappings/shard-v1.ttl

How Applications Use Mappings

Applications reference mappings in their synchronized documents:

@prefix sync: <https://w3id.org/solid-crdt-sync/vocab/sync#> .
@prefix mappings: <https://locorda.dev/mappings/> .

<document> a sync:ManagedDocument ;
    sync:isGovernedBy ( mappings:core-v1.ttl ) .

The sync engine then applies the rules defined in the mapping to ensure conflict-free synchronization across all devices and users.

w3id.org Redirects

Mappings are accessible via permanent w3id.org identifiers:

https://w3id.org/solid-crdt-sync/mappings/core-v1 β†’ https://locorda.dev/mappings/core-v1.ttl