14. L’ontologie dans la solution logicielle Vitam

L’ontologie référence l’ensemble des vocabulaires (ou métadonnées) acceptés dans la solution logicielle Vitam. Pour chacun de ces vocabulaires, elle définit un intitulé et un type d’indexation particulier, ainsi que la ou les collections de la base de données de la solution logicielle Vitam qui l’utilise.

L’ontologie regroupe toutes les façons de nommer un même objet intellectuel. Elle permet d’éviter la multiplication des vocabulaires faisant référence à une même notion et de fiabiliser la manière dont ces vocabulaires et métadonnées sont indexés dans la solution logicielle Vitam pour optimiser les facultés de recherche.

14.1. Présentation de l’ontologie

14.1.1. Périmètre de l’ontologie

L’ontologie est valable pour la plate-forme. Elle est dite trans-tenant.

14.1.2. Composition de l’ontologie

L’ontologie référence :

  • les vocabulaires définis dans le SEDA, inclus par défaut,

  • les vocabulaires propres à la solution logicielle Vitam, inclus par défaut,

  • d’autres vocabulaires dits « externes » ajoutés pour répondre à un besoin de description particulier du service utilisateur non couvert dans les vocabulaires par défaut.

L’ontologie référence uniquement les vocabulaires pouvant contenir des valeurs. Cela signifie qu’un élément XML englobant un sous-élément XML (par exemple, les balises ou du SEDA) n’est pas référencé.

L’ontologie définit pour chaque vocabulaire un type d’indexation qui correspond à la manière dont l’information doit être renseignée : attend-on une date, une chaîne de caractères, un mot-clé, un nombre entier, un nombre décimal, un booléen ?

14.1.3. Contrôles effectués à partir de l’ontologie

Lors de la création ou de la mise à jour d’un profil d’unité archivistique, la solution logicielle Vitam vérifie que les vocabulaires déclarés dans les profils existent dans l’ontologie.

La solution logicielle Vitam n’effectue pas de contrôle sur la conformité des vocabulaires par rapport à leur type d’indexation dans l’ontologie lors de la création de profils d’unité archivistique. Néanmoins, il est obligatoire que le type du vocabulaire défini dans le schéma de contrôle corresponde au type d’indexation du vocabulaire tel qu’il est défini dans l’ontologie.

Lors d’une entrée, la solution logicielle Vitam vérifie que :

  • pour les unités archivistiques ne déclarant pas de profil d’unité archivistique, la valeur de leurs métadonnées est conforme à celle attendue dans l’ontologie (par exemple qu’une métadonnée dont la valeur doit être une date est bien une date et pas un chiffre ou une chaîne de caractères), si ces métadonnées existent dans l’ontologie,

  • pour les unités archivistiques qui déclarent un profil d’unité archivistique, la valeur de toutes leurs métadonnées est conforme à celle définie dans le schéma de contrôle associé.

Lors de la modification des métadonnées :

  • pour les unités archivistiques ne déclarant pas de profil d’unité archivistique, si la métadonnée existe dans l’ontologie, la solution logicielle Vitam vérifie que la mise à jour demandée est conforme au type d’indexation du vocabulaire dans l’ontologie ;

  • pour les unités archivistiques déclarant un profil d’unité archivistique, la solution logicielle Vitam vérifie que la mise à jour demandée reste conforme au profil d’unité archivistique et, de fait, à l’ontologie, aussi bien pour les métadonnées que les valeurs utilisées.

14.1.4. Utilisation de l’ontologie pour gérer les affichages dans l’interface graphique

L’ontologie contenant la traduction des différents vocabulaires supportés par la solution logicielle Vitam, il est possible, en accès :

  • d’utiliser ce référentiel comme un fichier de propriétés pour récupérer les traductions, plutôt que de faire porter par l’interface graphique ces informations. Ainsi, cela évitera de constater des absences de traduction des vocabulaires externes récemment créés ;

  • d’utiliser et d’afficher la traduction des vocabulaires dans les interfaces graphiques, rendue administrable dans ce référentiel, afin qu’un administrateur fonctionnel ait la possibilité de modifier les intitulés (ou traductions) de certains vocabulaires (par exemple, modifier « Description », traduction textuelle du bloc du SEDA, par « Présentation du contenu », terme issu de la norme ISAD/G).

