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)
| File | Role | Physical-Ontology tier |
|---|---|---|
foundation.ttl | owl:Ontology header + metadata (license, creator, versionIRI) | foundation/README.md |
opda-classes.ttl | 6 foundation classes + opda:hasSpecialCategoryData datatype property | foundation/classes.md |
opda-shapes.ttl | 5 foundation meta-shapes + 2 SHACL-AF cross-cutting rules | foundation/meta-shapes.md |
opda-annotations.ttl | Header-only DPV meta-annotation scaffolding | foundation/README.md |
Named graph(s)
| Named graph IRI | Source TTL | Triples | owl:versionIRI |
|---|---|---|---|
https://opda.org.uk/pdtf/ | foundation.ttl | 15 | https://opda.org.uk/pdtf/harness/release/1.0.0/ |
| (no ontology IRI — class graph) | opda-classes.ttl | 36 | — (rides on foundation versionIRI) |
https://opda.org.uk/pdtf/graph/shapes | opda-shapes.ttl | 51 | — |
https://opda.org.uk/pdtf/graph/annotations | opda-annotations.ttl | 3 | — |
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
| Profile | foundation.ttl | opda-classes.ttl | opda-shapes.ttl | opda-annotations.ttl |
|---|---|---|---|---|
| opda-validation | included (all triples) | included (all triples) | included (all triples) | excluded |
| opda-ui | included (all triples) | included (all triples) | included (all triples) | included (all triples) |
| opda-inference | included (header + provenance only; sh:declare stripped) | included (class axioms only) | excluded | excluded |
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.ttlimports foundation + usesopda:ValidationContextto reify itsopda:Baspi5ValidationContextinstance 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 path | Resolves 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/DiagnosticExemplar | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/GeneratorRun | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/Relator | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/Role | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/RoleMixin | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/ValidationContext | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/hasSpecialCategoryData | per-entity dereference into opda-classes.ttl |
https://opda.org.uk/pdtf/graph/shapes | opda-shapes.ttl (named-graph endpoint) |
https://opda.org.uk/pdtf/graph/annotations | opda-annotations.ttl (named-graph endpoint) |
Content-type routing per the Accept-header matrix.
Deployment graph
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
Cross-tier links
- Logical tier:
docs/manual/logical/foundation/— typed attributes + cardinalities for the foundation classes. - Physical-Ontology tier:
docs/manual/physical-ontology/foundation/— Turtle source layout + per-class blocks + meta-shape constraint bodies. - Operations: byte-identity CI regenerates the four foundation TTLs; three-graph CI enforces separation per ODR-0004 §3a.
Comments