Solway · Method and limitations
What does this measurement justify?
A fictional tunnel lining ring has an installation record and a displacement observation. A reviewer needs to know what that observation establishes against a stated criterion, and what review work remains. The experiment separates the physical object, work occurrence, records, configuration, criterion and resulting claim.
The clearest example is 4.7 mm = 0.0047 m. Both exceed the supplied 3 mm limit. Comparing bare numbers would give the wrong answer for the metre representation. If the criterion changes to 5 mm, the same observation can support a different comparison without rewriting its history.
All project facts, thresholds, dates, procedures and responsibility assignments are invented. The numbers are teaching values, not engineering limits. Neither a favourable comparison nor a well-formed graph grants acceptance, release or physical safety.
Why these ontology distinctions matter
The surrounding model retains a facility, rings, one displayed segment, a material specification, equipment, sensor, installation occurrence, installation record, agents, method descriptions and configuration revisions. It is a small coherent model of one question, not a complete tunnel ontology or project plan.
- A physical part is distinct from a process, record or package of work.
- An installation occurrence is distinct from a record describing that occurrence. Here both are supplied scenario assertions, not independently observed facts.
- A quantity has a decimal value and a separate unit resource. A unit identifier is not used as the literal's datatype.
- An observation identifies its feature, property, configuration, procedure, time and result. The configuration must actually describe the observed object.
- A criterion is a versioned information record. Its version is not the version of the physical object or of the observation.
- A computed assessment is stored separately from the source assertions, with links back to its request, criterion and available record.
- Human authorisation remains not established. The graph does not infer that no authorisation exists elsewhere.
The local class hierarchy contains a few explicit mappings to Digital Construction Entities 0.5. There are no external ontology imports, network reasoning or claims of complete DiCon, BFO, IFC, SOSA or QUDT conformance. The physical/process/information separation is checked through local SHACL constraints. RDFS domains and ranges describe intended semantics; they are not mistaken for data-entry validation.
Four questions, four different answers
- Is the record structurally usable? Actual SHACL checks cardinalities, datatypes, supported length units, category distinctions, provenance fields and configuration-to-object consistency.
- Is the evidence applicable? SPARQL checks object, configuration, property, procedure and an explicit inclusive time window. Missing evidence leaves the claim unestablished.
- What follows numerically? Applicable measurements are normalised to millimetres and compared with the supplied inclusive limit. A valid over-limit measurement is not a malformed record.
- What review work remains? A declared routing workflow proposes record repair, obtaining applicable evidence, reviewing an exceedance or requesting human authorisation. No branch automatically authorises anything.
An observation can be structurally valid and irrelevant to the requested claim. Its quantity may still be normalised for inspection, but that does not justify comparing it for this request.
Results and controls
| Case | Data | Applicable evidence | Comparison | Next proposed work |
|---|---|---|---|---|
| 4.7 mm, criterion 3 mm | Valid | Yes | Exceeds | Prepare dossier; refer exceedance |
| 0.0047 m, criterion 3 mm | Valid | Yes | Same exceedance | Same route |
| 2.7 mm, criterion 3 mm | Valid | Yes | Within | Prepare dossier; request authorisation |
| Original 4.7 mm, revised criterion 5 mm | Valid | Yes | Within | Prepare dossier; request authorisation |
| Wrong property, ring, configuration or procedure | Valid | No | Not established | Obtain applicable evidence |
| Outside the supplied time window | Valid | No | Not established | Obtain applicable evidence |
| No supplied record | Valid incomplete knowledge | No | Not established | Obtain applicable evidence |
| Wrong unit dimension, missing unit or text value | Invalid | Not established | Not assessed | Repair record |
The absent-record case is deliberately permitted by the request shape. SHACL conformance does not imply a complete evidence base. More severe incomplete or ambiguous requests that cannot produce a unique assessment row cause the compiler to fail closed; they are never substituted with a favourable default.
Executable construction
ontology.ttl defines the local vocabulary. scenario.ttl supplies the surrounding model, two criterion revisions and the small review workflow. Each cases/*.ttl file supplies a request and, where present, its observation and evidence record.
compile.py performs actual pySHACL validation with shapes.ttl, then executes assessment.rq and derive.rq with RDFLib. The shape report contributes an explicit validation flag to the query input. The SELECT result and CONSTRUCT result must agree. Computed statements remain in a separate graph; source assertions are not overwritten.
Unit conversion is an explicit local rule for QUDT M and MilliM, not a general unit reasoner. The time window is an authored scenario policy, not an expiry rule supplied by SOSA. Other observations, uncertain measurements, tolerances, conflicting records, alternative procedures and full engineering acceptance are outside this finite construction.
The compiler generates data.js and data.json, including instance graphs, class hierarchy, case outcomes, validation reports, source hashes and verification results. The public page selects these checked finite outputs. It does not execute arbitrary uploaded RDF or a live triple store in the browser. Graph nodes and edges are drawn from the actual instance or derived graphs; external class alignment triples are described in the downloadable ontology rather than silently treated as imported reasoning.
Same-scenario PDDL comparison
The RDF also supplies five review-action descriptions. The compiler translates their propositions, preconditions and effects to a small grounded STRIPS domain. A separately hand-authored reference-domain.pddl and ordinary reference-cases.json table supply the direct route.
The direct route computes suitability and unit comparisons without reading the SPARQL output. Exact decimal arithmetic checks the numeric comparison. The PDDL comparison checks initial facts, goals and every action's preconditions and effects, solves both routes and replays each route's plan against the other. Negative controls reject skipped dossier preparation and the wrong review route.
The comparison concerns routing a request for review, not installing a tunnel, scheduling a project, correcting an exceedance or granting authorisation. The goal review-routed means the proposed administrative route reaches its declared endpoint. It does not mean the work has happened. The routes agree, so this trial demonstrates no ontology planning advantage. The ontology contribution being explored is explicit distinctions, provenance and reusable checks.
These controls are separately authored within the same AI-led construction. They are not an external author's replication or an engineering review. The PDDL parser and solver are reused from the earlier The work that must exist essai; the numeric checks, direct domain and case inputs are independent of this ontology compiler.
Reproduce and verify
The complete repository source includes the compiler and tests. The public site provides the portable RDF, queries and saved outputs.
Install requirements.txt in a Python environment. Run from the repository root:
python apps/measurement-and-acceptance/compile.py --check
python apps/measurement-and-acceptance/test-model.py
node apps/measurement-and-acceptance/test-pddl.mjs
The compiler requires Node; set NODE to its executable if it is not on PATH. Run compile.py without --check to regenerate the checked static data. Publication must fail if --check reports stale outputs.
Verification covers 13 public cases and 25 additional tests: exact threshold and time-window boundaries, equivalent units and timezones, configuration/object mismatch, physical/process/information category errors, malformed and ambiguous input, criterion change without observation rewriting, and source/derived separation. Both PDDL routes have equal transition semantics and cross-checked plans for all 13 cases. Four cases require dossier preparation followed by a review request. These are developer model checks, not human-user validation.
Replacing the earlier Word ontology
This essai replaces the useful modelling intent of the local 2025 05 Solway ontology created by 03.docx. Its source fingerprint, recorded 15 October 2026, is SHA-256 b05723b22796f39815acfacf1357ad73d80302b99c9cce07aaa38003eb591e26. The old file is not copied into the public site.
The retained ideas are physical composition, equipment, materials, process, agents, information, observations, quantities and design/as-built distinctions. The new executable model gives those distinctions specific questions and checks. It preserves a material specification rather than pretending a named grade establishes the physical material's properties.
The old Word model conflated some distinctions, used legacy/unverified vocabulary and a unit resource as a numeric datatype, and applied a segment-domain geology property to a ring. Its narrative supplied a 17 km project and 4,820 rings of 2 m without qualifying their different coverage. These claims did not become validated by being written as RDF. This replacement does not carry forward the asserted sponsor, geological investigation, programme, consent, travel benefits, sensor counts, carbon targets or promised digital-twin capabilities. None was independently established by that document.
This is a cleaner bounded ontology, not evidence that a larger vocabulary alone produces a complete project model. The useful result is that the same recorded fact can support a changed claim when the criterion changes, while still being unusable if it concerns the wrong object or configuration.
Primary sources and their role
- W3C SOSA / Semantic Sensor Network supplies observation, feature, property, procedure, result and time distinctions. It does not supply this project's acceptance policy.
- W3C SHACL supplies graph constraint validation. It does not verify the truth of the observations.
- QUDT metre and millimetre supply the unit identifiers used here. Conversion is explicitly implemented in the query.
- W3C PROV-O supplies provenance relationships. Links to an attributed source are not proof that a claim is true.
- Digital Construction Entities 0.5 supplies verified
Object,EquipmentandProcessidentifiers for the limited class mappings. Its whole ontology is not imported or reasoned over.
Sources checked 15 October 2026. GraphDB execution is deferred to the separately scoped RDF/GraphDB foray; this essai does not claim it was tested in GraphDB.
This page contains the complete maintained method source (Markdown). Return to the interactive experiment →