• Aucun résultat trouvé

Agrégation sémantique Combinatory

5.4 Agrégations sémantiques : Cupid et Combinatory

5.4.2 Agrégation sémantique Combinatory

Principes de l’approche Combinatory

Dans l’approche dite systématique [33] qui utilise l’agrégation combinatoire, les arbres sont comparés d’une manière récursive et combinatoire. L’algorithme considère que les similarités syntaxiques des nœuds ainsi que des arcs ont été déjà calculées. En partant des racines des arbres, on applique la formule suivante :

SoG dénote la similarité des graphes (Similarity Of Graphs) entre un graphe RDF ayant comme nœud d’entrée nQ (Query ) et un graphe RDF ayant comme d’entrée nR (Resource). simndénote une similarité entre deux nœuds et simadénote une similarité entre deux arcs aQet aRdérivés respectivement des nœuds nQ et nR. w(nQ,n) et w(nQ,j) sont les valeurs affectées au

5.5 Conclusion 107

nœud et arc en cours. La fonction max et SoG assure le parcours des sous-arbres et la sélection parmi toutes les combinaisons possibles, de celle qui a le maximum de similarité cumulée.

Algorithme d’agrégation Combinatory pour les services YASA

Dans le cadre de l’agrégation de l’appariement sémantique, l’approche combinatoire est in- tégrée et implémentée sans modifier le principe de l’algorithme. A l’implémentation, la seule pe- tite différence avec ce qui a été fait dans [33] est que les valeurs de l’appariement élémentaire n’étaient pas pré-calculées à l’avance.

L’adaptation de l’approche d’agrégation Combinatory pour l’appariement de YASA a été faite comme indiqué dans la suite.

La Figure 5.5 illustre des arbres représentants des services Web YASA. "q" dénote le ser- vice offert et "r" dénote le service requis, avec aqi et arj sont les arcs qui relient les racines (les interfaces) nq1 et nr1 à leurs fils directs (les opérations). Et nqi et nrj sont les fils directs de nq1 et nr1.

FIGURE5.5 – Agrégation combinatoire et récursive sur des arbres de services Web YASA. Dans un premier temps, l’algorithme (voir Figure 5.6) assure le calcul des degrés d’apparie- ment entre les interfaces (lignes 3-6), ensuite, à travers les arcs, il bascule sur le calcul des degrés d’opérations (lignes 7-10). Puis, l’algorithme calcule les degrés d’appariement sémantique des in- puts et des outputs (lignes 12-21). Dans un deuxième temps, l’algorithme assure l’agrégation des degrés d’appariement maximum entre les inputs et des outputs (lignes 23-26), ensuite, à travers les arcs, il bascule sur l’agrégation des degrés maxima d’opérations (lignes 29-31). Enfin, l’algo- rithme agrège les degrés d’appariement sémantique maximum des interfaces (lignes 33-34).Le degré d’appariement agrégé est retourné par l’algorithme (ligne 36).

5.5

Conclusion

Dans ce chapitre, j’ai présenté le principe de l’appariement global ainsi que mon approche d’appariement sémantique élémentaire. Ensuite, pour l’agrégation des valeurs d’appariement élé- mentaires et le calcul du degré d’appariement global de deux descriptions YASA, j’ai présenté les trois algorithmes d’agrégation. Le premier algorithme Min-Average [11] est basé sur une approche arithmétique. Et comme les descriptions YASA peuvent être représentées sous forme d’arbres, je me suis inspiré de certaines approches d’appariement et d’agrégation sur les graphes, en par- ticulier les arbres afin de proposer deux autres algorithmes Cupid et Combinatory pour agréger les degrés sémantiques élémentaires. La complexité des deux algorithmes adaptés est reste la

108 L’appariement sémantique pour la découverte de services

