Connaissances
Sémantique : relier le métier aux produits de données
Un schéma indique comment les données sont stockées. Une couche sémantique indique ce qu'elles signifient. Cette page explique ce qu'est une couche sémantique, comment la fonctionnalité Semantics d'Entropy Data la modélise, et comment l'ontologie obtenue se relie aux produits de données et aux Data Contracts.
Le problème
La plupart des plateformes de données savent très bien vous dire quelle table, quelle colonne et quel type. Elles savent beaucoup moins bien vous dire ce que tout cela veut dire. Or les questions qui ralentissent les équipes sont justement de ce second ordre :
- Trois équipes disposent d'une colonne
customer_id. Désignent-elles les mêmes clients ? Les commandes passées sans compte sont-elles incluses ? - La finance et le produit publient tous deux un Gross Merchandise Value. Les chiffres diffèrent. Quelle formule fait foi ?
- Un nouvel analyste a besoin des données de suivi d'expédition. Chercher « shipment » dans une douzaine de schémas remonte quarante colonnes. Lesquelles sont canoniques ?
Ce sont des problèmes de sémantique, pas de schéma, et ils passent mal à l'échelle à mesure que le nombre de produits de données, d'équipes et d'outils d'IA augmente.
Ce qu'est une couche sémantique
Une couche sémantique est une définition nommée et gouvernée de votre domaine, indépendante de toute table ou de tout système particulier. Elle repose sur deux éléments principaux :
- Les concepts : les objets de votre activité, à savoir les entités, les propriétés et les métriques.
- Les relations : la façon dont ces concepts se relient entre eux et aux champs des Data Contracts.
Les concepts
Chaque concept possède un identifiant stable, un nom lisible, une description et un IRI qui permet d'y faire référence depuis des outils externes. Le concept Editorial Object d'EBU Core Plus, par exemple, porte l'IRI suivant :
http://www.ebu.ch/metadata/ontologies/ebucoreplus#EditorialObject
Les concepts vivent dans des espaces de noms (main par défaut) et se déclinent en quatre types :
- Entity : les noms communs de votre domaine. Customer, Order, Article, Shipment.
- Shared Property : un attribut réutilisable, de type primitif, rattaché à une ou plusieurs entités. Customer Email, SKU, Order ID. Défini une seule fois, référencé à plusieurs endroits.
- Metric : une grandeur mesurable dotée d'une unité, d'un sens d'amélioration et, éventuellement, d'une formule. Gross Merchandise Value, Conversion Rate, Order Fulfillment Time.
- Group : un conteneur pour organiser les concepts par domaine ou par sujet. Sales, Fulfillment, Catalog, Controlling.
Les concepts portent les métadonnées dont dépendent la gouvernance et l'outillage IA : type de données, classification (par exemple PII, sensible, restreint), indicateurs « requis » et « unique », exemples, énumérations, expressions régulières, annotations multilingues et tags.
Les concepts en YAML
L'ontologie complète s'édite en YAML, ce qui est pratique pour les modifications en masse, la revue de code et le versionnement dans Git. Chaque concept dispose également de son propre éditeur YAML. Voici un extrait de l'ontologie retail de démonstration :
concepts:
- id: order
name: Order
kind: entity
group: Sales
description: A confirmed purchase placed by a customer in the online shop.
properties:
- ref: Order ID
- ref: Customer ID
- name: placed_at
kind: property
data_type: timestamp
- name: order_status
kind: property
data_type: string
enum: [pending, confirmed, shipped, delivered, cancelled, returned]
- name: total_amount
kind: property
data_type: number
- name: currency
kind: property
data_type: string
pattern: ^[A-Z]{3}$
examples: [EUR, USD]
annotations:
- name: owl:equivalentClass
value: http://schema.org/Order
Deux détails méritent l'attention. Les entrées ref rappellent des propriétés partagées (Order ID et Customer ID), définies une fois puis réutilisées d'une entité à l'autre. L'annotation owl:equivalentClass aligne le concept sur une ontologie externe (schema.org ici), ce qui garde le modèle interne interopérable avec des standards comme GoodRelations ou FIBO.
Des métriques avec formules
Une métrique consigne son unité, le sens dans lequel elle s'améliore et son mode de calcul. La finance, le produit et les outils d'IA disposent ainsi d'une définition unique sur laquelle s'accorder.
concepts:
- id: gmv
name: Gross Merchandise Value
kind: metric
group: Controlling
description: Total value of all placed orders before refunds, returns, and discounts.
unit: EUR
better_when: higher
formula: "SUM(order.total_amount)"
- id: average_order_value
name: Average Order Value
kind: metric
group: Sales
unit: EUR
better_when: higher
formula: "SUM(order.total_amount) / COUNT(DISTINCT order.id)"
Les relations
Les concepts se relient entre eux par des relations orientées et typées. Les types les plus courants sont hasProperty, isA, memberOf, measures, derived_from et relatedTo.
relationships:
- id: gmv_measures_order_total
type: measures
relates:
- concept: gmv
- concept: order.total_amount
verbalizes: "{Gross Merchandise Value} measures {Order.total_amount}"
- id: aov_derived_from_gmv
type: derived_from
relates:
- concept: average_order_value
- concept: gmv
verbalizes: "{Average Order Value} derived from {Gross Merchandise Value}"
La page de chaque concept affiche ses arêtes entrantes et sortantes, ce qui permet de parcourir l'ontologie dans les deux sens. La vue diagramme présentée en haut de cette page restitue le même espace de noms sous forme de graphe interactif, avec déplacement, zoom et accès direct à la page de n'importe quel concept d'un simple clic sur son nœud.
Des traductions en plusieurs langues
Chaque concept, propriété et relation peut porter la traduction de son nom et de sa description dans autant de langues que nécessaire. Les traductions sont stockées comme des entrées annotation marquées par un attribut lang, exposées via le point d'accès SPARQL et affichées dans l'interface selon la langue choisie par l'utilisateur. Une même ontologie peut ainsi servir des analystes anglophones, des product managers francophones et des auditeurs germanophones à partir d'une source unique.
concepts:
- id: customer
name: Customer
kind: entity
description: A natural person who places orders in the online shop.
annotations:
- name: name
value: Kunde
lang: de
- name: name
value: Client
lang: fr
- name: description
value: Eine natürliche Person, die Bestellungen im Online-Shop aufgibt.
lang: de
- name: description
value: Une personne physique qui passe des commandes dans la boutique en ligne.
lang: fr
Les ontologies sectorielles livrées avec Entropy Data sont traduites d'emblée. EBU Core Plus, par exemple, fournit libellés et descriptions en anglais, en allemand et en français pour chaque classe et chaque propriété.
Relier les produits de données et les Data Contracts
Une couche sémantique n'a d'utilité que si les données qui l'implémentent pointent vers elle. Entropy Data s'appuie sur le mécanisme authoritativeDefinitions de l'Open Data Contract Standard pour relier les concepts aux données qui les concrétisent, à trois niveaux :
- Sur un produit de données (ODPS), pour le représenter dans son ensemble.
- Sur un Data Contract ou sur l'un de ses objets de schéma.
- Sur un champ précis à l'intérieur d'un schéma de contrat.
Le même lien peut s'écrire directement en YAML ODCS. Extrait d'un contrat de démonstration sur les expéditions :
properties:
- name: shipment_id
businessName: Shipment ID
logicalType: string
primaryKey: true
authoritativeDefinitions:
- type: "semantics"
url: "https://demo.entropy-data.com/my-organization/semantics/main/shipment_id"
- name: order_id
authoritativeDefinitions:
- type: "semantics"
url: "https://demo.entropy-data.com/my-organization/semantics/main/order_id"
Le marqueur type: "semantics" indique à Entropy Data que l'URL pointe vers un concept sémantique, et le lien apparaît alors comme une référence cliquable sur la page du contrat. Sur la page du concept, Entropy Data liste à son tour tous les produits de données et Data Contracts qui le référencent : une question comme « quels jeux de données contiennent des adresses e-mail de clients ? » trouve ainsi une réponse immédiate.
À quoi sert Semantics
Une recherche par le sens
Les consommateurs cherchent Shipment et trouvent tous les produits de données qui implémentent ce concept, quel que soit le nom des colonnes sous-jacentes.
Des définitions cohérentes d'une équipe à l'autre
Une seule définition de Customer Email est référencée par plusieurs Data Contracts. Il suffit de passer sa classification à « sensible » pour que toutes les références soient mises à jour.
Une source de vérité unique pour les métriques
Le GMV, le taux de conversion et les marges sur coûts variables disposent de définitions canoniques assorties de formules, ce qui supprime l'ambiguïté qui s'accumule habituellement dans les tableurs.
Du contexte pour les agents IA
Les LLM ignorent ce que votre entreprise entend par Active Customer ou Contribution Margin 2. Lorsque des agents accèdent aux données via notre serveur MCP, Semantics leur fournit ce contexte : ils font les jointures sur les bonnes clés et s'appuient sur les bonnes définitions de métriques.
Démarrer avec une ontologie sectorielle
Nul besoin de modéliser votre domaine en partant de zéro. Entropy Data est livré avec des ontologies prêtes à importer pour plusieurs secteurs. Ouvrez Studio, allez dans Semantics et utilisez Add → Import Industry Standard :
- GoodRelations (e-commerce)
- FIBO (finance)
- EBU Core Plus (médias)
- CGMES (énergie)
- IDMP (pharmacie)
- EPCIS (chaîne d'approvisionnement)
- IATA ONE Record (fret aérien)
- TM Forum SID (télécoms)
Vous pouvez aussi téléverser vos propres fichiers RDF/OWL (Turtle, OWL, RDF/XML, N-Triples, N3, JSON-LD), ou interroger l'ontologie par programmation via le point d'accès SPARQL exposé sur /api/semantics/sparql.
Standards ouverts : OSI
Entropy Data s'engage en faveur des standards ouverts pour la couche sémantique et a rejoint l'initiative Open Semantic Interchange (OSI). OSI est un effort open source, indépendant de tout éditeur, visant à normaliser l'échange de modèles sémantiques entre plateformes de BI, agents IA et outils d'analyse, afin qu'une même définition d'entité ou de métrique reste cohérente dans tout votre écosystème. Nous prendrons en charge nativement le futur standard OSI Ontology dans Semantics, aux côtés de l'Open Data Contract Standard et de l'Open Data Product Standard de Bitol pour les Data Contracts et les produits de données.
La place de Semantics dans Entropy Data
- Marketplace s'appuie sur les concepts sémantiques pour la recherche.
- Studio est l'espace où les experts métier et les Data Product Owners entretiennent les concepts et les relient aux contrats.
- Governance réutilise les classifications sémantiques (PII, sensible, etc.) dans des politiques transverses.
- Le serveur MCP s'appuie sur Semantics pour ancrer les appels d'outils des LLM dans votre vocabulaire métier.
Pour commencer
Semantics est disponible derrière un feature flag :
- Entropy Data Cloud : écrivez-nous pour l'activer sur votre organisation.
- Auto-hébergé : définissez
APPLICATION_SEMANTICS_ENABLED=true, puis redémarrez l'application.
Pour essayer Semantics sans rien installer, ouvrez la démo et rendez-vous dans Studio → Semantics. La démo embarque les principaux standards sectoriels : allez dans Studio → Semantics → Add → Import Ontology pour explorer les standards fournis ou téléverser votre propre ontologie.