Simplified Semantic Data Modeling (S2DM)
The Simplified Semantic Data Modeling (S2DM
) is an approach for modeling data of multiple domains.
It is simple in the sense that any Subject Matter Expert (SME) could contribute to a controlled vocabulary with minimal data modeling expertise.
Likewise, it is semantic in the sense that it specifies meaningful data structures, their cross-domain relationships, and arbitrary classification schemes.
[!NOTE] Bear in mind the word
Simplified
in the name. This approach aims to foster the adoption of (some) good data modeling practices. It does not intent to re-invent, nor to replace long-standing standards, such as those of the Semantic Web. Hence, it does not incorporate advanced reasoning capabilities or comprehensive ontologies typically associated with traditional semantic data modeling.
SD2M
role
S2DM
artifacts
S2DM
consists of two main artifacts:
S2DM
data modeling guideline - It explains how to formalize the data of a domain with theS2DM
approach. In other words, how to create the specification files that will constitute the core of the conceptual/logical layer.S2DM
tools - Code that support the proper usage of theS2DM
data modeling guideline. It helps with the modeling language validation, identifiers, search functions, exporters, etc.
Building blocks
S2DM
artifacts are based on these existing resources:
- Modeling languages
- GraphQL Schema Definition Language (SDL) - It provides a clear, human-readable syntax for defining data structures and relationships, making it easy for SMEs to understand and use without requiring deep technical expertise.
- Simple Knowledge Organization System (SKOS) -
SKOS
is an RDF-based vocabulary that offers a straightforward framework for creating and managing hierarchical classifications and relationships between concepts, facilitating the organization and retrieval of knowledge in a way that is both intuitive and semantically rich.
- Tools
- rdflib - To work with RDF data in Python (i.e.,
SKOS
). - graphql-core - To work with
GraphQL
schemas in Python (i.e.,SDL
). - Others
- rdflib - To work with RDF data in Python (i.e.,
Getting started
- You can start modeling your domain by following the
S2DM
data modeling guideline. - You can manage, evolve, and maintain your domain model by using the
S2DM
tools.