-
Notifications
You must be signed in to change notification settings - Fork 0
Alignment Strategy
Flexo-RTM's ontology is organized in layers (see Design Spec §6.1 and Layered Ontology). The core layer (ontology/core/) defines the domain-general TBox: vertices, edges, attestation, scope, transcript, deferred-judgment. The alignment layer (ontology/alignment/) is where flexo-rtm meets the rest of the world — OSLC-RM, OSLC-QM, SysMLv2, INCOSE, PROV, EARL, GSN, P-PLAN. The strategy for that meeting is the subject of this page.
Alignment files contain only the following kinds of axioms:
owl:equivalentClassowl:equivalentProperty-
rdfs:subClassOf(andrdfs:subPropertyOf) skos:closeMatchskos:exactMatch
Alignment files never declare novel classes or properties. They never introduce restrictions, never carry SHACL shapes, never assert domain or range. If a triple cannot be expressed as one of the five connectives above between an existing core IRI and an existing external IRI, it does not belong in alignment/.
This rule is not stylistic. It is the constitutional separation between the normative interior and the informative exterior of the ontology.
Core is normative; alignment is informative. Core axioms are what flexo-rtm means. Alignment axioms are what flexo-rtm says about its relationship to other vocabularies. The two have radically different review processes, audiences, and stability guarantees. Core change requires an ADR, semver bump, and migration notes. Alignment change requires a citation to the external spec and, ideally, a roundtrip test.
Inverting the layering makes the ontology unreviewable. If core concepts were defined inside alignment files — e.g., declaring rtm:Requirement for the first time inside alignment/oslc-rm.ttl — then reviewing the core model would require reading every alignment file, and changing an external vocab would risk perturbing core semantics. The reviewer can no longer ask "what does flexo-rtm mean by Requirement?" and get an answer from a single file. The compositional discipline collapses.
Strict separation enables independent evolution. OSLC-RM 2.x may eventually become OSLC-RM 3.0. SysMLv2 is still in flux. INCOSE's handbook updates. Each of these can be tracked in a single alignment file with versioned snapshots in ontology/imports/, and core semantics remain unperturbed. Conversely, when flexo-rtm refactors its vertex algebra (say, splitting rtm:Verification from rtm:Validation), exactly one alignment edit per affected external vocab is needed — the impact surface is bounded.
This separation is also what makes the Parsimony Policy enforceable: parsimony-extracted external classes live in ontology/parsimony/ and are referenced by IRI from alignment files. Alignment never contains an external term, only links to it.
The repository ships these alignment files, each scoped to a single external vocabulary:
| File | Purpose | Notes |
|---|---|---|
alignment/oslc-rm.ttl |
OSLC-RM 2.x mappings |
rtm:Requirement owl:equivalentClass oslc_rm:Requirement and friends. Reviewed against OSLC RM and QM Review. |
alignment/oslc-qm.ttl |
OSLC-QM 2.x mappings |
rtm:TestCase, rtm:TestExecution, rtm:TestResult correspondences. |
alignment/sysmlv2.ttl |
omg-sysml mappings |
RequirementUsage is accepted as a rtm:Requirement via rdfs:subClassOf (see OMG SysMLv2). |
alignment/incose.ttl |
INCOSE handbook concept SKOS matches | Informative only; INCOSE definitions are prose, not a formal TBox, so skos:closeMatch dominates. |
alignment/prov.ttl |
W3C PROV-O integration | PROV is imported natively as a building block; this file mostly notes rtm-specific subclassing (e.g., rtm:AttestationEvent rdfs:subClassOf prov:Activity). |
alignment/earl.ttl |
W3C EARL evaluation results | Similar pattern: native import, alignment file declares rtm subclasses. |
alignment/gsn.ttl |
OntoGSN safety-case patterns |
rtm:AdequacyClaim, rtm:SufficiencyClaim align to GSN solution/justification patterns. |
alignment/p-plan.ttl |
P-PLAN process plans | Used as a building block for transcript provenance. |
For PROV, EARL, GSN, and P-PLAN, "alignment" is something of a misnomer: these vocabs are imported natively and used as composable building blocks rather than as external dialects we translate to. The alignment file in those cases primarily records the rdfs:subClassOf chain from rtm-specific terms into the imported vocab. The rule still holds: no novel classes, no shapes.
The five permitted connectives are not interchangeable. Choose deliberately:
-
owl:equivalentClass/owl:equivalentProperty— bidirectional, strong semantic commitment. Both vocabs assert the same class. Use only when the external definition is precise enough that any instance valid under one is valid under the other. Round-trip serialization must be lossless. -
skos:exactMatch— bidirectional, intended for concept-scheme equivalence rather than class equivalence. Stronger thancloseMatch, weaker thanequivalentClass(no DL entailment). -
skos:closeMatch— informative similarity. Use when the external concept is "approximately the same" but you are not willing to commit reasoners to treating instances interchangeably. INCOSE handbook concepts almost always sit here. -
rdfs:subClassOf— unidirectional.rtm:RegulatoryRequirement rdfs:subClassOf oslc_rm:Requirementsays every flexo-rtm regulatory requirement is also an OSLC requirement, but the converse does not hold. -
rdfs:subPropertyOf— same shape, for properties.
A common error is reaching for owl:equivalentClass when rdfs:subClassOf is appropriate. If in doubt, use the weaker connective. Strength is easy to add in a later revision; removing strength is a breaking change.
Alignment graphs are loaded at materialization time, not at write time. Storage canonicalizes to rtm: IRIs — those are the ground truth. Adapters translate at the I/O boundary:
- An OSLC-RM ingestion adapter reads an
oslc_rm:Requirementfrom a wire payload and storesrtm:Requirementin the graph. - A SPARQL query may reference either
rtm:Requirementoroslc_rm:Requirement; with alignment loaded, both yield the same instances. - An OSLC-RM export adapter projects
rtm:Requirementback tooslc_rm:Requirementfor outbound serialization.
This means queries written by external integrators using their IRIs continue to work without rewriting, and queries written against the canonical model do not bake in OSLC-specific assumptions. The alignment file is the bridge; neither side is contaminated.
Profile selection at oracle invocation (--profile=oslc-rm-roundtrip, etc.) determines which alignment graphs are loaded for a given run — alignment is opt-in, not ambient.
Two external vocabularies may both claim to define "the same" concept yet disagree on details. OSLC-RM and SysMLv2 both have something called a requirement, but their semantics differ: SysMLv2's RequirementUsage is a usage of a RequirementDefinition, distinct from the definition itself; OSLC-RM treats Requirement as a single resource. Asserting owl:equivalentClass to both would let a reasoner infer that an OSLC requirement is a SysMLv2 requirement-usage, which is not what either vocabulary means.
The resolution is to weaken the connective. When two alignments disagree, use skos:closeMatch rather than owl:equivalentClass. Document the conflict in a TTL comment block adjacent to the relevant triple, and link to the relevant external spec section. The alignment file is then honest about the imperfection rather than papering over it.
Where conflict resolution matters for behavior — e.g., an adapter must commit to one interpretation — the resolution lives in the adapter code, not in the ontology. Adapters are profile-scoped; the alignment file remains neutral.
- Layered Ontology — the layer structure this strategy operates within
- Parsimony Policy — how external IRIs enter the build before alignment can reference them
- OSLC RM and QM Review — review notes for the two largest alignment targets
- OMG SysMLv2 — SysMLv2 alignment considerations
- Design Spec §6.1 — the canonical statement of the layered ontology
- Flexo Git Coexistence
- ADCS Prototype Lessons
- MVC Pattern from RIME TRL ANT
- Human-AI Accountability
- Multi-Agent Discourse Graph Precedent
- OSLC RM and QM Review
- INCOSE V2 Review
- OMG SysMLv2
- PROV EARL GSN P-PLAN
- Dragon Architecture and Mission Enterprise
- Traditional Forward and Backward Analysis
- Attestation Infrastructure in v0.1
- Identity Boundaries and Policy Projections
- External URI References
- Signed Envelopes and Established Standards
- Aspect Coverage with Adequacy and Sufficiency
- Federated Audit and Composition
- Certification Predicate
- Gap Taxonomy
- Quantitative Outcomes
- Engineering Lifecycle Stages (v0.2)
- Topological Framework Future Work (research phase)
- Vertices Edges Faces (research phase)
- Three-Layer Architecture
- Operational Layer UX Discipline
- Storage Layer Flexo Conventions
- Analysis Layer Scope Algebra
- OSLC Roundtrip Acceptance
- Identity Adapter Contract
- Flexo REST Binding
- SysMLv2 Ingestion Contract
- External URI Rules
- Signed Envelope Shapes
- Parsimony Manifest
- Lossless Roundtrip Definition
- Vendor Extension Carry-Through
- OSLC RM Adapter Contract
- OSLC QM Adapter Contract
- ADR Template
- ADR-001 Foundations First Approach
- ADR-002 SysMLv2 Anchoring
- ADR-003 Topological Framework Documented as Future Work
- ADR-003a v0.1 Ships Traditional Analysis Only
- ADR-004 Quantitative Certification Outcome
- ADR-005 Adequacy and Sufficiency as Guidance Subtypes
- ADR-006 Three-Layer Architecture
- ADR-007 Scope as First-Class RDF Resource
- ADR-008 Repo Name and Org Transfer Plan
- ADR-009 Two-Repo Strategy
- ADR-010 OSLC-RM and OSLC-QM in v0.1
- ADR-011 Lossless Criterion A plus C
- ADR-012 Direct RDF Properties over Reified Edges
- ADR-013 Simplicial Complex as Derived View When Built
- ADR-014 Parsimony Layer Build-Time Extraction
- ADR-015 GSN Adoption for Adequacy and Sufficiency
- ADR-016 Composable SHACL Profiles
- ADR-017 knowledgecomplex as Optional Extras
- ADR-018 V minus F Invariant Deferred with Topological Framework
- ADR-019 Derived Binary View from Quantitative Metrics
- ADR-020 Vocabulary Alignment with Zargham 2026
- ADR-021 Three Attestation Subclasses Ship in v0.1
- ADR-022 External URI References as Open-Source Foundation
- ADR-023 Cryptography by Composition of Battle-Tested Standards
- ADR-024 Identity by Thin Projection of External Sources
- ADR-025 Reproducibility is Structural and Local
- ADR-026 Cryptographic Agility via Algorithm Profiles
- ADR-027 Bit-Exactness vs Numerical Tolerances Are Both First-Class
- ADR-028 Scope-Level Adequacy and Sufficiency for Federated Audit
- ADR-029 Engineering Lifecycle Stages as Scope Metadata
- ADR-030 Polycentric ASOT Authority Model
- ADR-031 Attestation Status Pass Fail Deferred Deprecated
- ADR-032 Methodology Agnosticism as Foundational Axiom
- ADR-033 Generalized ASOT Principle for All Identified Things