L’op´erateur d’int´egration F ragmentOnto peut ˆetre appliqu´e dans les syst`emes d’in-t´egration d´evelopp´es pour des grands groupes industriels ou des grands donneurs d’ordre (par exemple : PSA, Renault) dans le but de centraliser des catalogues de leurs diff´erents fournisseurs. Il est facile d’imaginer le sc´enario suivant :
– ces groupes proposent d’abord aux diff´erents fournisseurs leur propre ontologie, – chaque fournisseur extrait ensuite une partie de cette ontologie selon ses besoins
pour construire son catalogue.
Dans un tel environnement, l’int´egration automatique de donn´ees est assur´ee. C’est effectivement ce sc´enario que le projet fran¸cais PFI (dirig´e par Renault) est en train de mettre en oeuvre dans le domaine des composants hors fabrication pour les industries ma-nufacturi`eres. Notons que cette approche fait reposer toute la difficult´e sur les fournisseurs qui doivent d´ecrire plusieurs fois leurs donn´ees, si plusieurs consortiums existent.
4.5 ProjOnto
Le deuxi`eme sc´enario que nous ´etudions est nomm´e ProjOnto. Son contexte d’´etude, l’algorithme d’int´egration lui correspondant et son application r´eelle seront d´etaill´es suc-cessivement ci-dessous.
4.5.1 Contexte
De nombreuses applications con¸cues autour de l’approche d’int´egration a priori exigent plus d’autonomie. Dans le domaine du commerce ´electronique professionnel qui est le nˆotre :
– la classification de chaque source doit pouvoir ˆetre compl`etement diff´erente de celle de l’ontologie partag´ee, et
– certaines sp´ecialisations de classe et certaines propri´et´es n’existant pas dans l’onto-logie partag´ee doivent pouvoir ˆetre ajout´ees dans les ontologies locales. Ce cas est tr`es diff´erent du pr´ec´edent du fait que chaque source Si a sa propre ontologie Oi et ses classes sp´ecifiques. N´eanmoins, l’ontologie Oi r´ef´erence autant que possible l’ontologie partag´ee Op `a travers l’articulation Ai,p:< BDBOi, Op, OntoSubi,p >. Dans ce sc´enario, les sources ont des concepts propres qui n’existent pas dans l’ontolo-gie partag´ee, mais ces concepts ne sont pas suppos´es int´eresser les utilisateurs du syst`eme int´egr´e. Ainsi, le syst`eme int´egr´e vise `a int´egrer les instances de donn´ees de chaque source comme des instances de l’ontologie partag´ee. Les instances de donn´ees de chaque Si se-ront donc projet´ees sur l’ontologie partag´ee. Notons que, dans ce sc´enario, les sources ne peuplent que les classes qui lui sont propres, pas celles de l’ontologie partag´ee.
La section qui suit d´eterminera la structure de chaque ´el´ement du syst`eme int´egr´e Int (<OntInt, SchInt, P opInt>).
4.5.2 Algorithme
Comme dans le sc´enario pr´ec´edent (F ragementOnto), l’ontologie du syst`eme int´egr´e est exactement l’ontologie partag´ee : OInt = Op :
– CInt = Cp, – PInt = Pp,
– ApplicInt(c) = Applicp(c), – SubInt(c) = Subp(c).
Cette d´efinition montre qu’aucun concept d´efini localement n’est int´egr´e dans le syst`eme int´egr´e.
Pour ce sc´enario, chaque instance de donn´ees d’une source sera projet´ee sur les propri´ e-t´es applicables de sa plus petite classe subsumante dans l’ontologie partag´ee. Cette plus petite classe subsumante devient donc la classe de base de l’instance int´egr´ee. Contraire-ment au cas pr´ec´edent, la classe de base d’une instance dans le syst`eme int´egr´e n’est pas celle d’origine de cette instance dans sa source locale.
Soit P op∗(c) la population des instances projet´ees sur la classe c de l’ontologie parta-g´ee, P op∗(c) est calcul´ee par l’union des populations de toutes classes locales r´ef´eren¸cant directement c14. P op∗(c) est donn´ee par l’´equation suivante :
P op∗(c) =
i∈[1:n]
(
cj∈OntoSubi(c)
P opi(cj)) (4.7)
Le sch´ema des instances projet´ees de la classe c est d´etermin´e comme :
Sch∗(c) = Applicp(c) ( i∈[1:n] ( (cj∈OntoSubi(c))∧(P opi(cj)=φ) Schi(cj))) (4.8) ou Sch∗(c) = Applicp(c) ( i∈[1:n] ( cj∈OntoSubi(c) Schi(cj))) (4.9)
La population et le sch´ema de chaque classe feuille de l’ontologie partag´ee sont calcul´es par les ´equations 4.7 et 4.8, respectivement (ou 4.7 et 4.9). Autrement dit : P opInt(c) = P op∗(c) et SchInt(c) = Sch∗(c).
En revanche, pour une classe non feuille, les trois ´equations 4.7,4.8 et 4.9 doivent ˆetre compl´et´ees comme suit :
SchInt(c) = Applic(c)
( (
(ck∈SubInt(c))∧(P op∗(ck)=φ)
SchInt(ck))
P op∗(c)=φ
Sch∗(c) ) (4.10)
ou
14les classes locales d’une source Si r´ef´eren¸cant directement la classe c de l’ontologie partag´ee sont les classes dans OntoSubi(c).
4.5. ProjOnto -a1 -a2 -a3 - e BDBO1 Ontologie Partagée E a3 e a2 a1 -a1 -a5 -a6 - f BDBO2 F a6 f a5 a1 C1
{a0, a1, a2}
C3 C2
C4
{a0, a1, a2, a3, a4}
{a0, a1, a2, a5, a6} {a0, a1, a2, a3, a4, a7, a8}
Système intégré
C1 {a0, a1, a2}
C3 C2
C4
{a0, a1, a2, a3, a4}
{a0, a1, a2, a5, a6} {a0, a1, a2, a3, a4, a7, a8}
• Sch*(C1) = () ⇒
SchInt (C1) = Applicp(C1) ˙ (SchInt (C2) ˙ SchInt (C3) ) = ( a1 ) ou
Sch’Int (C1) = Applicp(C1) ˙ (Sch’Int(C2) ¨ Sch’Int (C3) ) = ( a1 , a2 ) • Sch*(C4) = () and SchInt (C4) = () ;
a3 a2
a1 a1 a5 a6
• Sch*(C2) = ( a1, a2 , a3) ⇒
SchInt (C2) = Applicp(C2) ˙ Sch*(C2)) = ( a1 , a2, a3) ; ou
Sch’Int (C2) = Applicp(C2) ˙ ( Sch’Int (C4) ¨ Sch*(C2) ) = ( a1 , a2, a3) ; • Sch*(C3) = SchInt (C3) = (a1 , a5 , a6) ;
Entrée:
Entrée:
Sortie:
Sortie:
Fig. 4.4 – Exemple d’une int´egration de BDBOs par ProjOnto
SchInt(c) = Applic(c)
( (
ck∈SubInt(c)
SchInt(ck))
Sch∗(c) ) (4.11)
et dans les deux cas :
P opInt(c) = (
ck∈SubInt(c)
P opInt(ck) )
P op∗(c) (4.12)
L’exemple suivant illustrera l’algorithme d’int´egration par P rojOnto.
Exemple 10 : Supposons que l’on ait deux bases de donn´ees `a base ontologique r´ef´
e-ren¸cant une ontologie partag´ee comme dans la figure 4.4. La classe locale E dans S1 (BDBO1) r´ef´erence la classe C2 (en important les trois propri´et´es : a1, a2, a3). Quant `
a la classe locale F de la source S2 (BDBO2), elle r´ef´erence C3 de l’ontologie partag´ee (en important : a1, a5 et a6). De plus, les classes E et F ajoutent les propri´et´es e et f , respectivement.
Le syst`eme int´egr´e de deux sources S1, S2 selon l’approche P rojOnto est illustr´e dans la figure 4.4. La classe C2 est une classe non feuille, mais elle devient une classe de base.
4.5.3 Application au domaine des composants industriels
Le sc´enario d’int´egration de donn´ees par P rojOnto est appliqu´e au domaine des com-posants industriels o`u :
1. il existe une ontologie normalis´ee du domaine (par exemple, l’ontologie normalis´ee IEC 61360-4 sur le domaine des composants ´electroniques, ou ISO 13399 sur le domaine des outils coupants, ISO 13584-501 sur le domaine des mat´eriels de mesure, etc.),
2. cette ontologie est accept´ee comme une ontologie partag´ee par tous les participants de l’environnement ”public” B2B ´etudi´e. Cet environnement B2B est dit public, parce que les fournisseurs gardent une autonomie significative. 15, et
3. chaque fournisseur d´ecrit donc ses composants dans son catalogue en r´ef´eren¸cant le plus possible cette ontologie normalis´ee.
Ce sc´enario P rojOnto permet d’int´egrer automatiquement tous les composants issus des catalogues de diff´erents fournisseurs comme les instances de l’ontologie normalis´ee.