• Aucun résultat trouvé

Construction du graphe intégré

3 Contribution à l’intégration holistique des graphes hiérar- hiérar-chiques

Exemple 8. Nous appliquons sur notre scénario, les quatre contraintes de LP4HM avec un seuil =

3.4.2 Construction du graphe intégré

Dans le chapitre précédent, nous avons évoqué la possibilité de transformer les données ouvertes annotées en graphes de propriété ou en graphes RDF. Dans le deux premières phases de notre approche d’intégration, il s’agit des même données structurelles que nous avons comparées pour extraire les correspondances. Mais au niveau de la construction du graphe intégré il y a quelques différences dans la matérialisation des données même si le principe est identique. Nous expliquons dans ce qui suit comment nous procédons dans

Algorithme III.2 — GetInterCorresp(NoeudSrcInput,IdGraphSrcInput, Mt, InterCorresp)

1: Begin

2: InterCorrespTmp←∅ 3: for each mMt do

4: if m.NoeudSrc= NoeudSrcInput and m.IdGraphSrc= IdGraphSrcInput then 5: InterCorrespTmp← InterCorrespTmp∪m

6: Mt ←Mt\ {m}

7: end if

8: if m.NoeudTrg= NoeudSrcInput and m.IdGraphTrg = IdGraphSrcInput then 9: InterCorrespTmp← InterCorrespTmp∪m

10: Mt ←Mt\m 11: end if

12: end for

13: InterCorresp← InterCorresp∪InterCorrespTmp 14: for each iInterCorrespTmp do

15: node← getRe f lexiveNode(InterCorrespTmp(i), NoeudSrcInput)

16: idGraph←getRe f lexiveId(InterCorrespTmp(i), IdGraphSrcInput)

17: GetSimilarVertices(node, idGraph, Mt, InterCorresp)

18: end for 19: End

3.4.2.1 Un graphe de propriété intégré

Pour chaque groupe de correspondances, nous créons un nouveau noeud de type noeud imbriqué. Ce dernier est un noeud mais qui a la structure d’un graphe composé par diffé-rents noeuds. Nous attribuons au noeud imbriqué la valeur du label commun à la majorité des noeuds ou bien s’il n’y pas de majorité n’importe quel label de la liste des noeuds du groupe. Nous ajoutons les identifiants des noeuds du groupe de correspondances comme des sous noeuds du noeud imbriqué. Par la suite, nous examinons chaque correspondance dans le groupe de correspondance et nous ajoutons un arc non-orienté entre le noeud source du graphe source et le noeud destination du graphe destination. Enfin, les arcs qui reliaient les noeuds des correspondances du groupe actuel avec d’autres noeuds de correspondances d’autres groupes seront modifiés par un arc entre les noeuds imbriqués représentatifs de chaque groupe. D’autre part, s’il existe un arc entre un groupe de correspondances et un noeud qui n’a pas été impliqué dans une correspondance, cet arc sera remplacé par un arc entre le noeud imbriqué et le noeud non apparié.

3.4.2.2 Un graphe RDF intégré

Pour chaque groupe de correspondances, nous créons un nouveau noeud de type skoks : Collection qui représente un regroupement de concept, nous lui attribuons comme skoks : label le label commun à la majorité des noeuds ou bien s’il n’y pas de majorité n’importe quel label de la liste des noeuds. Ensuite, nous rajoutons des propriétés skoks : member entre ce nouveau noeud et les identifiants des noeuds qui figurent dans le groupe.

Par ailleurs, nous matérialisons la relation de correspondance entre les différents noeuds structurels (qui sont des skoks : concept dans le graphe RDF). En effet, si la Sim(NoeudSrc, NoeudTrg) = 1 alors nous ajoutons la propriété skoks : exactMatch entre le noeud source et le noeud destination sinon nous ajoutons la propriété skos : closeMatch entre ces deux noeuds.

Le graphe RDF intégré représente notre solution pour générer des données ouvertes liées à partir des données tabulaires.

4 Conclusion

Dans ce chapitre, nous avons présenté une méthode d’intégration holistique de don-nées ouvertes tabulaires. La méthode repose sur une présentation en graphes des dondon-nées tabulaires (obtenus à l’issue de la phase 1 décrite au chapitre précédent). L’intégration holis-tique nous permet de prendre en compte simultanément N ≥ 2 graphes. L’intérêt de cette

méthode est de garantir une solution unique correspondant à l’optimum global. En effet, l’intégration par paire de graphes à pour inconvénient de trouver une solution localement optimale dans l’espace des solutions formé par l’ensemble des graphes. De plus, suivant l’ordre avec lequel l’appariement par paire de graphes est effectué, la solution optimale (lo-cale) est le plus souvent différente. Notre solution est plus facilement exploitable pour un utilisateur car il dispose d’un graphe intégré unique toujours identique quelque soit l’ordre d’intégration des graphes.

Notre méthode combine plusieurs mesures de similarité. Nous avons adopté des me-sures syntaxiques et sémantiques pour assurer une meilleure mise en correspondance des noeuds des graphes. Nous exploitons la complémentarité des similarités syntaxiques et sé-mantiques en maximisant les scores obtenus.

Notre méthode d’intégration adapte et étend le problème de couplage de graphes à poids maximal, connu en optimisation combinatoire. Nous avons modélisé notre méthode sous la forme d’un programme linéaire, nommé LP4HM, afin de garantir une résolution du pro-blème en temps polynomial [Almohamad et Duffuaa, 1993] [Schrijver, 2003]. Ce choix est confirmé par nos expérimentations décrites dans le chapitre 5. Un autre intérêt de la pro-grammation linéaire réside dans la possibilité de définir un ensemble de contraintes. Ces contraintes nous permettent de modéliser des appariements cohérents.

Cette approche a également la possibilité de se passer de la configuration de seuil de similarité. Fixer un seuil dans les outils d’appariement est une tâche particulièrement diffi-cile pour les utilisateurs. Elle nécessite parfois une phase d’apprentissage. Notre méthode rend possible l’appariement de plusieurs graphes sans apprentissage et sans l’utilisation du seuil. L’intérêt de ce choix est confirmé par les résultats d’expérimentations présentées au chapitre 5.

Enfin, notre méthode peut être étendue pour prendre en compte des appariements com-plexes. L’appariement complexe permet de faire correspondre plusieurs noeuds d’un graphe avec plusieurs noeuds d’un autre graphe ; on parle d’appariement n : m. Pour permettre

l’intervalle[0, 1]au lieu d’être contrainte aux valeurs binaires 0 et 1.

Ces propositions ont été publiées dans le cadre de la conférence nationale EDA’15 [Berro et al., 2015c] et les conférences internationales RCIS’15 [Berro et al., 2015b] et DEXA’15 [Berro et al., 2015d].

La méthode d’intégration définie dans ce chapitre permet d’obtenir automatiquement un graphe intégré. Le chapitre suivant montre comment un utilisateur peut définir progres-sivement une base de données multidimensionnelle à partir du graphe intégré.

IV

Conception de schémas