Attributs sur les relations
Le Knowledge Graph est stocké dans une base de données graphe Neo4j. Dans Neo4j, une relation peut porter ses propres attributs, exactement comme un nœud.
Mettez un attribut sur la relation quand l’information décrit le lien lui-même (pas l’un des deux nœuds) : date, quantité, rôle, statut, niveau.
Règle : ne pas créer un nœud intermédiaire si un attribut sur la relation suffit.
| Cas d’usage | Relation | Attributs sur la relation | Pourquoi c’est important pour l’agent IA |
|---|---|---|---|
| RH : relation qui change dans le temps | works_in | {since, until, role} | « Qui travaillait dans ce département en 2021 ? » → l’agent IA interroge since / until directement |
| Supply chain : même relation plusieurs fois entre 2 nœuds | is_used_in | {quantity, position} | « Combien de fois cette pièce est utilisée et où ? » → sans attributs, impossible à distinguer |
| Supply chain : relation avec statut / cycle de vie | is_supplied_by | {status, since, contract_ref} | « Fournisseurs approuvés depuis 2022 ? » → l’agent IA filtre sur status + since |
| RH : relation avec niveau d’exigence | requires_skill | {level, mandatory} | « Compétences obligatoires niveau expert ? » → l’agent IA filtre sur level + mandatory |
| BOM : composition avec contexte | is_composed_of | {quantity, position, version} | « Quelle quantité de cette pièce pour la version 2 ? » → sans attributs, requête impossible |
| MBOM : assemblage avec séquence | is_assembled_in | {sequence, cycle_time, workstation_ref} | « Quelle est la durée totale d’assemblage de ce sous-système ? » → l’agent IA fait la somme de cycle_time |