1 CombinatoryAgregation (RequestedService R, OfferedService Q){ 2 matchInterfaces(R, Q){

3 for each ri in interfaces(R) 4 for each qi in interfaces(Q){

5 compute matchInterfaces(RI, QI) { 6 for each ro in operations(RI) 7 for each qo in operations(QI){

8 compute matchOperations(RI, QI) 9 for each rInp in inputs(RO) 10 for each qInp in inputs(QO){ 11 compute matchInputs(RO,QO){

12 degreeInput = semanticComparator(rInp,qInp) 13 checkMaxInput (degreeInput)}

14 for each rOut in outputs(RO) 15 for each qOut in outputs(QO) 16 compute matchOutputs(RO,QO){

17 degreeOutput = semanticComparator(rOut,qOut) 18 checkMaxOutput (degreeOutput)}

19 degreeOperation = (similarityCoefficient * (semanticComparator(ri, qi))

20 + (1-similarityCoefficient) * Max(getMax(matchInputs(ro,qo), getMax(matchOutputs(ro, qo))) 21 checkMaxOperation (degreeOperation)}

22 degreeInterface = (similarityCoefficient * (semanticComparator(ri, qi)) 23 + (1-similarityCoefficient) * getMax(matchOperations(ri, qi))) 24 checkMaxInterface(degreeInterface) }

25 ServiceAggregatedSim = similarityCoefficient * (semanticComparator(ri, qi)) 26 + (1-similarityCoefficient) * getMax(matchInterfaces (ri, qi))

27 return ServiceAggregatedSim 28 }

FIGURE5.6 – Algorithme d’agrégation Combinatory pour les services YASA.

même que les algorithmes d’origines, les adaptations faites n’influencent pas leurs complexités. Le chapitre suivant 6 présente comment intégrer de tels mécanismes d’appariement et d’agréga- tion au sein d’une découverte de service dans un annuaire sémantique de services Web.

Chapitre 6

L’annuaire des services Web

sémantiques

Sommaire

6.1 Introduction . . . 109 6.2 Architecture de l'annuaire des services Web sémantiques . . . 110 6.2.1 Composants de l'architecture . . . 110 6.2.2 Rôles des composants . . . 110 6.3 Phase de Publication . . . 114 6.3.1 Interactions pour la publication . . . 114 6.3.2 Stockage de la sémantique . . . 115 6.4 Phase de découverte . . . 118 6.4.1 Interactions pour la découverte . . . 118 6.4.2 Appariement RDF : une phase de pré-selection . . . 119 6.5 Conclusion . . . 121

6.1

Introduction

Afin de vérifier et valider mes propositions en termes de description, d’appariement et de dé- couverte de services Web sémantiques, un système adéquat devait être conçu et déployé en mettant en œuvre mes choix. La construire d’un annuaire de services Web permet de vérifier et valider mes propositions. L’annuaire permettra de réfléchir et de mettre en œuvre une approche de stockage de la description sémantique YASAWSDL tout en gardant à l’esprit son statut d’ex- tension du standard WSDL et de SAWSDL. Se baser sur des modèles d’annuaires dédiés au standard WSDL est toujours avantageux. L’annuaire permettra, aussi, de mettre en œuvre mon approche d’appariement sémantique et de découverte automatique.

Dans ce chapitre, je décris l’architecture de l’annuaire, ces principaux composants et com- ment les services Web décrits en YASAWSDL sont stockés et découverts. L’annuaire des ser- vices Web sémantiques consiste en un ensemble de composants de publication, d’appariement et de découverte. Ces composants s’intègrent dans une architecture de services Web à séman-

110 L’annuaire des services Web sémantiques

tique fonctionnelle. L’architecture a été conçue, implémentée et validée dans le cadre du projet SemEUsE1.

Ce chapitre est organisé comme suit : je commence par présenter l’architecture de l’annuaire des services Web sémantiques (Section 6.2). Ensuite, je décris comment l’annuaire assure la phase de publication et de stockage des descriptions sémantiques de services (Section 6.3). Finalement, je me focalise sur la phase d’appariement et de découverte (Section 6.4).