Reasoning That Knows When Not to Add an Edge
Utopia’s reasoning engine is designed around a failure mode that ordinary graph demos often hide: inference can amplify a bad extraction or an overconfident ontology declaration. This chapter explains why Utopia checks the existing graph before materializing new edges, how asserted and derived knowledge remain separate, and how a contradiction becomes a repair signal rather than an automatic choice of winner. The reader should leave able to distinguish a consistency violation from a derived conclusion and follow a conclusion back to the evidence that made it possible.
Why “derive first” can make the graph worse
A rule such as transitivity looks harmless in isolation. If a project is part of a program and the program is part of an organization, deriving that the project is part of the organization can be useful. But the same rule applied to a cycle can derive that an entity is part of itself. A cycle may reflect a real structure, or it may be an extraction error. The inference engine cannot assume which one it is merely because the rule is mathematically valid.
Functional relations create a different failure. If a predicate is supposed to have one object for a subject, two extracted facts with different objects may signal a stale assignment, a wrong entity merge, or an ontology declaration that is too strict. Materializing more edges before examining that conflict does not resolve it. It gives later readers and rules more derived material built on an unresolved disagreement.
Reversed relations are another example. An ontology signature may say that an employee relation runs from an organization to a person, while a model writes the names in the order used by a sentence. If the reversed edge enters the graph and transitive or inverse rules consume it, the original representation error becomes a larger network of plausible-looking errors. The source may have supported the relationship, but the graph’s encoding is still wrong.
Utopia’s answer is to run a consistency check before treating inference as an addition to the graph. The check asks whether the ontology is internally coherent and whether existing facts violate the declarations. It writes no new facts. That makes the first reasoning pass diagnostic rather than transformative. A person can inspect the problem, decide whether the data or the definition is at fault, and only then allow materialization to add conclusions under the current rules.
The ontology itself is checked first. A relation cannot sensibly be judged against an axiom set that declares it both symmetric and asymmetric, or contains a subclass cycle or a non-mutual inverse. If the criterion is self-contradictory, a fact-level result would be noise. A knowledge base with no ontology pack or axioms reports no contradiction, not because every fact is correct, but because the system has no declared criterion with which to judge it. Utopia chooses a missing diagnosis over an invented one.
The two reasoning modes have different effects:
- Consistency checking compares ontology declarations and asserted graph facts, then records violations for review. It does not change the fact ledger.
- Materialized inference applies selected ontology axioms to produce derived facts. It changes the set of graph content a reader can inspect, but it does not replace the asserted ledger.
This separation is the central safety boundary. The checker can be rerun without creating another layer of questionable facts. The materializer can be switched or bounded without confusing its output with what a source or person asserted.