• Aucun résultat trouvé

4. EXTENSIONS DE LA MÉTHODE D’INTÉGRATION POUR LES BDG

4.3 EXTENSIONS DU LANGAGE DE DÉCLARATION ET DE L’INTÉGRATION DES BDG

4.3.1 Résolution des conflits de classification

Les conflits de classification sont dus à des abstractions de classification différentes dans les BD (3.2.3.1).

4.3.1.1 Expression des conflits de classification

Le langage de déclaration de correspondance classique permet de signaler des conflits de classification entre deux classes des deux schémas en utilisant une relation ensembliste

différente de l’équivalence.

BD1.ELEMENT1 <RE> BD1.ELEMENT1 (RE ¹ º)

Des assertions plus génériques qui relient plusieurs éléments avec plusieurs éléments ou ayant des relations n-m au niveau de leurs instances (conflits de fragmentations) doivent aussi être exprimées. Dupont ([Dupont 95 b] [Dupont 94]) a proposé des extensions du langage pour exprimer ces conflits, mais elles sont trop complexes. Nous avons donc proposé une autre syntaxe pour inclure la déclaration de ces deux types de conflits dans l’entête de l’ACI.

Pour les conflits de classification n-m, la syntaxe est étendue par ajout de l’ensemble des éléments (classes, relations) entre parenthèses de chaque base.

Ainsi, pour décrire des correspondances entre plusieurs éléments et un élément, l’ACI obtenue est du type :

BD1.ELEMENT1 <RE> BD2.(ELEMENT21, ELEMENT22,…)

De même, pour décrire des correspondances entre plusieurs éléments et plusieurs éléments, l’ACI est du type :

BD1.(ELEMENT11, ELEMENT12,…) <RE> BD2.(ELEMENT21, ELEMENT22,…)

Pour l’exemple de la figure 27 (page 3), l’ACI entre les classes de la base Eau et de la base Forêt est la suivante :

BD_EAU.(ZONE_HUMIDE, ZONE_BOISEE) º BD_FORET. (ZONE_HUMIDE, ZONE_BOISEE)

4.3.1.2 Intégration de classes en conflit de classification

4.3.1.2.1 Intégration de classes en conflit de classification au niveau de la relation ensembliste

Pour résoudre les conflits de classification au niveau de la relation ensembliste (BD1.ELEMENT1 <RE> BD2.ELEMENT1 (RE ¹ º)), plusieurs techniques (annexe 7.3.1) sont envisageables :

· la fusion, est la plus simple. Elle n’est soumise à aucune condition préalable mais a pour inconvénient de produire une classe avec des attributs optionnels (attributs propres à une des classes d’origine).

· La sous-classe ou réciproquement la sur-classe sont plus précises mais produisent des schémas plus compliqués. Elles peuvent être employées pour les relations ensemblistes du type É, Ê, Ì, Í

· La généralisation ou des techniques plus évoluées sont envisageables pour la relation ensembliste d’intersection (Ç).

Afin de produire une méthode générique sans condition préalable, nous avons retenu la technique de fusion pour les deux stratégies.

4.3.1.2.2 Intégration de classes en conflit de classification entre une classe et plusieurs classes

Plus généralement, dans les conflits de classification interviennent plusieurs classes de chaque base à intégrer. Pour les conflits de classification entre une classe et plusieurs classes, deux techniques d’intégration sont sélectionnées : la partition et la fusion.

La partition produit, dans le schéma intégré, les classes :

· CLASSE11-CLASSE2 ayant pour instances les objets issus d’un couple d’objet de CLASSE11 et de CLASSE2 représentant le même phénomène du monde réel.

· CLASSE12-CLASSE2 ayant pour instances les objets issus d’un couple d’objet de CLASSE12 et de CLASSE2 représentant le même phénomène du monde réel.

Si la relation ensembliste est différentes de l'équivalence, cette intégration produit d’autres classes :

· CLASSE2-, pour les relations Ì, Í ou Ç, qui a pour instances, les objets de la CLASSE2 n’ayant pas de correspondant dans les CLASSE1i.

· CLASSE1i-, pour les relations, Ê, É ou Ç, qui ont pour instances, les objets de la CLASSE1i n’ayant pas de correspondant dans les CLASSE2.

