Defining our Goals
The landscape: Europe has a formalized strategy for data management.
Use-case driven
SHM Goals
Problems from here: Hypermedia Protocol Schemas
Structure
Workflows
How to formally define what is the procedure for RPCs to accomplish something such as a data sync.
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