14.2. Configuration de l’ontologie

14.2.1. Constitution de l’ontologie

La création d’une ontologie est un préalable à l’utilisation des vocabulaires dans la solution logicielle Vitam, c’est pourquoi lors de l’installation de la solution logicielle Vitam une ontologie est configurée par défaut. Cette ontologie contient l’ensemble des vocabulaires de type interne, c’est-à-dire les vocabulaires issus du SEDA et les vocabulaires propres à la solution. Un administrateur fonctionnel n’a donc pas besoin, a priori, de créer une ontologie. Il s’agit d’un acte d’exploitation technique. Néanmoins, dans certains cas, l’administrateur fonctionnel pourra être amené à vouloir enrichir l’ontologie par de nouveaux vocabulaires pour décrire des éléments propres aux archives qu’il souhaite prendre en charge qui ne figurent pas dans l’ontologie par défaut de la solution logicielle Vitam.

La création d’un nouveau vocabulaire n’est pas un acte anodin. Il est conseillé de prendre en considération les éléments suivants :

  • est-ce qu’un vocabulaire déjà existant peut couvrir le même champ sémantique et signifiant ?

  • pour quels usages a-t-on besoin d’ajouter ce nouveau vocabulaire ?

  • est-il possible de rendre ce vocabulaire plus générique pour faciliter son utilisation dans un contexte plus large ? Par exemple, créer un vocabulaire « Somme » et non des vocabulaires « SommeDepense », « SommeFraisDeplacement », « SommeDue », etc.

14.2.2. Transposition des outils existants dans une ontologie conforme aux attendus de la solution logicielle Vitam

Pour étudier son besoin de créer ou non de nouveaux vocabulaires dans l’ontologie, l’administrateur fonctionnel peut examiner les différents modèles de bordereaux de transfert utilisés dans son service pour étudier les notions métier décrites et leurs valeurs attendues (date, texte, nombre…) et déterminer ainsi son besoin en vocabulaires spécifiques non pris en charge dans le SEDA et leur type d’indexation.

14.2.2.1. Illustration pour un versement de dossier de personnel

Nom

Prénom

Date de naissance

Matricule

Corps

Grade

Nombre d’enfants

Date de départ en retraite

Décorations

Les « Nom », « Prénom », « Date de naissance » et « Matricule » correspondent à des balises déjà existantes dans le SEDA. Le type d’indexation de ces balises est défini dans le SEDA. La « Date de départ en retraite » pourra soit être exprimée à l’aide d’une des dates proposées par le SEDA ( par exemple), soit par un vocabulaire spécifique qui pourrait également être utilisé pour décrire des dossiers de pension. Le type d’indexation de cette sera une date conforme au format date standardisé (exprimée par exemple sous la forme « 1794-02-01 » et non « 1er février 1794 » ou « 13 pluviôse an II »). Les « Corps », « Grade », « Nombre d’enfants » et « Décorations » ne correspondent à aucune notion présente dans le SEDA. Il conviendra donc de créer des vocabulaires spécifiques. Leur type d’indexation sera une chaîne de caractères, sauf pour le « Nombre d’enfants » où un nombre entier est attendu.

14.2.2.2. Illustration pour un versement de dossiers de marché

Type de marché

Numéro attribué aux marchés

Titulaire

Intitulé des marchés

Date de notification

Date de liquidation

Le « Type de marché » peut être traité par la balise du SEDA.

Le « Numéro attribué aux marchés » peut être traité par les nombreux identifiants prévus par le SEDA.

