• Aucun résultat trouvé

Classification des changements ontologiques

4 Évolution de l’ontologie

4.2 Représentation des changements de l’ontologie

4.2.1 Classification des changements ontologiques

Un changement de l’ontologie est considéré comme une action sur l’ontologie entraînant l’obtention d’une ontologie différente de la version originale. Nous avons présenté les types de changements et les classifications de plusieurs travaux différents dans la section 2.3.2. Dans cette partie, nous allons nous focaliser sur notre classification des changements ontologiques.

Classification des changements selon le niveau d’abstraction

Les changements peuvent être représentés à différents niveaux de granularité. [Klein, 2004] fait une distinction des changements ontologiques entre les différents niveaux d’interprétation d’une ontologie : (i) changement conceptuel, (ii) changement de spécification et (iii) changement de représentation. Une autre classification usuelle des changements de l’ontologie qui se base sur le niveau d’abstraction telle que les changements élémentaires, changements composites et changements complexes [Stojanovic, 2004].

Dans notre travail, nous nous intéressons aux types de changements élémentaires et composites car ils peuvent répondre à notre besoin d’exprimer les requêtes de changements sur l’ontologie et sur l’annotation sémantique. Il existe différentes définitions des changements élémentaires et composites, nous en donnons un aperçu ci-dessous.

Définition 2 – Changement élémentaire

Un changement élémentaire est un changement ontologique qui affecte une seule entité de l’ontologie.

Le changement élémentaire est parfois appelé changement simple; il est la base des changements implémentés dans la plupart des outils d’édition actuels de l’ontologie. Un exemple de changement élémentaire est présenté dans la section précédente (c.f. Figure 12, section 2.2.2), nous avons fait une opération de renommage du concept ACTIVITY vers Activity. L’ensemble des changements élémentaires proposés par [Stojanovic, 2004] [Klein, 2004] ne contient que des opérations additives et soustractives des concepts et des propriétés qui ne sont pas suffisants pour exprimer les relations entre les hiérarchies des concepts ou des propriétés, par exemple le changement CreateHierarchyConceptLink (c1, c2) décrit une opération de création d’un lien entre deux concepts c1 et c2, ou un autre changement RemovePropertyDomainLink (c, p) enlève le lien entre un concept c et une propriété p dans l’ontologie. Par conséquent, nous établissons une classification des changements élémentaires permettant de représenter tous les types de changements ontologiques possibles sur le concept et sur la propriété (c.f. Tableau 3).

Tableau 3 - Liste des changements élémentaires

Changements élémentaires 1. sur le concept 2. sur la propriété

1.1 InsertConcept 1.2 DeleteConcept 1.3 RenameConcept 1.4 CreateHierarchyConceptLink 1.5 RemoveHierarchyConceptLink 2.1 InsertProperty 2.2 DeleteProperty 2.3 RenameProperty 2.4 CreateHierarchyPropertyLink 2.5 RemoveHierarchyPropertyLink 2.6 CreatePropertyDomainLink 2.7 RemovePropertyDomainLink 2.8 CreatePropertyRangeLink 2.9 RemovePropertyRangeLink

Cependant, cette granularité élémentaire du changement de l’ontologie n’est pas toujours appropriée pour les requêtes de changement plus compliqués ou les changements qui demandent une haute expressivité. Par exemple, si nous voulons diviser le concept Governance_role de l’ontologie O’CoP (c.f. Figure 12, section 2.2.2) en deux nouveaux concepts Group_role et Community_role, nous devons effectuer une série de changements élémentaires : créer deux nouveaux concepts Group_role et Community_role, attacher ces concepts au super-concept Role_in_the_CoP qui est aussi le concept père du

Governance_role, transférer les propriétés et les instances concernées par le concept Governance_role sur les nouveaux concepts divisés, supprimer le concept Governance_role… Ce processus est complexe car nous devons effectuer une série d’opérations différentes qui pourraient augmenter la probabilité

de fautes au cours de la réalisation. L’intention des changements aurait parfois besoin d’être exprimée à un niveau plus élevé.

Par conséquent, nous utilisons également les changements composites qui peuvent représenter un groupe de changements élémentaires de l’ontologie appliqués ensemble. Considérant qu’un changement élémentaire peut être vu comme une modification isolée d’une ontologie, un changement composite définit un “contexte” d’évolution. Nous reprenons la notion de “voisinage” d’une entité de l’ontologie présentée dans [Stojanovic, 2004] qui est définie comme l’ensemble des concepts, des propriétés et des instances étant en relation avec cette entité. Pour illustrer cette notion de voisinage, nous revenons à l’extrait de l’ontologie O’CoP (c.f. Figure 12, section2.2.2), les entités voisines du concept

Member_role sont les concepts Role_in_the_CoP, Facilitator,

Coordinator et la propriété coordinate (c.f. Figure 26).

Définition 3 – Changement composite

Un changement composite est un changement ontologique qui affecte certaines entités de l’ontologie.

Selon cette définition, nous pouvons spécifier une requête de changement d’une manière plus flexible grâce à la possibilité d’expression plus significative du changement composite en comparant avec les changements élémentaires. On pourrait appliquer un seul changement composite au lieu d’effectuer plusieurs changements élémentaires pour obtenir le même but. En plus, les changements composites facilitent la phase de spécification des requêtes de changements car l’ontologiste n’a pas besoin de passer par chaque étape du changement élémentaire pour atteindre le même effet désiré. Cela permet au processus d’évolution de l’ontologie d’être réalisé plus rapidement, facilement et plus efficacement. En réalité, les changements composites sont définis et créés selon les besoins de l’utilisateur. Autrement dit, il n’est pas possible de définir un ensemble fixe de changements composites pour tout le monde. On peut toujours créer un nouveau changement composite en combinant des changements ontologiques différents ou en modifiant les paramètres du changement composite. Par exemple, pour la requête qui divise un concept, nous pouvons créer un changement composite pour le diviser en deux, en trois ou en plus de nouveaux

