bra0  /  Blueprint  /  ReasoningRaisonnement

ReasoningRaisonnement

bra0 reasons symbolic-first. SPARQL on the Knowledge Space answers 90 % of queries ; named-entity recognition (NER) handles 7 % ; an LLM is involved in only 3 %, and only when its prompt is generated from the Knowledge Space itself. Every output carries a provenance chain.bra0 raisonne d'abord par le symbolique. SPARQL sur le Knowledge Space répond à 90 % des requêtes ; la reconnaissance d'entités nommées (NER) prend en charge 7 % ; un LLM n'intervient que dans 3 % des cas, et uniquement quand son prompt est généré à partir du Knowledge Space lui-même. Chaque sortie porte une chaîne de provenance.

OverviewVue d'ensemble

Why symbolic firstPourquoi le symbolique d'abord

An LLM that hallucinates costs more than an LLM that runs. Symbolic-First Cascade (ADR-027) is the project's response : at every reasoning point, the system tries the cheapest, most auditable engine first, and falls through to the next tier only if the previous one cannot answer. SPARQL queries on the Knowledge Space — deterministic, provenance-traceable, sub-millisecond — handle the bulk of the work. NER fills the gap when an entity is mentioned but not yet linked. The LLM enters last, and only with a prompt that was itself generated from the Knowledge Space (bra0:NS-3). Un LLM qui hallucine coûte plus cher qu'un LLM qui s'exécute. La cascade symbolique d'abord (ADR-027) est la réponse du projet : à chaque point de raisonnement, le système tente d'abord le moteur le moins cher et le plus auditable, et ne descend au niveau suivant que si le précédent ne peut répondre. Les requêtes SPARQL sur le Knowledge Space — déterministes, traçables en provenance, sous-milliseconde — prennent en charge l'essentiel du travail. NER comble le manque quand une entité est mentionnée mais pas encore liée. Le LLM n'intervient qu'en dernier, et uniquement avec un prompt généré à partir du Knowledge Space (bra0:NS-3).

The cascade is grounded by two symbolic siblings under the Semantic Layer : bra0:SL-2 defines the shapes that the Knowledge Space must satisfy (ShEx) ; bra0:SL-3 materialises OWL 2 RL inferences before any query runs. Together they ensure every reasoning tier consumes a Knowledge Space that is shape-valid and inference-complete. La cascade est ancrée par deux jumelles symboliques sous la couche sémantique : bra0:SL-2 définit les shapes que le Knowledge Space doit satisfaire (ShEx) ; bra0:SL-3 matérialise les inférences OWL 2 RL avant toute requête. Ensemble, elles garantissent que chaque niveau de la cascade consomme un Knowledge Space valide en shapes et complet en inférences.

Every output of the cascade — symbolic or neural — carries a PROV-O provenance chain (bra0:NS-4), making explanations auditable end-to-end. Toute sortie de la cascade — symbolique ou neuronale — porte une chaîne de provenance PROV-O (bra0:NS-4), rendant les explications auditables de bout en bout.

