Defining our Goals

      The landscape: Europe has a formalized strategy for data management.

      Use-case driven

    SHM Goals

    Structure

      Workflows

        How to formally define what is the procedure for RPCs to accomplish something such as a data sync.

        Some examples: BPML, ArchiMate, EDGY

      Control Plane

        Defining the RPCs. What messages or function calls are going between entities

          Access Control - Permissions, writes

        We are using gRPC for this currently.

        Examples: SPARQL

      Data Plane

        Data saved to disk, verifiable, permanent

        Protobuf, RDFS, UML

        Optionally layer additional expressiveness/refinement

      Define Terminology, Ontology

        Universal Language - understood by users and domain experts

        SKOS - supports permissive and flexible relationships of terminology, weave links between terms and more formal systems.

    Open/Closed World

      Closed World

        You may only use data that is defined by the schema

        SHACL - closed-world RDF

      Open World

        Additional data is supported, beyond the schema

    Unsorted References

      FIHR

      HTTP <- RDF <- RDFS <- OWL

      RDF is abstract, "Content Negotiation" supports different serialization: XML, JSON, turtle, and CBOR!

      RML - Map from application and DB state (SQL) to semantic layer (RDF)

      SPARQL is great for unified queries

    RDF Concerns

      May be over complicated

      Rich Hickey talks about the "good parts of rdf"

      Everything maps to triples

        Missing features like Arrays - triples have no order

      Friction with Triples

      Verbose and introduces Overhead

    Background

      Sacha works with metadata, collaborating with Niko on NextGraph