The Reference Model¶
This document defines the types and structures available.
S3Model may be implemented in almost any programming or data definition language. The reference implementation provided here is in XML Schema 1.0. Due to the ubiquitous nature of XML Schema and the compatibility with RDF/XML, we chose XML as the canonical serialization format. Virtually all programming and data analysis languages can manipulate and validate XML content. XML content is easily imported into SQL databases, converted to JSON, or other formats.
The canonical RDF/XML serialization format can be converted to other RDF formats such as Turtle, JSON-LD, etc., as required for local operations and usage. A host of tools and online resources are available for these conversions.
The components of the RM are sufficient to model any datatype to include temporal, spatial, and ontological contexts. Not all of this functionality is required in all modeling situations. But they are available for those that need them.
Reference Model Overview¶
The abstract reference model consists of a collection of components for defining common data elements for applications. A developer will consider strings, integers, decimals, etc. Additionally, more complex ideas such as files and links are accommodated. These structures all descend from a parent type similar to the “Any type” (XdAnyType) found in many programming languages.
The distinction is that in S3Model, the developer can provide for the application user to tag each data point with additional semantic information such as the beginning and ending times that a data value is valid. The time the data value was recorded and modified. The capability exists to add an Access Control flag for sensitive information. For missing or erroneous data, the reason it is in error may be added using Exceptional Value codes (expanded from ISO 21090). Location data is often essential, for example, in air quality sensor data. Location data can be recorded as latitude and longitude decimal values. These capabilities expand the meaning of the data points and transfer helpful context to the end-users of the data.
S3Model allows for well-defined reference ranges for ordered types such as decimals, integers, floats, and temporals.
Beyond the expansion of semantics on the simple types, S3Model Data Models can contain models representing who or what organization participated in the data collection, or activity, described by the model. There are also facilities to capture attestation of the data and downstream auditing records.
The Data Model also accommodates metadata that describes attributes about the creation of the model. Elements of the Dublin Core Metadata Standard are used to identify details such as; title, author, description, license information, relationship to other models, geographical or domain coverage, and a unique identifier (CUID).
The complete S3Model documentation is available here.