The symbolic-first cascadeLa cascade symbolique d'abord
Operational capabilities involvedCapacités opérationnelles impliquées
Symbolic substrate (Semantic Layer)Substrat symbolique (couche sémantique)
SL-2
partialpartiel DRAFTBROUILLON
Schema DefinitionDéfinition de schémas
ShEx shapes defined as static files. Pre-generated TypeScript ORM types for the React side. The shapes are the gate the cascade enters through — no reasoning runs against a KG that fails them.Shapes ShEx définies comme fichiers statiques. Types ORM TypeScript pré-générés pour la couche React. Les shapes sont la porte par laquelle la cascade entre — aucun raisonnement ne s'exécute contre un KG qui ne les satisfait pas.
ExistsExiste
ShEx · rdf-shex.ts
SL-3
shippedlivré DRAFTBROUILLON
OWL ReasoningRaisonnement OWL
OWL 2 RL inference — 9 rules (subClassOf, inverseOf, symmetric, transitive, domain, range, equivalentClass, subPropertyOf, equivalentProperty). Fixed-point materialisation via SPARQL INSERT. 14 ms on the 522-triple OntoEDGY corpus. Materialised triples are visible to every cascade tier.Inférence OWL 2 RL — 9 règles (subClassOf, inverseOf, symmetric, transitive, domain, range, equivalentClass, subPropertyOf, equivalentProperty). Matérialisation à point fixe via INSERT SPARQL. 14 ms sur le corpus OntoEDGY de 522 triplets. Les triplets matérialisés sont visibles à chaque niveau de la cascade.
ExistsExiste
owl.rs · sophia + oxigraph
Cognitive substrate (Neural Substrate)Substrat cognitif (substrat neuronal)
NS-1
shippedlivré DRAFTBROUILLON
Gap DetectionDétection de lacunes
Ten SPARQL queries from the Gaur taxonomy (representation failures and access failures) run continuously over the KS and surface missing predicates, dangling references, and under-specified instances. The queries are the canonical way to ask « what is missing ? » before invoking any neural tier.Dix requêtes SPARQL de la taxonomie Gaur (échecs de représentation et échecs d'accès) s'exécutent en continu sur le KS et exposent les prédicats manquants, les références orphelines et les instances sous-spécifiées. Ces requêtes sont la manière canonique de demander « que manque-t-il ? » avant d'invoquer le moindre niveau neuronal.
ExistsExiste
10 SPARQL queries
NS-2
partialpartiel DRAFTBROUILLON
Grounding VerificationVérification d'ancrage
Grounding Index = KG-provenance-backed triples / total triples in the output. Target > 0.95 for clinical decision support. Every LLM output passes through this check before being returned ; ungrounded statements are flagged or dropped.Indice d'ancrage = triplets soutenus par la provenance du KG / triplets totaux dans la sortie. Cible > 0,95 pour l'aide à la décision clinique. Chaque sortie LLM passe par ce contrôle avant d'être renvoyée ; les énoncés non ancrés sont signalés ou supprimés.
ExistsExiste
grounding.rs
NS-3
plannedplanifié DRAFTBROUILLON
Context GenerationGénération de contexte
Agent prompts are SPARQL CONSTRUCT queries on the KG. Changing agent behavior means changing triples, not editing prompt strings. The mechanism removes the « hidden prompt » failure mode and makes the prompt itself versionable as RDF.Les prompts d'agents sont des requêtes CONSTRUCT SPARQL sur le KG. Changer le comportement d'un agent revient à changer des triplets, pas à éditer des chaînes de prompt. Le mécanisme supprime le mode d'échec « prompt caché » et rend le prompt lui-même versionnable en RDF.
Planned v0.7Planifié v0.7
context.rs
NS-4
partialpartiel DRAFTBROUILLON
Auditable ExplanationsExplications auditables
Every agent decision — symbolic or neural — carries a PROV-O provenance chain with a minimum depth of three. The chain is the explanation : which data point led to which inference led to which output, citation-back through the KG.Chaque décision d'agent — symbolique ou neuronale — porte une chaîne de provenance PROV-O d'une profondeur minimale de trois. La chaîne est l'explication : quel point de données a mené à quelle inférence a mené à quelle sortie, citation rétroactive à travers le KG.
ExistsExiste
prov-o · min depth 3
NS-5
shippedlivré PROPOSEDPROPOSÉ
Symbolic CascadeCascade symbolique
The cascade primitive itself : SPARQL 90 %, NER 7 %, LLM 3 %. Each tier backed by Rust / WASM (oxigraph for SPARQL, candle for NER and LLM). Ratified by ADR-027 and diagrammed in §2.La primitive de la cascade elle-même : SPARQL 90 %, NER 7 %, LLM 3 %. Chaque niveau adossé à Rust / WASM (oxigraph pour SPARQL, candle pour NER et LLM). Ratifié par l'ADR-027 et diagrammé en §2.
ExistsExiste
cascade.rs · ADR-027
A real cascade queryUne requête de cascade réelle

The cascade is not a runtime convention — its first tier is SPARQL, and any reasoning question can be expressed as a SPARQL query against the Knowledge Space. The example below is a representative gap-detection query from bra0:NS-1 : it finds every edgy:Capability instance that lacks a documented cap:hasInterface binding. The query is the gate ; if it returns rows, those rows are the gaps a neural tier would otherwise have to discover.La cascade n'est pas une convention d'exécution — son premier niveau est SPARQL, et toute question de raisonnement peut s'exprimer comme une requête SPARQL contre le Knowledge Space. L'exemple ci-dessous est une requête représentative de détection de lacunes de bra0:NS-1 : elle trouve toute instance edgy:Capability dépourvue de liaison cap:hasInterface documentée. La requête est la porte ; si elle renvoie des lignes, ces lignes sont les lacunes qu'un niveau neuronal aurait à découvrir autrement.

SPARQL — gap-detection over capability bindingsSPARQL — détection de lacunes sur les liaisons de capacités
SELECT ?cap ?label WHERE {
  ?cap a edgy:Capability ;
       rdfs:label ?label .
  FILTER NOT EXISTS { ?cap cap:hasInterface ?iface . }
}
# Rows returned = capabilities still missing a documented interface.
# Tier 1 answers ; no neural tier is invoked.

If the query returns rows, the cascade has done its job at Tier 1 — the gaps are graph data, ready for the next phase of authoring. If it returns no rows, the cascade has verified that every capability is bound. Either way, no LLM was asked to imagine the answer.Si la requête renvoie des lignes, la cascade a fait son travail au Niveau 1 — les lacunes sont des données de graphe, prêtes pour la prochaine phase de création. Si elle ne renvoie aucune ligne, la cascade a vérifié que chaque capacité est liée. Dans les deux cas, aucun LLM n'a été interrogé pour imaginer la réponse.

Registered external toolsOutils externes enregistrés

The cascade delegates its neural tiers to two open-source Rust crates, both runnable in WebAssembly so the system stays local-first. Each is pinned in the project's component registry for reproducibility.La cascade délègue ses niveaux neuronaux à deux crates Rust open-source, exécutables en WebAssembly pour que le système reste local-first. Chacun est épinglé dans le registre de composants du projet pour la reproductibilité.

candle 0.7Apache-2.0 / MIT · minimalist ML framework in Rust ; runs MiniLM-L6-v2 for NER (Tier 2) and quantised LLMs (Tier 3) on the device, including in the browser via WASM.framework ML minimaliste en Rust ; exécute MiniLM-L6-v2 pour le NER (Niveau 2) et des LLM quantisés (Niveau 3) sur l'appareil, y compris dans le navigateur via WASM.
oxigraph 0.4MIT / Apache-2.0 · embedded SPARQL 1.1 store in Rust ; powers Tier 1 and the OWL 2 RL fixpoint engine (SL-3). No network, no daemon ; the KG lives in process.store SPARQL 1.1 embarqué en Rust ; alimente le Niveau 1 et le moteur de point fixe OWL 2 RL (SL-3). Pas de réseau, pas de démon ; le KG vit dans le processus.

The rest of the cascade — SPARQL planning, ShEx validation, PROV-O chain emission, grounding-ratio checks — is bra0-internal Rust code, with no external runtime dependency.Le reste de la cascade — planification SPARQL, validation ShEx, émission de chaîne PROV-O, vérifications de ratio d'ancrage — est du code Rust interne à bra0, sans dépendance d'exécution externe.

The contracts behind this pageLes contrats derrière cette page
ADR-027 · Symbolic-First Cascade — sophia + candle. The 90 / 7 / 3 share law and the « try symbolic first, fall through to neural only on miss » contract.Cascade symbolique d'abord — sophia + candle. La loi de répartition 90 / 7 / 3 et le contrat « tenter le symbolique d'abord, ne descendre au neuronal qu'en cas d'échec ».
ADR-090 · Tool-agnostic capability text — every capability statement stays tool-agnostic ; tool binding lives in the realization mapping.Texte de capacité indépendant des outils — chaque énoncé de capacité reste indépendant ; le couplage aux outils vit dans le mapping de réalisation.
ADR-091 · Realization mapping — every capability binds to its realization via fno:Mapping ; the binding is the audit trail.Mapping de réalisation — chaque capacité se lie à sa réalisation via fno:Mapping ; le couplage est la piste d'audit.
ADR-095 · Upstream-standard concepts (SKOS, SHACL, BFO, PROV-O) are used verbatim with citation — never paraphrased.Les concepts des standards en amont (SKOS, SHACL, BFO, PROV-O) sont utilisés verbatim avec citation — jamais paraphrasés.
ADR-116 · Two status badges on every capability — delivery status (gap, planned, partial, shipped) and doctrine stage (DRAFT, PROPOSED, PROVEN, SEALED).Deux badges de statut sur chaque capacité — statut de livraison (lacune, planifié, partiel, livré) et étape doctrinale (BROUILLON, PROPOSÉ, PROUVÉ, SCELLÉ).
ADR-117 · Visual primitives — the .cap blocks, data-cap-iri binding, and status badges used throughout this drill-down.Primitives visuelles — les blocs .cap, le binding data-cap-iri et les badges de statut utilisés tout au long de ce drill-down.

Back to BlueprintRetour au Blueprint