The Atomic Data Core describes the fundamental data model of Atomic Data. Before we dive into its concepts, we'll talk about why this standard is made in the first place.
- Browsable: Data should explicitly link to other pieces of data, and these links should be followable.
- Semantic: Every data Atom and relation has a clear semantic meaning.
- Open: Free to use, open source, no strings attached.
- Clear Ownership: The data shows who is in control of the data, so new versions of the data can easily be retrieved.
- Mergeable: Any two sets of Atoms can be merged into a single graph without any merge conflicts / name collisions.
- Interoperable: Can easily and constantly be converted to other data formats (e.g. JSON, XML, and all RDF formats).
- Extensible: Anyone can define their own data types and create Atoms with it.
- Typed: All valid Atomic data has an unambiguous, static datatype. Models expressed in Atomic Data can be mapped to programming language models, such as
interfacesin Typescript / Rust / Go.
Note that for these last four goals, Atomic Schema is required.
- Flexible schemas. When dealing with structured wikis or semantic data, various instances of things will have different attributes. Atomic Data allows any kind of property on any resource.
- High-value open data. Atomic Data is a bit harder to create, but it is easier to re-use and understand. It's use of URLs for properties makes data self-documenting.
- Standardization is important. When multiple groups of people have to use the same schema, Atomic Data provides easy ways to constrain and validate the data.
- Multi-class / multi-model. Contrary to (SQL) tables, Atomic Data allows a single thing to have multiple classes, each with their own properties.
- Connected / decentralized data. With Atomic Data, you use URLs to point to things on other computers. This makes it possible to connect datasets very explicitly, without creating copies.
- Interactive data. When users need to make changes
- RDF as Output. Atomic Data serializes to idiomatic, clean RDF (Turtle / JSON-LD / n-triples / RDF/XML).
- Internal use only. If you're not sharing structured data, Atomic Data will probably only make things harder for you.
- Big Data. If you're dealing with TeraBytes of data, you probably don't want to use Atomic Data.