Skip to content

Structure of Specification

Andreas Kuckartz edited this page Jul 14, 2014 · 9 revisions

The specification document will be very short and mostly consist of references to well-established external specifications and HTML-renderings of maschine readable files. To make this more understandable a separate Primer will be made available to demonstrate how everything works together.

Maschine readable components (with HTML rendering)

  • Vocabulary specified using Hydra document
  • Additional semantics specified using OWL

Verbal components

  • JSON-LD Profile (for "simple" JSON)
  • Interoperability with OParl

Conformance Criteria

The conformance criteria are designed to enable the easy implementation of polyglot servers which can satisfy the requirements both of this specification and the OParl specification at the same time. At the time of writing both specifications are orthogonal.

Client

  • MUST send Accept header with at least application:ld+json
  • MAY send Accept-Language
  • MUST handle language maps to enable Internationalization (i18n)
  • MUST handle all JSON-LD formats (such as compacted, expanded, flattened)
  • When OParl defines a range to be either a single collection of objects of a specific type or several objects of that specific type then the range in OpenGovLD is the union of the specific type and such a collection. I.e. multiple collection objects are also allowed, not just one. (Or should use of collection-property be required?)

Server

  • MUST handle client requests with an Accept value of application:ld+json
  • SHOULD use values provided by client with Accept-Language to determine the output of literals as language maps.
  • MUST output skos:Concept objects when OParl also allows literals