The Underlay protocol describes a method for sharing and maintaining graph data and its provenance. It is designed to enable systems that must work in adversarial or nascent data environments where the trustworthiness and validity of statements are variable and may need to be regularly re-evaluated. The protocol allows participation by anyone while maintaining the curational authority required to keep datasets focused and useful.
By lowering the barrier to entry to contribute and use shared knowledge, the protocol supports projects, services, and products in making data available for the public good.
A message is an immutable RDF dataset containing a signature, provenance, and some number of assertions. Messages capture claims about the world as structured data.
Messages are immutable, so updates and versioning happen at the level of packages.
An Underlay package is a collection of knowledge — messages, files, and other packages — gathered into a useful collection by a curator, and updated and versioned over time. It has metadata including contact information for its curators, schemas that describe its data, and how it is maintained.
Packages are discoverable through registries, servers that host packages and provide APIs for accessing them.
A registry is a server that hosts packages and provides services for collaborating around them. It offers interfaces for finding, accessing, and subscribing to packages. A registry may handle identity management, data policies, and other tools for data sharing.
A default KFG registry hosts a copy of every package it knows about.