Calculus of Fuzzy Transitions
Raw prose rarely states a complete ontology. It places words near one another, repeats names across notes, and implies relationships through grammar and context. Those signals are useful for finding a possible connection, but they are not themselves an OntoUML relation.
In this design, a fuzzy link is a non-canonical retrieval and review candidate: “these source-local terms may be related, and here is why the tool put them together.” It is not a new canonical OntoGraph object type.
Delivery status
| Status | Boundary |
|---|---|
| Implemented | The Rust calculus validates explicit candidate ChangeSets against a private copy of current state and enforces a bounded matrix for identity roots, rigidity, mediation, Evidence grounding, phase exclusion, references, and cycles. |
| Bounded proof | The reference-document adapter emits source-local candidates with confidence and exact evidence spans. Existing read-model rules permit ranking and vector scores only as projection metadata. |
| Planned | Cross-note proximity features, a versioned fuzzy-link sidecar, calibration thresholds, and a mapper that prepares evidence-bound canonical proposals from selected candidates. |
Context closeness produces a candidate, not a fact
Suppose a paragraph mentions Isolation Permit IP-9, Maintenance Team, and
Pump P-17. A retrieval layer may create a candidate link because the terms
occur in the same sentence or paragraph and recur together elsewhere.
One possible score is:
F(a, b) = ws*S + wp*P + wh*H + wr*R + wd*exp(-d/tau)
where:
S,P, andHindicate same sentence, paragraph, and heading context;Ris a bounded recurrence feature across independent source spans;dis token or block distance;- the non-negative weights sum to one; and
Fremains in the interval[0, 1].
This is pedagogical design notation, not an implemented formula or canonical
field. Even if F(a, b) = 1, the score says only that the terms are close under
the selected feature profile. It does not say whether the connection is
mediation, participation, characterization, generalization, temporal sequence,
or accidental co-occurrence. A search score is never Evidence.
The fuzzy candidate envelope
A future sidecar record should retain enough context to be destroyed and rebuilt safely:
candidate ref
source-local endpoint refs
candidate relation family, if any
feature profile and version
feature values and score
Artifact and exact span refs
extractor/derivation ref
unresolved semantic and provenance gap refs
The endpoints remain source-local until identity resolution is explicitly proposed. Recomputing the sidecar with a new tokenizer or scoring profile must not change canonical IDs or epistemic state.
From ambiguous association to crisp eligibility
For candidate link l, define this pedagogical predicate:
CrispEligible(l, G) =
exactEndpoints(l)
and exactSourceGrounding(l)
and explicitOntologicalDeclarations(l)
and completeRequiredMediation(l)
and noBlockingGaps(l)
and Calculus(G, ChangeSet(l)) passes
Every term corresponds to an inspectable gate.
1. Exact endpoints
The candidate must name stable proposed or canonical identities. A normalized
label such as pump cannot silently merge every source-local mention into one
object.
2. Exact source grounding
The proposed Assertion has first-class Evidence tied to recoverable Artifact and source-span refs. Proximity features may explain candidate discovery, but the cited text explains why a reviewer can inspect the proposal.
3. Explicit OntoUML declarations
The engine consumes declared profiles, not label guesses. If the proposal says
Pump is a gufo:Kind, that stereotype must be explicit. If Operating Pump
is a Phase or Assigned Technician is a Role, its ancestry must reach an
explicit Kind identity provider.
4. Complete mediation
If Isolation Permit is proposed as a gufo:Relator, it must mediate at least
two distinct live identities. The candidate cannot become structurally valid
with only a permit label and one endpoint. The proposal must name the mediated
participants—for example, the responsible organization and the maintained
asset—according to the selected domain model and source evidence.
5. No contradictions or blocking unknowns
The complete candidate must have no missing refs, inheritance cycles, rigidity violations, dangling mediation, provenance gaps, missing identity roots, or same-time occupancy of explicitly disjoint phases. The rule matrix evaluates the whole candidate batch, so mutation order cannot hide a contradiction.
Durable write and canonical visibility are separate gates
When an explicit ChangeSet passes the current memory/file calculus and its
expected base digest matches, the transaction can stage and publish
data/canonical.json, validation/last-validation.json, and
indexes/search-index.json as one recoverable unit.
That implemented capability does not mean a note-side fuzzy candidate is automatically wired into it. The planned mapper still has to produce the declared canonical input, and semantic validation success still is not a human Review, Decision, or Promotion.
For accepted package meaning, the full progression is:
fuzzy sidecar candidate
-> selected evidence-bound Assertion/relationship proposal
-> explicit ChangeSet passes the calculus
-> authorized Review
-> Decision
-> Promotion to a Package Version
No confidence threshold can skip those stages.
Worked transition: permit as a Relator candidate
- Three exact spans co-mention
IP-9,Pump P-17, and a responsible team. - The sidecar ranks a possible permit-mediated relationship for review.
- The prompt engine asks which enduring identities participate and what kind provides identity for each Role.
- A user supplies source-backed declarations: the permit is proposed as a Relator, with two named mediated identities; the assigned-maintainer Role specializes an explicit Person or Organization Kind, as appropriate.
- The mapper prepares a ChangeSet carrying those explicit refs and Evidence.
- The calculus checks references, roots, rigidity, mediation, provenance, and any temporal phase declarations.
- Only the governed review and promotion path can make the accepted relation current in a package.
If step 4 remains ambiguous, the correct result is a retained candidate and a typed gap—not a best-effort canonical edge.
What this direction does not claim
OntoGraph does not currently implement the scoring formula, fuzzy-link sidecar, or automatic fuzzy-to-crisp conversion. “Fuzzy” does not weaken the canonical schema, and “crisp” does not mean true merely because validation passed. Scores, embeddings, co-occurrence counts, and generated labels cannot replace Evidence, explicit ontology declarations, or governance authority.