A property only has one single Datatype. However, feel free to create a new kind of Datatype that, in turn, refers to other Datatypes. Perhaps Generics, or Option like types should be part of the Atomic Base Datatypes.
Atomic Data guarantees Subject-Property uniqueness, which means that Valid Resources are guaranteed to have only one of each Property. Properties offer Shortnames, which are short strings. These strings SHOULD be unique inside Classes, but these are not guaranteed to be unique inside all Resources. Note that Resources can have multiple Classes, and through that, they can have colliding Shortnames. Resources are also free to include Properties from other Classes, and their Shortnames, too, might collide.
["https://example.com/people/123", "https://example.com/name", "John"] ["https://example.com/people/123", "https://somepage.example.com/name", "John"]
Let's assume that
https://example.com/name are Properties that have the Shortname:
What if a client tries something such as
To consistently return a single value, we need some type of precedence:
- The earlier Class mentioned in the
classProperty of the resource. Resources can have multiple classes, but they appear in an ordered ResourceArray. Classes, internally SHOULD have no key collisions in required and recommended properties, which means that they might have. If these exist internally, sort the properties from A-Z.
- When the Properties are not part of any of the mentioned Classes, use Alphabetical sorting of the Property URL.
When shortname collisions are possible, it's recommended to not use the shortname, but use the URL of the Property:
- Use URIs schemes that use content dressing, such as IPFS URIs.
URI stands for Unique Resource Identifier
These RDF ontologies are extremely powerful, well-documented and versatile.
Atomic Schema does not aim to be an formal ontological semantic framework - it is way too simple for that. It's just a simple modeling tool.