Le titulaire sera une personne physique ou morale. La balise utilisée pour le décrire sera une balise englobante qui inclura des sous-éléments de type PersonOrEntityGroup ou BusinessGroup. Elle ne doit donc pas être déclarée en tant que telle dans l’ontologie. L’intitulé du marché pourra correspondre à la balise .</p> <p>Pour les « Date de notification » et « Date de liquidation », on pourra utiliser des balises du groupe DateGroup comme <TransactedDate> ou <EndDate> plutôt que de créer des vocabulaires spécifiques de type « DateDeLiquidation ».</p> <p>Le type d’indexation des balises sera conforme à leur type d’indexation défini dans le SEDA.</p> </section> </section> <section id="gestion-des-identifiants-de-lontologie"> <h3><span class="section-number">14.2.3. </span>Gestion des identifiants de l’ontologie<a class="headerlink" href="#gestion-des-identifiants-de-lontologie" title="Lien permanent vers cette rubrique"></a></h3> <p>L’ontologie fonctionne en mode « esclave ». Ce référentiel interne à la solution logicielle Vitam a vocation à être une copie locale d’un référentiel administré dans le front-office des plates-formes d’archivage, de façon à permettre le partage des vocabulaires entre applications ou entre archives physiques et électroniques. C’est donc le front office qui fournit les identifiants, pour les vocabulaires externes uniquement.</p> </section> <section id="formalisation-de-lontologie"> <h3><span class="section-number">14.2.4. </span>Formalisation de l’ontologie<a class="headerlink" href="#formalisation-de-lontologie" title="Lien permanent vers cette rubrique"></a></h3> <p>L’ontologie est importée dans la solution logicielle Vitam sous la forme d’un fichier au format JSON. Un vocabulaire doit comporter les éléments suivants :</p> <ul class="simple"> <li><p>identifiant unique dans l’ensemble du système (obligatoire) ;</p></li> <li><p>nom du vocabulaire (facultatif) ;</p></li> <li><p>traduction du vocabulaire, explicitant de manière intelligible le nom du vocabulaire (facultatif) ;</p></li> <li><p>description (facultatif) ;</p></li> <li><p>type d’indexation du vocabulaire, correspondant à un type attendu par le moteur de recherche Elastic Search (obligatoire) ;</p></li> <li><p>origine du vocabulaire, précisant la provenance du vocabulaire (facultatif). Sa valeur peut être égale à :</p> <ul> <li><p>INTERNAL : pour les vocabulaires conformes au SEDA et les vocabulaires propres à la solution logicielle Vitam ;</p></li> <li><p>EXTERNAL : pour les vocabulaires non gérés nativement par les deux précédents items et ajoutés pour répondre à un besoin particulier ;</p></li> </ul> </li> <li><p>collection(s) de la base de données MongoDB qui utilise(nt) le vocabulaire en question (obligatoire).</p></li> </ul> <p>Pour en savoir plus, consulter le <a class="reference internal" href="modele_de_donnees.html"><span class="doc std std-doc">document VITAM. Modèle de données</span></a>.</p> </section> </section> <section id="modification-de-lontologie"> <h2><span class="section-number">14.3. </span>Modification de l’ontologie<a class="headerlink" href="#modification-de-lontologie" title="Lien permanent vers cette rubrique"></a></h2> <p>La modification de l’ontologie s’effectue par un ré-import de l’ontologie, en mode « annule et remplace ». C’est un acte d’administration lourd, car il peut nécessiter à la suite du ré-import une réindexation potentiellement longue. Cette réindexation est un acte d’administration technique.</p> <p>La solution logicielle Vitam permet :</p> <ul class="simple"> <li><p>d’ajouter un nouveau vocabulaire ;</p></li> <li><p>de modifier les informations associées à un vocabulaire (dont le type d’indexation) ;</p></li> <li><p>de supprimer un vocabulaire. Cette action provoque la création d’une nouvelle version du référentiel.</p></li> </ul> <p>La suppression d’un vocabulaire concerne exclusivement les vocabulaires d’origine externe, sauf en cas de mise à jour du modèle de données Vitam ou de publication d’une nouvelle version du SEDA.</p> <p>La solution logicielle Vitam permet de paramétrer les possibilités de mise à jour de l’ontologie à l’initialisation de la plate-forme :</p> <ul class="simple"> <li><p>elle peut interdire toute modification des vocabulaires internes, qui ont vocation à ne pas être modifiés ni surtout supprimés en production ;</p></li> <li><p>elle peut forcer la mise à jour des types d’indexation, sans tenir compte des règles prédéfinies.</p></li> </ul> <p>Pour un vocabulaire externe et, si le paramétrage de l’ontologie le permet, pour un vocabulaire interne, les champs modifiables sont :</p> <ul class="simple"> <li><p>le nom du vocabulaire :</p> <ul> <li><p>tel qu’il est défini dans la nomenclature du SEDA ;</p></li> <li><p>tel qu’il est retourné via la solution logicielle ;</p></li> </ul> </li> <li><p>la traduction du vocabulaire ;</p></li> <li><p>la description ;</p></li> <li><p>le type d’indexation du vocabulaire, correspondant à un type attendu par le moteur de recherche Elastic Search ;</p></li> <li><p>l’origine du vocabulaire (les valeurs acceptées sont : INTERNAL, EXTERNAL) ;</p></li> <li><p>la collection de la base de données MongoDB qui utilise le vocabulaire en question (ce champ doit toujours contenir une référence à au moins une collection).</p></li> </ul> <p>La mise à jour du référentiel peut échouer pour les motifs suivants :</p> <ul class="simple"> <li><p>ajout d’un vocabulaire dont l’identifiant est déjà utilisé par un autre vocabulaire de l’ontologie ;</p></li> <li><p>ajout d’un vocabulaire dont l’identifiant ne correspond pas aux règles imposées par la solution logicielle Vitam ;</p></li> <li><p>incompatibilité entre le nouveau et l’ancien type d’indexation ;</p></li> <li><p>suppression d’un vocabulaire utilisé dans un profil d’unité archivistique.</p></li> </ul> <p>Les opérations de modification des types d’indexation doivent obligatoirement être accompagnées d’un acte technique d’exploitation, afin que la nouvelle indexation soit effective et prise en compte par le moteur de recherche Elastic Search et que les données soient ré-indexées en base. La suppression d’un vocabulaire doit être accompagnée d’un acte d’exploitation technique visant à supprimer l’indexation du vocabulaire concerné dans le moteur de recherche Elastic Search, sans quoi le vocabulaire ne sera pas complètement supprimé de la solution logicielle Vitam. Pour plus d’information, consulter la <a class="reference external" href="http://www.programmevitam.fr/ressources/DocCourante/html/exploitation/">documentation d’exploitation</a>.</p> <p>Les différentes versions de l’ontologie font l’objet d’une sauvegarde sur les offres de stockage utilisées par l’implémentation de la solution logicielle Vitam.</p> <p>Pour aller plus loin, consulter le <a class="reference internal" href="ontologie.html"><span class="doc std std-doc">document VITAM. Ontologie</span></a>.</p> </section> </section> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Pied de page"> <a href="Vademecum_journalisation.html" class="btn btn-neutral float-left" title="13. La journalisation et la conservation de la valeur probante dans la solution logicielle Vitam" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Précédent</a> <a href="Vademecum_pa.html" class="btn btn-neutral float-right" title="15. Les profils d’archivage dans la solution logicielle Vitam" accesskey="n" rel="next">Suivant <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> <div role="contentinfo"> <p>© Copyright 2022, Programme Vitam.</p> </div> Compilé avec <a href="https://www.sphinx-doc.org/">Sphinx</a> en utilisant un <a href="https://github.com/readthedocs/sphinx_rtd_theme">thème</a> fourni par <a href="https://readthedocs.org">Read the Docs</a>. </footer> </div> </div> </section> </div> <div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions"> <span class="rst-current-version" data-toggle="rst-current-version"> <span class="fa fa-book"> Other Versions</span> v: master <span class="fa fa-caret-down"></span> </span> <div class="rst-other-versions"> <dl> <dt>Branches</dt> <dd><a href="Vademecum_ontologie.html">master</a></dd> <dd><a href="../../master_6.rc.x/index.html">master_6.rc.x</a></dd> </dl> </div> </div><script> jQuery(function () { SphinxRtdTheme.Navigation.enable(false); }); </script> </body> </html>