OPDA Knowledge base
Physical — deployment

Foundation — deployment view

Foundation — deployment view

The foundation module is the base of every other module. It declares the OPDA namespace, the cross-cutting UFO meta-classes, the foundation meta-shapes (no-identity-override, three-rule interface contract, meta-shape justification), and the header-only annotation graph.

Source TTL(s)

FileRolePhysical-Ontology tier
foundation.ttlowl:Ontology header + metadata (license, creator, versionIRI)foundation/README.md
opda-classes.ttl6 foundation classes + opda:hasSpecialCategoryData datatype propertyfoundation/classes.md
opda-shapes.ttl5 foundation meta-shapes + 2 SHACL-AF cross-cutting rulesfoundation/meta-shapes.md
opda-annotations.ttlHeader-only DPV meta-annotation scaffoldingfoundation/README.md

Named graph(s)

Named graph IRISource TTLTriplesowl:versionIRI
https://opda.org.uk/pdtf/foundation.ttl15https://opda.org.uk/pdtf/harness/release/1.0.0/
(no ontology IRI — class graph)opda-classes.ttl36— (rides on foundation versionIRI)
https://opda.org.uk/pdtf/graph/shapesopda-shapes.ttl51
https://opda.org.uk/pdtf/graph/annotationsopda-annotations.ttl3

Load order: foundation graphs have no owl:imports. They are loaded first by every consumer. Every per-module TBox graph imports <https://opda.org.uk/pdtf/harness/release/1.0.0/> (the foundation versionIRI) as one of its two foundation-substrate imports.

See named-graphs.md §Foundation graphs for per-graph details.

Derived-profile membership

Profilefoundation.ttlopda-classes.ttlopda-shapes.ttlopda-annotations.ttl
opda-validationincluded (all triples)included (all triples)included (all triples)excluded
opda-uiincluded (all triples)included (all triples)included (all triples)included (all triples)
opda-inferenceincluded (header + provenance only; sh:declare stripped)included (class axioms only)excludedexcluded

Foundation classes appear in all three profiles because they are the substrate every consumer needs to resolve sh:targetClass or run TBox classification. Foundation meta-shapes appear in validation + UI but not inference (reasoner confusion). The annotation graph appears only in UI (DPV is a UI-time concern).

Overlay bindings

Every deployed overlay imports the foundation graph via owl:imports <https://opda.org.uk/pdtf/harness/release/1.0.0/>. The BASPI5 overlay is the only overlay currently in production:

  • profiles/baspi5.ttl imports foundation + uses opda:ValidationContext to reify its opda:Baspi5ValidationContext instance per ODR-0010 §Q1.

The foundation meta-shapes (Cat 3 NoIdentityOverride, Cat 5 MetaShapeOverShapeGraph, three-rule interface contract ShInSemantics + ShViolationFloor) constrain every overlay — overlays cannot suppress foundation identity keys or downgrade foundation severity floors. See overlay-deployment/baspi5.md §Three-rule interface contract status.

Content-negotiation entry points

Resource pathResolves to
https://opda.org.uk/pdtf/foundation default graph (foundation.ttl)
https://opda.org.uk/pdtf/harness/release/1.0.0/foundation versionIRI snapshot (immutable per release)
https://opda.org.uk/pdtf/DiagnosticExemplarper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/GeneratorRunper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/Relatorper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/Roleper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/RoleMixinper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/ValidationContextper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/hasSpecialCategoryDataper-entity dereference into opda-classes.ttl
https://opda.org.uk/pdtf/graph/shapesopda-shapes.ttl (named-graph endpoint)
https://opda.org.uk/pdtf/graph/annotationsopda-annotations.ttl (named-graph endpoint)

Content-type routing per the Accept-header matrix.

Deployment graph

--- config: layout: elk elk: mergeEdges: false nodePlacementStrategy: BRANDES_KOEPF --- %%{init: {"theme": "base", "themeVariables": {"primaryColor": "#FFF8E1", "primaryTextColor": "#E65100", "primaryBorderColor": "#F57F17", "lineColor": "#37474F"}}}%% flowchart LR accTitle: Foundation module deployment graph accDescr: Shows how foundation TTLs flow through named graphs, derived profiles, overlay bindings, and HTTP entry points. classDef data fill:#FFF8E1,stroke:#F57F17,stroke-width:2px,color:#E65100 classDef process fill:#E1F5FE,stroke:#0277BD,stroke-width:2px,color:#01579B classDef service fill:#E8F5E9,stroke:#2E7D32,stroke-width:2px,color:#1B5E20 classDef user fill:#F3E5F5,stroke:#7B1FA2,stroke-width:2px,color:#4A148C classDef infra fill:#E3F2FD,stroke:#1565C0,stroke-width:2px,color:#0D47A1 subgraph SRC["Source TTLs"] F["foundation.ttl
15 triples"]:::data Cl["opda-classes.ttl
36 triples"]:::data Sh["opda-shapes.ttl
51 triples"]:::data An["opda-annotations.ttl
3 triples"]:::data end subgraph NG["Named graphs"] NGF["opda.org.uk/pdtf/
versionIRI 1.0.0/"]:::infra NGSh["opda.org.uk/pdtf/graph/shapes"]:::infra NGAn["opda.org.uk/pdtf/graph/annotations"]:::infra end subgraph CMP["Composer"] C["opda-gen compose"]:::process end subgraph DRV["Derived profiles"] DV["opda-validation.ttl"]:::data DU["opda-ui.ttl"]:::data DI["opda-inference.ttl"]:::data end subgraph OVR["Overlay bindings"] B5["profiles/baspi5.ttl
imports foundation"]:::data end subgraph HTTP["HTTP entry points"] H1["opda.org.uk/pdtf/"]:::service H2["opda.org.uk/pdtf/1.0.0/"]:::service H3["per-entity dereference
Role / Relator / etc."]:::service end subgraph CONS["Consumers"] U1["SHACL validators"]:::user U2["DASH UI"]:::user U3["OWL reasoners"]:::user U4["Overlay deployments"]:::user end F --> NGF Cl --> NGF Sh --> NGSh An --> NGAn NGF --> C NGSh --> C NGAn --> C C -->|classes + shapes| DV C -->|classes + shapes + annotations| DU C -->|classes only| DI NGF --> B5 NGSh --> B5 NGF --> H1 NGF --> H2 NGF --> H3 DV --> U1 DU --> U2 DI --> U3 B5 --> U4

Comments

Loading comments…