Package com.darkcollective.relix.symbol.graph.internal


package com.darkcollective.relix.symbol.graph.internal
The engine-side machinery behind com.darkcollective.relix.symbol.graph: not exported by the published artifact. What follows describes the package as a whole, as it stood before the split. The schema graph — relationship metadata between relations.

A SchemaGraph is a set of Relationship edges, each a named, multiplicity-bounded connection between two endpoints (a relation plus an ordered column list). The graph makes join-path resolution mechanical — for a set of relations a query touches, the join is the minimal connected subgraph spanning them — and its bounds are join-selectivity facts for the cost model.

Every edge carries an EdgeOrigin recording how it was acquired (declared in source, learned in conversation or from observed usage, or inferred from data), which keeps non-declared edges visibly provisional and correctable.

SchemaGraphSearch is the mechanical core of §3: given the terminal relations a request touches, it enumerates the minimal connected subgraph(s) — a Steiner tree over the small graph — spanning them, returning a unique JoinPath, several enumerated alternatives (the "did you mean?" ambiguity case), or a disconnected outcome.

This package is pure representation and search: assembly from declarations and validation against inferred schemas live in relix-semantic; the graph is exposed on the SemanticModel.