{
  "service": "linked-oekobaudat/1.0.0-SNAPSHOT",
  "base": "https://wunderfacts.com/oekobaudat/",
  "upstream": "https://oekobaudat.de/OEKOBAU.DAT/resource",
  "upstreamNode": "OEKOBAU.DAT",
  "publisher": "https://www.bbsr.bund.de/",
  "maxCacheSeconds": 86400,
  "liveProxy": true,
  "identifiers": "ILCD UUIDs. There is no lookup by name outside /search.",
  "mainClasses": {
    "declaration": "oekobaudat:EPD, a dcat:Dataset, at /process/{uuid}#it",
    "product": "schema:Product, at /flow/{uuid}#it",
    "organisation": "org:Organization, at /contact/{uuid}#it",
    "result": "oekobaudat:IndicatorResult, a qudt:QuantityValue, one per indicator per life-cycle module"
  },
  "releases": 11,
  "searchFilters": ["name", "description", "owner", "classId", "validUntil", "compliance", "registrationNumber"],
  "routes": [
    {"path": "/search", "description": "Find declarations. q is free text: the name OR the description contains it. Filters: name, description (both case-insensitive SUBSTRING matches across every language a record carries, combined with OR), owner (the manufacturer), classId (hierarchical), validUntil (a LOWER BOUND: validUntil=2030 means valid through at least 2030, not expiring in 2030), compliance, registrationNumber. Paged with offset and count (default 50, at most 500); search.json is every member as an RFC 9264 linkset, up to 500. Anything else is refused, because OEKOBAUDAT silently ignores what it does not recognise and would return the whole register.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/process/{uuid}", "description": "One EN 15804 environmental product declaration, with every indicator result addressable per life-cycle module, e.g. #lcia-gwp-total-a1a3.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/flow/{uuid}", "description": "A flow - and where it is a product flow, THE PRODUCT ITSELF, typed schema:Product. This is what a declaration is about.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/contact/{uuid}", "description": "An organisation: the manufacturer that owns a declaration, the programme operator that registered it, or its publisher. The role is carried by the property pointing here, not by this record.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/process/{uuid}?version={release}", "description": "That declaration as a named release carried it - a Memento. Releases genuinely archive: the same UUID can hold different figures in different releases.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/process/{uuid}/timemap", "description": "The releases a declaration can be requested as of.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/release/", "description": "Every published release and data stock.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/release/{shortName}", "description": "One release.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/source/{uuid}", "description": "A background source or an EPD document. Attached files are LINKED to OEKOBAUDAT, not proxied.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/unitgroup/{uuid}", "description": "A unit group, with the conversion factors between its units.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/flowproperty/{uuid}", "description": "A flow property.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/lciamethod/{uuid}", "description": "An impact indicator. Described, not reproduced: the full ILCD record is ~566 KB of characterisation factors.", "formats": ["html", "ttl", "nt", "rdf", "jsonld", "json"]},
    {"path": "/category/{process|flow}/{classId}", "description": "One category. The data type is required because OEKOBAUDAT publishes a process tree and a flow tree that reuse the same class ids.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/cl/{scheme}", "description": "A codelist. Schemes: categories/process, categories/flow, modules, units, locations, licences, subtypes, compliance, ibu-categories.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/cl/{module|unit|location|licence|subtype|compliance}/{id}", "description": "One concept from a codelist.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/index", "description": "This service.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/vocab", "description": "The terms coined here.", "formats": ["html", "ttl", "nt", "rdf", "jsonld"]},
    {"path": "/routes", "description": "This manifest.", "formats": ["json"]}
  ]
}
