- 
                Notifications
    You must be signed in to change notification settings 
- Fork 8
Description
WHO: As an information architect
WHAT: I want data modeling language(s) independent of technical artefacts
WHY: So that:
- the language is understandable to domain experts
- it can generate a variety of required technical artefacts
- all these artefacts are kept in sync, thus lowering maintenance effort
For efficient RDF modeling, you need to define multiple related artefacts:
- ontology
- shapes (SHACL (@HolgerKnublauch) or SHEX (@ericprud))
- diagrams and other documentation
- JSON-LD context,
- maybe JSON-LD frames,
- JSON schema or Avro schema
- API bindings and hypertext controls (HATEOAS)
- etc
Thus, many people have expressed the desire to define a unified or "technology independent" modeling language.
- See eg Modeling tool requirements w3c-ccg/traceability-vocab#296 for a brief list of modeling framework requirements
Many communities like to have a LD expression of their data, but mostly care about defining the data with JSON schema. Efforts to marry JSON Schema with JSON-LD contexts have been undertaken in:
- w3c-ccg@OR13 @nissimsan @msporny
- WoT: https://www.w3.org/2019/wot/json-schema, http://www.w3.org/2019/wot/hypermedia @vcharpenay, @maximelefrancois86, María Poveda Villalón
- OAS: OpenAPI-Specification/, OAS Semantic Context in particular for eGovernment APIs @ioggstream @pchampin @giorgialodi
Examples of polyglot frameworks include the following (many but not all are YAML-based):
- LinkML (github) (@cmungall)
- FHIR (@ericprud): note, this is not YAML-based
- ShExC/ShExJ/ShExR, and now YAML representations (ShExY?) (@ericprud)
- Schema Salad (@mr-c @tetron)
- A.ML and cloudinformationmodel @danmoralesatx
- RAML (RESTful API Modeling Language), https://github.com/raml-org/raml-spec @sichvoge @krishahn
- Dragon at Uber (Joshua Shinavier and others).
 Eg see Dragon: Schema Integration at Uber Scale, US Semantic Technologies Symposium, March 2020, cached PDF. YAML schema examples start slide 42
- SOML (@VladimirAlexiev) used in the Ontotext Platform to generate GraphQL querying, mutations, and SHACL shapes.
- smart-data-models (@albertoabellagarcia)) (FIWARE, IUDX, SmartCities, TM forum). Example: Aircraft; See Contribution manual gslides, EU DATA SP4CE - final event - Brussels - 31 May 2024 (manufacturingdataspace-csa.eu). The single-source-of-truth is YAML. But there are systemic modeling problems: fatal modeling flaws smart-data-models/dataModel.EnergyCIM#3
- shapiro by @mathiasrichter uses SHACL for modeling, converts models to JSON-Schema, and can serve them as HTML, SHACL, JSON-Schema
- yml2vocab by w3c (@iherman, @msporny, @gkellogg), used widely by the VC community. Generates ontology, context and HTML like w3c specs with respec(see examples: test.yml, rendered test.html; previews, security/vocabulary.yml)
- Target Vocabulary Maps (@niklasl): simpler way of getting data using "Ontology A" into data using "Ontology B": maps the used terms from A to B, taking some variances such as granularity into account. See SWIB 2019: slides, video. Used in the Libris XL library system to harmonize data.
- TreeLDR (@timothee-haudebourg)
- Semantic Treehouse (@oosterheertl, @Michiel-s, @WvandenBerg) that is used as a Vocabulary Hub in data spaces.
- jargon.sh (@jargon.sh) that's used by UNECE and UNTP, eg for https://jargon.sh/user/unece/DigitalProductPassport
- OpenSemanticLab (@simontaurus, @SimonStier, @raederan), blending JSON-SCHEMA and JSON-LD as Object-Oriented Linked Data Schema (OO-LD). JSON playground, YAML playground. Pub: Linked Data Schema Repositories for Interoperable Data Spaces (2023)
YAML-LD should not take over these modeling-framework efforts, but should show how they can be used together, show archetypical examples, and maybe make a comparison.
Even if no Modeling requirements make it into any YAML-LD spec, this git repo could serve as a "meeting place" for people working on these topics, potentially resulting in some unification.