ZONE_AGRICOLE propriétaire VIGNE cépage ZONE_AGRICOLE-VIGNE_VERGER propriétaire fruit cépage type VERGER fruit BD1 BD2 ZONE_AGRICOLE-VIGNE propriétaire cépage ZONE_AGRICOLE-VERGER propriétaire fruit ZONE_AGRICOLE-propriétaire (b) PARTITION (c) FUSION avec ajout d’un attribut

(a)

figure 46 : Exemple d’intégration de classe en conflit de classification 1-n

Ainsi, l’intégration par partition de BD1.ZONE_AGRICOLE É BD2.(VIGNE, VERGER) va créer 3 classes dans la BD intégrée (figure 46 b) :

· ZONE_AGRICOLE-VIGNE, · ZONE_AGRICOLE-VERGER, · ZONE_AGRICOLE-.

La deuxième technique proposée ; la fusion avec ajout d’un attribut, reporte la

classification au niveau d’un nouvel attribut énuméré qui prend les valeurs CLASSE11-CLASSE2, CLASSE12-CLASSE11-CLASSE2,…, voire CLASSE2- ou CLASSE1i- si nécessaire. Les attributs et les relations propres à une classe ayant des instances sans correspondant deviennent optionnels.

L’intégration par fusion du même exemple va créer une classe avec 4 attributs dans la BD intégrée (figure 46 c) :

· propriétaire qui est obligatoire, · fruit qui est optionnel,

· cépage qui est optionnel,

· type qui est le nouvel attribut de classification. Il a pour valeur possible vigne, verger ou autre.

4.3.1.2.3 Intégration de classes en conflit de classification entre plusieurs classes et plusieurs classes

Le conflit de classification peut être aussi entre plusieurs classes et plusieurs classes. Dans ce cas, les deux mêmes techniques d’intégration sont possibles. La partition générera des

classes :

· CLASSE1i-CLASSE2j ayant pour instances, les objets issus d’un couple d’objets de CLASSE1i et de CLASSE2j représentant le même phénomène du monde réel,

· des classes CLASSE1i- si la relation ensembliste est É, Ê ou Ç, · des classes CLASSE2i- si la relation ensembliste est Ì Í ou Ç.

Par exemple, pour intégrer la base sur l’eau et la base sur la forêt (figure 27 page 3), l’ACI est :

BD_EAU.(ZONE_HUMIDE, ZONE_BOISEE) º BD_FORET. (ZONE_HUMIDE, ZONE_BOISEE)

La partition fournit les trois classes :

· ZONE_HUMIDE-ZONE_HUMIDE qui a pour instances les objets issus de l’intégration d’un objet de la classe BD_EAU.ZONE_HUMIDE avec un objet de la classe

BD_FORET.ZONE_HUMIDE,

· ZONE_HUMIDE-ZONE_BOISEE qui a pour instances, les objets issus de l’intégration d’un objet de la classe BD_EAU.ZONE_HUMIDE avec un objet de la classe

BD_FORET.ZONE_BOISEE,

· ZONE_BOISEE-ZONE_BOISEE qui a pour instances les objets issus de l’intégration d’un objet de la classe BD_EAU.BOISEE avec un objet de la classe

BD_FORET.ZONE_BOISEE.

La classe ZONE_BOISEE-ZONE_HUMIDE sera supprimée, car elle n’a pas d’instance. La fusion avec ajout d’un attribut est similaire. Le nouvel attribut de type énuméré a pour

valeur possible les noms des classes qui auraient été déterminées par la partition.

Pour intégrer les classes en conflit de classification, les techniques choisies sont volontairement simples. Le mécanisme de généralisation entre autre, n’est pas utilisé afin de ne pas créer de classe générique inutile. Par contre, la technique de partition génère un grand nombre de classes. Il faut donc laisser à l’administrateur la possibilité de définir des post traitements de modification de schémas [Scherrer et al. 93] [Scholl and Tresch 93],

permettant de définir les classes génériques utiles et de regrouper des classes issues de la partition. De même, pour la technique de fusion, certaines valeurs du nouvel attribut doivent pouvoir être regroupées.

Pour intégrer les BDG de l’IGN, nous avons retenu la technique de fusion avec ajout d’un attribut pour les deux stratégies, car elle n’augmente pas le nombre de classes dans la BDG intégrée.