• Aucun résultat trouvé

Bilan des résultats obtenus

Dans ce chapitre nous avons présenté les différentes expérimentations menées sur l’implémentation de Slider.

Nous avons dans un premier temps utilisé Slider sur quatre ontologies représentatives en faisant varier la taille des buffers et le timeout. Ces expérimentations ont montré que l’influence des paramètres testés sur le comportement du raisonneur est dépendante des ontologies et du fragment. Cependant, nous avons pu observer des tendances générales. Une taille de buffer plus importante est conseillée pour le fragment le plus complexe (ici RDFS), avec un timeout plus important également. Une taille de buffer plus petite est au contraire préférable pour ρdf. Une exception se présente avec l’ontologie subClassOf. En effet, pour celle-ci une taille de buffer réduite permet d’obtenir de meilleurs résultats. Cependant, ce cas particulier nous montre que notre architecture n’est pas pénalisée par l’ajout de règles non utilisées (c’est-à-dire n’inférant pas de triples) dans le système. Le coût de fonctionnement de l’architecture de Slider, en dehors de l’exécution des règles, c’est-à-dire les buffers, les distributeurs, et les modules de règles, semble donc minimal. Nous avons ensuite comparé Slider à OWLIM-SE et RDFox. Les résultats montrent que Slider est plus rapide que OWLIM-SE pour les douze ontologies testées, et apporte une amélioration du temps d’inférence de 78,47% sur ρdf et de 52,22% sur RDFS, soit 65,35% en moyenne. Cette amélioration est au maximum de 85,80%.

En revanche, RDFox affiche des performances plus intéressantes que Slider sur les ontologies utilisées. Une analyse poussée des structures de données et des algorithmes de ce raisonneur pourrait aider à comprendre les mécanismes qui permettent d’atteindre ces performances. Le développement de RDFox étant récent, cette analyse n’a pas été pu être effectuée dans le cadre de cette thèse.

On peut noter que l’architecture de Slider est conçue pour être à terme distribuée. Les structures de données – buffers, triplestore partagé, exécuteurs de threads, etc – ont donc un coût en terme de performances. Elles permettent entre autre la possibilité de prioriser des connaissances au travers des modes d’inférences présentés. Ces coûts, pénalisant potentiellement Slider dans son implémentation multi processus légers, seront amortis lors de la distribution et le passage à une plus grande échelle.

Nous avons également mis en place des expérimentations sur les capacités incré-mentales de Slider. L’utilisation du raisonnement incrémental améliore en moyenne de 230,58% la vitesse d’inférence par rapport à une méthode classique par lots. Cette amé-lioration est au maximum de 952,13% pour la dernière mise à jour sur RDFS de Wordnet. Enfin, les expérimentations sur la priorisation des prédicats ont montré l’efficacité du mode de raisonnement alternatif que nous avons proposé dans cette thèse. Les triples contenant les prédicats priorisés sont inférés plus rapidement, et de manière plus régu-lière.

V

Conclusion

7 Conclusion

7.1 Bilan

Comme nous l’avons vu dans l’état de l’art, les solutions pour le raisonnement incré-mental sont rares. Elles montrent des difficultés en ce qui concerne le passage à l’échelle et ne sont efficaces que pour des mises à jour représentant une faible proportion de la matérialisation existante. Notre objectif est de proposer un système de raisonnement incrémental capable de passer à l’échelle.

Dans cette thèse, nous avons défini une nouvelle architecture permettant le raison-nement incrémental sur des flux de triples. Elle est conçue sous la forme de modules indépendants afin de permettre le passage à l’échelle et l’indépendance au fragment de règles utilisé. Notre architecture peut recevoir des triples provenant de plusieurs flux de triples comme de sources de données statiques.

En plus du raisonnement classique consistant à terminer l’inférence le plus rapi-dement possible, nous proposons également deux autres modes de raisonnement. Le premier permet de modifier le comportement du raisonneur afin d’inférer en priorité certaines connaissances. Le second a pour objectif de maximiser la quantité de triples in-férés avant l’arrivée d’une requête pour augmenter les chances d’y répondre correctement. Nous avons implémenté l’architecture proposée au travers du raisonneur Slider, qui prend en charge nativement les fragments ρdf et RDFS. Il peut être étendu à tout fragment composé de règles implémentables au travers de l’interface correspondante. Les différents modules sont connectés dynamiquement à l’initialisation de Slider, notamment grâce au graphe de dépendance des règles.

Les différentes expérimentations menées nous ont permis d’étudier le comportement de Slider à l’exécution. Nous avons pu déterminer qu’une taille de buffer plus impor-tante est recommandée pour un fragment plus complexe. L’utilisation de l’ontologie subClassOf a révélé que l’ajout de règles d’inférence qui n’infèrent pas de triples n’a pas d’impact sur les performances de Slider. La comparaison de Slider avec la référence OWLIM-SE a montré une amélioration des performances de 65,35% en moyenne et au maximum de 85,80% pour certaines ontologies. L’inférence avec Slider a été plus

ra-pide que OWLIM-SE et WebPie pour chaque ontologie testée et sur chaque fragment. Les performances sont par contre moins intéressantes que celles du raisonneur RDFox. Enfin, nos expérimentations ont montré que l’utilisation du raisonnement incrémental apporte un gain de performances de 230,58% en moyenne par rapport à l’utilisation du raisonnement par lots. Cette amélioration est dans le meilleur des cas de 952,13%.

L’implémentation de Slider, les informations pour la reproductibilité des expéri-mentations et les ontologies utilisées sont disponibles librement à l’adresse http:// juleschevalier.github.io/slider/. Le code source est libre et distribué sous licence Apache 2.0.