A package server exposes a REST HTTP API for managing Underlay resources.
- Assertions are arbitrary RDF datasets
- Files are arbitrary byte arrays, with a single explicit MIME type and a known integer size in bytes
- Packages are a kind of container analogous to a directory or a Git repository. Packages have metadata like schemas and provenance and contain assertions, files, and other packages.
Like all REST services, package servers implicitly distinguish between abstract resources and concrete representations. A resource is a conceptual target identified by a URL; a representation of a resource is a physical materialization in some known format of a version of that resource at a point in time. The REST API interfaces between the two, resolving requests for resources into concrete representations.