Knowledge
ISNAD — Knowledge Model (V1)
Sur cette page
Mission 16R.1 — modèle scientifique uniquement. Aucun code, aucune migration, aucune implémentation. Ce document fige le vocabulaire et les relations qui gouverneront toutes les étapes ultérieures (16R.2+).
- Base : Quality Engine 16A.3 / 16A.4, Dependency Graph 16D.1–16D.3,
couche
narrator_assertions/assertion_evidence/narrator_reconciliation_decisionsdéjà présente (inventaire 16A.1). - Statut :
DESIGN.
0. Décision fondatrice#
Les livres de rijāl ne sont pas des tables de narrateurs. Ce sont des sources scientifiques.
État actuel : la base provient d'une saisie structurée de Taqrīb al-Tahdhīb — une ligne « narrateur » ≈ une notice (tarjama) de Taqrīb aplatie. Ce raccourci a servi de socle mais confond deux niveaux :
| Niveau | Nature | Exemple |
|---|---|---|
| Entité | ce qui existe dans le monde | la personne Hishām b. ʿUrwa |
| Assertion | ce qu'un savant a écrit sur elle | « Taqrīb : thiqa, a changé à la fin de sa vie » |
Le modèle V1 sépare ces niveaux : une entité canonique unique, sur laquelle chaque ouvrage dépose des assertions sourcées. Taqrīb devient une source parmi d'autres, pas la table.
1. Narrator — entité canonique#
Définition. Un Narrator est une personne historique unique de la
chaîne de transmission. Il n'a aucune donnée savante en propre : il ne
porte que ce qui est nécessaire pour l'identifier et le désambiguïser.
Champs d'identité (stables, non savants).
| Champ | Rôle |
|---|---|
id | identifiant interne stable, jamais réutilisé |
canonical_name (ar / translit) | forme d'affichage de référence — dérivée, révisable |
kunya, nasab, nisba, laqab (formes normalisées) | désambiguïsation |
death_year (fourchette) | désambiguïsation chronologique |
generation_rank (ṭabaqa) | désambiguïsation générationnelle |
identity_status | PROVISIONAL / CONSOLIDATED / DISPUTED |
Ce qui n'est PAS sur le Narrator : le grade critique (jarḥ / taʿdīl), la fiabilité, les maîtres/élèves affirmés, les jugements, les dates précises, les anecdotes. Tout cela est un ensemble d'assertions (§4).
Règle d'or. Le canonical_name et tout attribut « résumé » affiché
sont calculés à partir des assertions courantes (§4.4) — jamais saisis
en dur. Le Narrator est un point d'ancrage, pas un enregistrement de
contenu.
Correspondance base actuelle. La ligne narrators d'aujourd'hui =
Narrator (identité) + un Knowledge Entry Taqrīb (§3) + N
Assertion (§4). La migration 16R.2 extraira ces trois niveaux ; ce
document ne la spécifie pas.
2. Knowledge Source — l'ouvrage savant#
Définition. Une KnowledgeSource est un ouvrage de référence du
patrimoine critique, considéré comme témoin scientifique. Elle est
citable, datable, attribuable, et versionnable (édition).
Exemples visés (non exhaustif).
| Source | Auteur | Nature | Rôle typique |
|---|---|---|---|
| Taqrīb al-Tahdhīb | Ibn Ḥajar | synthèse critique brève | grade résumé, ṭabaqa |
| Tahdhīb al-Tahdhīb | Ibn Ḥajar | biographie détaillée | maîtres/élèves, jugements cités |
| Tahdhīb al-Kamāl | al-Mizzī | biographie exhaustive | corpus des chaînes, maîtres/élèves |
| Mīzān al-Iʿtidāl | al-Dhahabī | dictionnaire des affaiblis | jarḥ, controverses |
| al-Kāshif | al-Dhahabī | abrégé | grade résumé |
| al-Thiqāt | Ibn Ḥibbān | recension des fiables | taʿdīl |
| al-Kāmil fī l-ḍuʿafāʾ | Ibn ʿAdī | affaiblis + ʿilal | jarḥ motivé, ḥadīths-preuves |
| al-Jarḥ wa-l-taʿdīl | Ibn Abī Ḥātim | jugements rapportés | jarḥ / taʿdīl avec isnād |
| Fatḥ al-Bārī | Ibn Ḥajar | commentaire de Bukhārī | assertions incidentes (§6) |
Champs.
| Champ | Rôle |
|---|---|
id, slug | identifiant |
title_ar, author, author_death_year | attribution |
work_type | SYNTHESIS / DETAILED_RIJAL / DUAFA_DICTIONARY / THIQAT_RECENSION / ILAL / HADITH_COMMENTARY |
methodological_note | biais / portée connus (ex. tashaddud d'Ibn Ḥibbān sur les majāhīl) |
authority_weight | pondération par défaut (indicative, jamais automatique) |
Édition (SourceEdition) : une source a des éditions concrètes
(muḥaqqiq, éditeur, année, pagination). Une citation pointe une édition
précise — même logique que commentary_editions déjà en base.
Correspondance base actuelle. data_sources / datasets couvrent la
provenance d'import (fichier, licence, checksum). KnowledgeSource est le
niveau au-dessus : l'ouvrage en tant qu'objet scientifique, indépendant
du support numérisé qui l'a fait entrer dans la base.
3. Knowledge Entry — la notice (tarjama)#
Définition. Un KnowledgeEntry est la notice qu'une source consacre à
un narrateur : la tarjama de Hishām b. ʿUrwa dans Tahdhīb al-Kamāl, le
paragraphe de Taqrīb, l'entrée du Mīzān…
C'est le pont entre un Narrator (§1) et une KnowledgeSource (§2).
Champs.
| Champ | Rôle |
|---|---|
id | identifiant |
narrator_id → Narrator | à qui cette notice se rapporte (après résolution) |
source_id → KnowledgeSource | dans quel ouvrage |
source_edition_id | quelle édition |
locator | volume / page / n° de notice / offsets |
source_entry_ref | l'identifiant natif dans la source numérisée (ex. n° Taqrīb) |
raw_text | le texte arabe intégral de la notice (référence, jamais réécrit) |
entry_resolution_status | UNLINKED / LINKED / AMBIGUOUS / CONFLICTED |
Cardinalité.
- Une notice appartient à exactement une source.
- Une notice résolue pointe un Narrator.
- Un Narrator a 0..N notices — idéalement une par source majeure.
- Une notice non résolue (
UNLINKED/AMBIGUOUS) existe quand même : elle attend une décision de rapprochement (§ crosswalk, déjà en base).
Pourquoi séparer Entry et Assertion. La notice est l'unité de citation (« voir Tahdhīb al-Kamāl, XXX/123 ») ; l'assertion est l'unité de raisonnement. Une notice produit plusieurs assertions ; une assertion sait toujours de quelle notice elle vient.
4. Assertion — la brique de connaissance#
Définition. Une Assertion est une affirmation atomique et typée
extraite d'une notice, rattachée au Narrator canonique.
« D'après Taqrīb (notice #7302), Hishām b. ʿUrwa est thiqa. » « D'après Mīzān (notice #9218), il a changé (taghayyara) après son installation à Kūfa. » « D'après Tahdhīb al-Kamāl, il a entendu de son père ʿUrwa. »
Champs (aligne le contrat déjà présent narrator_assertions).
| Champ | Rôle |
|---|---|
id | identifiant |
narrator_id → Narrator | sujet canonique |
knowledge_entry_id → KnowledgeEntry | d'où elle vient |
field_type | dimension : GRADE_CRITICAL, RELIABILITY_NOTE, TABAQA, DEATH_YEAR, BIRTH_YEAR, NAME_FORM, KUNYA, NISBA, TEACHER, STUDENT, RESIDENCE, TADLIS, CHANGE_OF_MEMORY, SECT_ATTRIBUTION, BIOGRAPHICAL_EVENT |
value_normalized | valeur machine (ex. grade → échelle marātib d'Ibn Ḥajar) |
value_raw | citation textuelle exacte de la source |
polarity | TAWTHIQ / TAJRIH / NEUTRAL / NUANCE (pour les dimensions critiques) |
assertion_basis | SOURCE_STATEMENT (la source l'affirme) / SOURCE_QUOTES_AUTHORITY (la source cite un tiers : « Aḥmad a dit… ») / DERIVED (nous l'inférons) |
attributed_authority | si SOURCE_QUOTES_AUTHORITY : Yaḥyā b. Maʿīn, al-Nasāʾī… |
confidence | 0–1, de l'extraction (pas du jugement savant) |
canonical_status | NOT_REVIEWED / CANONICAL_CURRENT / SUPERSEDED / REJECTED / DISPUTED |
supersedes_assertion_id | chaîne append-only (correction = nouvelle ligne) |
4.1 Atomicité#
Une phrase de source = souvent plusieurs assertions.
« thiqa faqīh rubbamā dallasa » →
GRADE_CRITICAL = thiqa (TAWTHIQ) +
BIOGRAPHICAL_EVENT = faqīh (NEUTRAL) +
TADLIS = occasionnel (NUANCE).
4.2 Append-only#
Aucune assertion n'est modifiée ni supprimée. Une ré-extraction, une
correction humaine, un changement d'édition → nouvelle assertion qui
supersedes l'ancienne. Même discipline que
commentary_validated_rules et narrator_reconciliation_decisions.
4.3 Assertions contradictoires = normal#
al-Thiqāt dit fiable, al-Kāmil nuance : les deux assertions
coexistent. Le modèle ne tranche pas au niveau assertion. La
réconciliation (narrator_reconciliation_decisions, déjà en base) produit
une décision datée et justifiée, jamais un écrasement.
4.4 Vue « narrateur consolidé »#
Ce qu'affiche l'app pour un narrateur (grade retenu, ṭabaqa, dates,
maîtres/élèves) est une projection calculée : pour chaque field_type,
les assertions CANONICAL_CURRENT + la décision de réconciliation
courante. Purement dérivé, reproductible, réversible.
5. Evidence — l'ancrage probant#
Définition. Une Evidence est le fragment vérifiable qui soutient une
assertion : le texte cité, sa localisation exacte, sa provenance.
Champs (aligne assertion_evidence déjà présent).
| Champ | Rôle |
|---|---|
id | identifiant |
assertion_id → Assertion | ce qu'elle soutient |
evidence_type | SOURCE_QUOTE (extrait de la notice) / CROSS_SOURCE (une autre source confirme) / ISNAD_OBSERVATION (constaté dans le corpus de chaînes) / EDITORIAL_APPARATUS / HUMAN_REVIEW |
quoted_text_ar | le passage exact (≤ quelques lignes) |
locator | source_edition + volume/page/offsets |
polarity | SUPPORTS / CONTRADICTS / CONTEXT |
strength | DIRECT / INDIRECT / WEAK |
provenance | qui/quoi a produit l'evidence (extracteur + version, ou reviewer) |
Invariant d'honnêteté. Une assertion CANONICAL_CURRENT doit avoir
au moins une evidence SUPPORTS de type SOURCE_QUOTE. Pas de citation →
l'assertion reste NOT_REVIEWED. Même règle que
commentary_validated_rules (VALIDATED_RULE exige une preuve citée).
Evidence ≠ Assertion. L'evidence est le texte ; l'assertion est ce qu'on en tire. Deux assertions peuvent partager la même evidence ; une assertion peut être soutenue par plusieurs evidences de sources différentes.
6. Relier Fatḥ al-Bārī à ce modèle#
Fatḥ al-Bārī est déjà modélisé (commentary foundation 15C/15D :
commentary_documents, commentary_passages, commentary_alignments,
commentary_validated_rules, moteur fath-matcher branché 16D.3). Le
Knowledge Model ne le remplace pas — il l'absorbe comme une
KnowledgeSource de type HADITH_COMMENTARY.
Deux usages distincts de Fatḥ, deux rattachements.
-
Commentaire d'un ḥadīth (usage principal actuel) : inchangé.
commentary_passage→commentary_alignment→ ḥadīth. Le Dependency Graph 16D.1 gère déjà la propagation. -
Assertion incidente sur un narrateur : quand Ibn Ḥajar, en commentant un ḥadīth, juge un transmetteur (« wa-huwa thiqa lākinnahu kāna yudallis »), ce passage devient :
- une
KnowledgeSource= Fatḥ al-Bārī (work_type = HADITH_COMMENTARY) ; - un
KnowledgeEntryléger = le passage concerné (pas une tarjama structurée :locator= document + offsets du passage) ; - une ou plusieurs
Assertion(field_typecritique,assertion_basis = SOURCE_STATEMENT,attributed_authority = Ibn Ḥajar) ; - une
EvidenceSOURCE_QUOTE= le passage exact (lecommentary_passagesert d'ancrage —evidence.locatorréutilisedocument_id+ offsets).
- une
Pont technique. Un commentary_passage de passage_kind critique
(NARRATOR_COMMENTARY, et cas ciblés de ISNAD) est candidat à
produire une Assertion + Evidence rattachées à un Narrator. Le
rapprochement passage→narrateur réutilise la logique de résolution de
mentions (narrator-resolver, contextual-resolver-core). C'est un
futur moteur du Dependency Graph (commentary-assertion-extractor,
hors périmètre 16R.1), pas une modification du moteur fath-matcher.
Résultat : Fatḥ contribue au dossier scientifique d'un narrateur au même titre que le Mīzān, tout en restant un commentaire de ḥadīth. Une seule source, deux projections.
7. Le clic sur un narrateur → toutes les sources#
Écran cible : le dossier scientifique (« tarjama agrégée »).
NARRATEUR : Hishām b. ʿUrwa b. al-Zubayr al-Asadī [CONSOLIDATED]
────────────────────────────────────────────────────────────────
IDENTITÉ (calculée)
kunya Abū l-Mundhir · ṭabaqa 5 · † 146 h · Médine → Kūfa
GRADE CRITIQUE (assertions par source)
Taqrīb (Ibn Ḥajar) ........... thiqa faqīh, rubbamā dallasa « … » [voir]
al-Kāshif (al-Dhahabī) ....... ḥujja « … » [voir]
Mīzān (al-Dhahabī) .......... thiqa, mais taghayyara à Kūfa « … » [voir]
al-Kāmil (Ibn ʿAdī) ......... défend sa fiabilité « … » [voir]
Fatḥ al-Bārī (Ibn Ḥajar) .... thiqa, yudallis (ḥadīth #1234) « … » [voir]
─ rapporté par : Yaḥyā b. Maʿīn → thiqa (via Tahdhīb al-Kamāl)
DÉCISION ISNAD : thiqa ; tadlīs à surveiller sur chaînes muʿanʿana
tardives → maillon PROBABLE hors samāʿ explicite
[décision du 2026-.. · justifiée · révisable]
MAÎTRES / ÉLÈVES (assertions + corpus)
entend de : ʿUrwa (père) [Tahdhīb al-Kamāl + 412 chaînes] …
transmet à : Mālik, al-Thawrī, …
CHRONOLOGIE DES SOURCES (naissance … 146h … Taqrīb 852h)
Mécanique.
Narrator.id→ toutes lesKnowledgeEntry(LINKED), groupées parKnowledgeSource, triées parauthority_weightpuis date d'auteur.- Pour chaque entrée : ses
AssertionCANONICAL_CURRENT, parfield_type. - Chaque assertion affiche sa valeur normalisée + sa citation
exacte (
Evidence.quoted_text_ar) + un lien[voir]vers la notice/édition/page (ou le passage de Fatḥ). - Les blocs « calculés » (identité, décision isnād) affichent leur provenance : quelles assertions + quelle décision de réconciliation.
- Assertions
SUPERSEDED/REJECTEDrestées consultables (historique). - Entrées
AMBIGUOUS/CONFLICTEDsignalées, jamais masquées.
Aucune donnée n'est « la vérité » sans source. Chaque ligne de l'écran
remonte à une Evidence citable ou à une décision humaine datée.
8. Préparation du Hadith Reasoning Engine#
Le futur moteur de raisonnement sur les ḥadīths (grading d'une chaîne, détection de ʿilal, comparaison de ṭuruq) a besoin d'entrées atomiques, sourcées, pondérables, non écrasées. Le Knowledge Model les fournit :
| Besoin du Reasoning Engine | Ce que le modèle apporte |
|---|---|
| Juger un maillon de chaîne | Assertion GRADE_CRITICAL / polarity par source, + décision de réconciliation, au lieu d'un grade unique opaque |
| Pondérer les avis divergents | KnowledgeSource.authority_weight + assertion_basis + attributed_authority (jarḥ mufassar vs mubham) |
| Traiter le tadlīs / ikhtilāṭ | field_type dédiés (TADLIS, CHANGE_OF_MEMORY) → conditions sur samāʿ explicite, contemporanéité, lieu/date |
| Détecter une ʿilla | Evidence ISNAD_OBSERVATION + assertions TEACHER/STUDENT confrontées au corpus de chaînes |
| Rester auditable | tout verdict cite ses Assertion + Evidence + decision_id — reproductible et réversible |
| S'intégrer sans refactor | nouveaux moteurs = nouveaux nœuds du Dependency Graph 16D.1 (link-reliability, chain-grader, illa-scanner), consommant Assertion comme fath-matcher consomme commentary_alignment |
| Éviter le raisonnement circulaire | assertion_basis = DERIVED tracé à part ; une inférence ne peut pas se citer elle-même (règle déjà appliquée pour commentary_validated_rules) |
En une phrase. Le Reasoning Engine ne raisonnera jamais sur des
« narrateurs » : il raisonnera sur des assertions sourcées attachées à
des entités canoniques, exactement comme le Quality Engine raisonne
aujourd'hui sur des commentary_alignment hash-gated et audités.
9. Récapitulatif du modèle#
Schéma entité-relation (résumé) :
ASSERTION.supersedes_assertion_id (§4.2) est une auto-référence append-only,
omise ci-dessus pour lisibilité : une correction crée toujours une nouvelle
ligne ASSERTION, jamais une modification en place.
Schéma texte équivalent (flux de lecture) :
KnowledgeSource (ouvrage) ──1..N──> SourceEdition
│
│ 1..N
▼
KnowledgeEntry (tarjama / passage) ──N..1──> Narrator (entité canonique)
│ ▲
│ 1..N │ projection calculée
▼ │
Assertion (claim atomique typé) ──N..1────────────┘
│
│ 1..N
▼
Evidence (citation + locator + provenance)
Réconciliation : narrator_reconciliation_decisions (datée, justifiée, append-only)
Fatḥ al-Bārī : KnowledgeSource(HADITH_COMMENTARY) → Entry léger → Assertion + Evidence
Invariants.
- Le
Narratorne porte aucune donnée savante — seulement de l'identité. - Toute donnée savante =
Assertionrattachée à uneKnowledgeEntryd'uneKnowledgeSource. - Toute
AssertionCANONICAL_CURRENTa uneEvidenceSOURCE_QUOTE. - Rien n'est écrasé : correction = nouvelle ligne +
supersedes. - Les contradictions entre sources coexistent ; seule une décision datée et justifiée tranche, jamais un import.
- Tout ce qu'affiche l'app remonte à une citation ou à une décision humaine.
10. Hors périmètre 16R.1 (pour mémoire)#
- Migration d'extraction Taqrīb → (Narrator + Entry + Assertions) : 16R.2.
- Ingestion des autres sources (Tahdhīb al-Kamāl, Mīzān…) : 16R.3+.
- Moteur
commentary-assertion-extractor(Fatḥ → assertions narrateur). - Moteurs de raisonnement ḥadīth (
chain-grader,illa-scanner). - Pondération d'autorité automatique (reste manuelle/indicative en V1).
V1 — 16R.1. Modèle gelé. Prochaine étape : 16R.2 (extraction Taqrīb, sans perte, réversible).