Role_in_the_CoP Actor plays_role Gorvenance_role Member_role Facilitator Coordinator has_actor Community_of_Practice request_by ACTIVITY coordinate performs_activity

concepts selon notre besoin. Dans notre cas, nous établissons un ensemble des changements composites sur le concept et la propriété (c.f. Tableau 4). Ils peuvent couvrir des cas et des contextes de changement de l’ontologie qui peuvent affecter certaines entités de l’ontologie et entraîner les changements continus des annotations sémantiques concernées.

Tableau 4 - Liste des changements composites

Pour chaque type de changement, nous décrivons d’une manière formelle la syntaxe, les paramètres et la sémantique de ce changement. Nous décrivons aussi les conditions avant et après qui doivent être satisfaisantes pour effectuer chaque changement. Basé sur le modèle de l’ontologie introduit dans la partie précédente, nous présentons (c.f. Tableau 5) un exemple d’une description du changement

CreateHierarchyConceptLink (c1, c2) qui permet de relier deux concepts

existants (appartenant à l’ensemble des concepts C de l’ontologie) pour créer un lien hiérarchique entre ces concepts (c1, c2) ∈ HC . La description complète des autres changements est présentée dans la partie Annexe A.

Tableau 5- Description d'un changement Syntaxe

CreateHierarchyConceptLink (c1, c2)

Sémantique

Créer un lien de hiérarchie entre les concepts c1 et c2, c2 devient le père de c1

Pré-condition

c1, c2 C, (c1, c2)∉HC

Post-condition

c1, c2 C, (c1, c2)∈HC

Classification des changements selon leur affectation aux annotations sémantiques

Puisque nous sommes intéressés par l’affectation des changements ontologiques vers les annotations sémantiques concernées, nous avons besoin de déterminer quels types de changements pourraient entraîner les inconsistances dans les instances ontologiques et les annotations sémantiques. Pour ce faire, nous divisons l’ensemble des changements de l’ontologie en deux groupes principaux (c.f. Tableau 6) : (i) correction obligatoire et (ii) correction facultative.

Changements composites 3. sur le concept 4. sur la propriété

3.1 CreateCommonConcept 3.2 MergeConcept 3.3 SplitConcept 3.4 InsertConceptGeneralisation 3.5 InsertConceptSpecialisation 3.6 MoveConcept 4.1 CreateCommonProperty 4.2 MergeProperty 4.3 SplitProperty 4.4 InsertPropertyGeneralisation 4.5 InsertPropertySpecialisation 4.6 MoveProperty

Définition 4 – Correction obligatoire

Une correction obligatoire entraîne nécessairement une ou des inconsistances dans les annotations concernées par ce changement.

La Figure 27 représente un type de changement entraînant la correction obligatoire. Supposons qu’il existe un triplet de l’annotation sémantique qui utilise les concepts Actor, Role_in_the_CoP et la propriété plays_role de l’ontologie de base. Le changement de suppression du concept Actor va causer une inconsistance sur l’annotation parce qu’elle contient un triplet dont le sujet est du type Actor.

Définition 5 – Correction facultative

Une correction facultative qui n’entraîne pas d’inconsistances dans les annotations concernées par ce changement.

Par exemple, nous faisons un ajout du concept Member_role à l’ontologie comme fils du concept Role_in_the_CoP (c.f. Figure 28). L’ajout de ce concept

Member_role ne change rien au triplet de l’annotation sémantique reposant sur l’ontologie de base. Alors, ce type de changement d’insertion du concept est considéré comme un changement entraînant la correction facultative.

Nous faisons aussi un résumé des changements de l’ontologie (c.f. Tableau 6) selon les types de changements (i.e. correction obligatoire ou correction facultative), selon leur affectation (i.e. sur le concept, sur la propriété), ou selon le niveau d’abstraction (i.e. élémentaire ou composite).

Tableau 6 - Classification des changements entraînant la correction obligatoire et facultative

Changement Sur le concept Sur la propriété

Actor plays_role Role_in_the_CoP

<oc:Actor

rdf:about="http://www.inria.fr/onto#Act1"> <oc:plays_role rdf:resource="http ://www.inria.fr/onto#Role_A"/>

</oc:Actor>

Figure 27 - Exemple d'un changement entraînant la correction obligatoire

Actor plays_role Role_in_the_CoP <oc:Actor rdf:about="http://www.inria.fr/onto#Act1"> <oc:plays_role rdf:resource="http ://www.inria.fr/onto#Role_A"/> </oc:Actor>

Member_role

DeleteConcept RenameConcept RemoveHierarchyConceptLink DeleteProperty RenameProperty RemoveHierarchyPropertyLink RemovePropertyDomainLink RemovePropertyRangeLink Correction obligatoire MergeConcept SplitConcept MoveConcept MergeProperty SplitProperty MoveProperty InsertConcept CreateHierarchyConceptLink InsertProperty CreateHierarchyPropertyLink CreatePropertyDomainLink CreatePropertyRangeLink Correction facultative CreateCommonConcept InsertConceptGeneralisation InsertConceptSpecialisation CreateCommonProperty InsertPropertyGeneralisation InsertPropertySpecialisation