2020-06-23 09:54:48 -07:00

26 lines
1.4 KiB
Markdown

# Data
### Data Models
Shared data models enable interoperability.
Solid - Solid's data model is RDF. [RDF](https://www.w3.org/RDF/) uses URIs to name the relationship between things, allowing structured data to be shared across different applications. RDF could potentially [be a barrier to adoption](https://hal.inria.fr/hal-01966561/document), due to its complexity.
Matrix - Matrix transports messages using JSON, and tracks conversation history through DAGs.
Mastodon - ActivityPub uses streams of JSON-LD. Mastodon was formerly compatible with OStatus, which used RSS.
IPFS - IPFS uses a custom data model, [IPLD](https://ipld.io/), designed to treat hash-linked data structures as subsets of a unified information space.
Ssb - Ssb uses append-only logs of signed JSON.
### Mutability
Federated applications allow users to edit and delete content, handled at the server level. Content may not be guaranteed to be deleted across the entire network in some cases - protocols should require applications to honor delete messages.
P2p applications have more variance around mutability.
Ssb & Hypercore - Messages added to the append-only log are immutable. Applications can choose not to display messages indicated as deleted, but the data cannot be overwritten.
IPFS - Once added to a network, content is discoverable by its hash. If a copy remains stored on the network, it is re-discoverable by this reference.