8.2.4. Model Manifest: a public context

A domeinfile is a resource that holds the machine readable version of a model. However, end users will want to inform themselves about a model before taking it into use. For this we introduce the convention of a model manifest. The manifest describing a model is itself a resource, a context instance to be precise. Its type is defined in model://perspectives.domains#System. The instance contains descriptive text, an expanded name, etcetera.

A model manifest should be accessible to everyone, or at least to everyone subscribing to a model repository (subscription may require a fee). A model manifest qualifies as a public context: it’s type defines a Visitor role (see the text Universal Perspectives).

Crucially, a public context is the same for everybody (except for the model author): each participant has the same (consulting) perspective. This means that end users can share a single resource representation.

By convention, we will have a model manifest instance in a location that can be derived from the model URI. We have seen before that

model://perspectives.domains#System

maps to:

But we can also map it to:

and at this location the model manifest instance is found.

8.2.4.1. Public context stores

A server that manages a models database for the domain X should therefore also manage a cw database for X, to store public instances in.

For example:

looks for perspectives_domains-System.json (the ModelManifest for model://perspectives.domains#System) in the database cw_perspectives_domains.

Obviously, like we saw above, it may forward these URLs to another domain, if that is convenient.

Note
the document needs updating below this point.