Home / ingénierie des connaissances, KnowledgeGraph, ontologies / Pourquoi une « couche sémantique » ne remplace pas un raisonneur ontologique
Le terme « semantic layer » s’est imposé dans le marketing des plateformes de données telles que dbt, Looker, AtScale, Timbr.ai, Microsoft Fabric IQ, pour n’en citer que quelques-unes. Derrière cette étiquette commune se cachent des réalités architecturales radicalement différentes, allant du simple catalogue de métadonnées au moteur d’inférence en logique descriptive. Les confondre conduit à des choix d’architecture sous-optimaux et à des systèmes qui semblent sémantiques en surface, mais échouent à fournir la rigueur logique nécessaire à une IA fiable ou à une interopérabilité sémantique profonde.
Cet article distingue trois niveaux : la couche sémantique BI (mapping de données), l’ontologie formelle avec son raisonneur (validation logique), et les moteurs d’inférence à grande échelle (traitement des instances). Il examine pour chacun des outils disponibles en 2026, leur état de maintenance si nécessaire, et leurs limites respectives.
Dans les limites bien documentées des premiers Data Lake figurait l’incapacité à qualifier la sémantique des données hétérogènes qui y affluaient. Ce qui a logiquement conduit les outils BI à intégrer des catalogues de données et des couches de virtualisation sémantique. Un tel catalogue d’entreprise est indéniablement une bonne pratique de gouvernance : relier des bases de données relationnelles disparates autour de définitions communes est une condition nécessaire à l’analyse décisionnelle cohérente.
Mais cette approche de mapping sémantique est fondamentalement différente du raisonnement automatique formel. Elle facilite la découverte et l’agrégation des données ; elle ne garantit pas l’interopérabilité sémantique au sens rigoureux du terme, c’est-à-dire :
Pour qu’une machine détecte des incohérences, infère des classifications implicites ou valide la cohérence logique d’un ensemble de faits, il est impératif de construire des ontologies formelles en logique descriptive (typiquement OWL 2 DL) et de les soumettre à une chaîne de validation dédiée.
Une modélisation naïve définit Employé comme une sous-classe de Personne : dans le système RH, ce serait une personne sous contrat actif ; dans le système Paie, toute personne ayant perçu au moins un salaire, y compris les anciens collaborateurs. Un outil de mapping fera coexister ces deux définitions sous le même label sans détecter la contradiction. Un raisonneur OWL, lui, la détectera si les deux définitions sont formellement spécifiées en deux classes disjointes : EmployéActif comme personne liée à un contrat en cours, AncienCollaborateur comme personne ayant perçu un salaire sur une appartenance terminée. La contradiction détectable par le raisonneur surgit précisément quand un outil de mapping les fait correspondre sous un même concept Employé sans distinction temporelle, posant ainsi implicitement leur équivalence.
Mais cette modélisation est elle-même ontologiquement discutable.
Employé est une propriété anti-rigide au sens d’OntoClean : une personne peut cesser d’être employée sans cesser d’exister. Traiter Employé comme une sous-classe de Personne revient à confondre un rôle temporaire avec une propriété essentielle — une erreur que le raisonneur ne détectera pas si la contrainte n’est pas formalisée, mais qu’un audit OntoClean mettra en évidence.
La modélisation correcte introduit une classe distincte: Appartenance. Cette dernière relie une Personne à une Organisation pendant une période donnée, avec un rôle et un type de contrat. Employé devient alors non plus une catégorie de personnes, mais une catégorie d’appartenances actives sous contrat de travail. Un raisonneur peut alors déduire automatiquement : qui est actuellement employé, qui l’a été et quand, quels contrats se chevauchent, quelles incohérences temporelles existent et ce, sans qu’aucune de ces inférences ait besoin d’être programmée explicitement.
C’est précisément ce que ni une jointure SQL ni une couche sémantique BI ne peuvent accomplir de façon déclarative et générique.
Cet exemple illustre pourquoi il est essentiel de distinguer les outils selon leur capacité réelle de raisonnement. Examinons deux plateformes emblématiques pour vérifier cette hypothèse.
Fabric IQ repose sur un modèle de graphe à propriétés étiquetées (Labeled Property Graph) stocké dans OneLake, exposé via GQL (Graph Query Language, le nouveau standard ISO pour graphes à propriétés) et lié à des sources de données OneLake par data binding. L’Ontology Playground est un outil front-end pédagogique, une application JavaScript statique, sans backend, qui permet de visualiser et prototyper des ontologies, d’importer/exporter du RDF/XML pour compatibilité avec l’écosystème OWL, et de générer des pull requests vers un catalogue communautaire.
Il n’y a aucun raisonneur de logique descriptive dans cet écosystème. Les « contraintes» évoquées dans la documentation sont des vérifications de qualité des données (nullabilité, plages, unicité) et des règles déclenchement-action via Fabric Activator. Ce ne sont pas des vérifications de cohérence TBox ni de satisfaisabilité de classes. Pour valider logiquement une ontologie prototypée dans l’Ontology Playground, il faut l’exporter en OWL et l’ouvrir dans Protégé avec HermiT ou Openllet.
Timbr.ai se positionne comme une couche sémantique SQL : son cœur est un moteur de réécriture de requêtes (SQL rewrite engine) qui traduit des ontologies définies en DDL SQL étendu (Data Definition Language) et exportables en OWL pour interopérabilité, en vues SQL et JOIN automatiques sur les sources relationnelles sous-jacentes (Snowflake, Databricks, Azure, etc.). Les inférences disponibles (héritage de classes, quelques règles de propriétés) sont implémentées comme des transformations SQL déterministes, sans garantie de complétude logique formelle.
Il n’y a pas de vérification de cohérence TBox, pas de détection d’insatisfaisabilité, pas de raisonnement en monde ouvert (Open World Assumption). Timbr opère sous les hypothèses du monde fermé relationnel : l’absence d’un fait est une absence de donnée, non une inférence. Toute validation ontologique formelle est par construction extérieure à cet outil.
Ces deux plateformes répondent à des besoins concrets et légitimes d’unification et d’interrogation des données d’entreprise. Elles ne sont simplement pas des environnements de raisonnement formel en logique descriptive, et ne sauraient en tenir lieu.
La validation logique d’une base de connaissance reposant sur une ontologie formelle se décompose en deux niveaux qui ne mobilisent pas les mêmes outils.
La TBox (Terminological Box) est la partie schématique de l’ontologie : définitions de classes, propriétés, axiomes, restrictions. Sa validation exige un raisonneur à tableau (algorithme de tableau), qui construit de façon exhaustive les modèles possibles de la théorie pour détecter :
Cette approche est la seule garantissant la décidabilité et la complétude formelle pour OWL 2 DL (SROIQ), au prix d’une complexité élevée 2-NEXPTIME pour OWL 2 DL complet, ce qui rend le raisonnement combiné TBox+ABox impraticable dès que l’ABox dépasse quelques dizaines de milliers d’instances non triviales.
Note : Whelk supporte également OWL 2 RL
, ce qui le rend plus polyvalent qu’ELK pour les cas combinant hiérarchies massives et règles métier.L’ABox (Assertion Box) contient les instances : les faits individuels qui peuplent la base de connaissance, en l’occurrence le Knowledge Graph RDF si on utilise les standards du W3C. Ainsi que vu précédemment, dès que l’ABox dépasse quelques dizaines de milliers d’instances non triviales, la complexité des algorithmes de tableau rend le temps de calcul incompatible avec toute contrainte opérationnelle raisonnable : le raisonneur termine en théorie, mais dans un temps qui le rend inutilisable en pratique industrielle.
L’industrie a dès lors convergé vers des profils OWL restreints, notamment OWL 2 RL (règles) et OWL 2 EL (hiérarchies massives, typiquement biomédicales) dont les fragments sont traductibles en règles Datalog, permettant un raisonnement par chaînage avant (matérialisation) ou réécriture de requête, beaucoup plus scalables.
Le choix architectural entre matérialisation et réécriture dépend étroitement des cas d’usage : volume des données, fréquence de mise à jour, profondeur de la hiérarchie, nécessité de raisonnement sur des sources virtuelles. Les systèmes qui implémentent ces moteurs sont polynomiaux et extrêmement rapides, permettant de traiter des Knowledge Graphs massifs, même s’ils sacrifient l’expressivité complète d’OWL 2 DL et ne détectent pas certaines incohérences logiques profondes (ex: classes insatisfiables complexes).
Cependant, pour la majorité des cas d’usage entreprise (hors recherche fondamentale ou systèmes critiques dans la défense ou la pharmacie), ces moteurs RL/EL suffisent amplement.
À condition de ne pas leur demander ce que seul un raisonneur à tableau peut faire, et d’assembler la chaîne en conséquence.
Aucun outil disponible en 2026 ne couvre l’intégralité de la chaîne de validation formelle des Knowledge Graphs. La bonne pratique consiste à assembler des briques complémentaires selon les besoins :
Savoir assembler ces briques, sans confondre chacune d’elles avec une couche sémantique BI « tout-en-un », est précisément ce qui distingue une ingénierie ontologique rigoureuse d’un habillage marketing.
La validation d’une ontologie dépasse la cohérence logique. Deux dimensions complémentaires seront traitées dans les articles suivants de cette série :
.