Vous êtes sur la page 1sur 112

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche


Scientifique

Université Larbi Ben M’hidi – Oum El Bouaghi


Faculté des Sciences Exactes et Sciences de la Nature et de la Vie
Département de Mathématiques et Informatique

Mémoire
Présenté en vue de l’obtention du
diplôme Master en informatique
Thème :

Développement d’une infrastructure


orientée services web sémantiques dans le
domaine médicale
Soutenu le : 06 / 06 / 2016
Présenté par : Dirigé par :
BOULILA Noussaiba. Mr ZAIDI.F
ABERKANE Seyyida Ikram.

Devant le jury composé de :

 Dr HAMRI.S Examinateur
 Mr CHORFI.A Examinateur
 Mr ZAIDI.F
Rapporteur

Année Universitaire 2015-2016.


Remerciements
Nous remercions Allah le tout puissant, qui nous a donné la force et la
Patience pour l’accomplissement de ce travail.
Nous adressons nos vifs remerciements à notre encadreur Mr. ZAIDI Fayçal.
Qui nous a aidé tout la durée de notre travail et par patience et les précieux
conseils dont Il nous a entouré.
Ensuite, nous tenons à remercier très sincèrement Dr. Salah HAMRI, Mr. Atef
CHORFI, de nous avoir fait l'honneurd’accepter de présider le jury de notre
soutenance de mémoire.
Nous adressons également nos remerciements, à tous nos enseignants
D’universitaire d’Oum el Bouaghi, pour leurs aides inestimables.
On remercie également tous les étudiants de Master 2 (AD & VA) de la
promotion 2015-2016 pour leur soutien et leurs encouragements,
Enfin, pour finir et pour être sûre de n’oublier personne,
Nous remercions tout le monde.
Dédicaces
Je dédie ce mémoire à :
Mes chers parents, que nulle dédicace ne puisse exprimer mes sincères
sentiments, pour leur patience illimitée, leur encouragement contenu,
leur aide, en témoignage de mon profond amour et respect pour leurs
grands sacrifices.
Mes adorables sœurs : Mouna, Wiem, Amel, pour leur grand amour et
leur soutien qu’ils trouvent ici l’expression de ma haute gratitude.
Pour ma grand-mère .
Mes chers amis qui sans leur encouragement ce travail n’aura jamais vu
le jour.
Et à toute ma famille et à tous ceux que j’aime.

Boulila Noussaiba
Dédicaces
À ma mère
Tu m’as donne la vie la tendresse et le courage pour réussir.
Tout ce que je peux t’offrir ne pourra exprimer l’amour et la
reconnaissance que je te porte.
En témoignage, je t’offre ce modeste travail pour te remercier pour tes
sacrifices et pour l’affection dont tu m’as toujours entourée.

À mon père,
L’épaule solide, l’œil attentif compréhensif et la personne la plus digne
de mon estime et de mon respect.
Aucune dédicace ne saurait exprimer mes sentiments, que dieu te
préserve et te procure sante et longue vie.

À mes chers sœurs : Asma, Sarra , Oumayma.

À mon cher fiancé Tamrabet Zouheyr pour leur amour.

À Mes amies de l’étude Noussaiba, Houda, Asma, Insafe et Souheila.

Sons oublié tous les professeurs que ce soit du primaire, du moyen, du


secondaire ou de l’enseignement supérieur.

Aberkane Seyyida Ikram.


Résumé

Les services Web sont des technologies émergentes et prometteuses pour le développement, le
déploiement et l’intégration d’applications Internet. Le concept des services Web sémantiques, est le
fruit de la convergence du domaine des services web avec le Web sémantique, en effet son ultime
objectif est de rendre les services web plus accessibles à la machine en automatisant les différentes
tâches qui facilitent leur utilisation. Ce mémoire permet d'étudier une approche de description
sémantique des services Web OWL-S. Ensuite, on va appliquer cette technologie
Sur le domaine médical par la construction de deux ontologies : une ontologie de domaine médical
(Domain ontology) en suivant la méthode Methontology et en utilisant le langage OWL et l’outil
protégé, et une ontologie de services web médical (services Web ontology) en utilisant le langage
‘OWL-S’, ‘l’outil OWL-S Editor for Protégé’ et l’environnement de développement intégré ‘NetBeans
IDE’.
L’ontologie de services Web utilise les concepts de l’ontologie de domaine pour définir et décrire les
IOPEs (inputs/outputs/Preconditions/ Effects) de service Web. Ces deux ontologies sont utilisées par un
réseau de médical, ce dernier regroupe tous les acteurs intervenant dans le processus de médical, des
acteurs humains (patients, médecin, professions de santé,...) et des acteurs logiciels (services web
médical, applications médical,...).
Mots-clés : Service Web, service Web sémantique, ontologie, OWL-S, domaine médical.

ABSTRACT
Web services are emerging and promising technologies for the development, deployment and integration
of Internet applications. The concept of semantic Web services is the result of the convergence among
the domain of web services and the Semantic Web, in fact the ultimate goal is to make Web services
more accessible to the machine by automating various tasks that facilitate their use. This memory studies
the two languages for semantic description of Web services (OWL-S and WSMO) and make a
comparative study between these two languages. Then we will apply this technology in the medical field
by the construction of two ontologies: an ontology for medical domain, following the method
METHONTOLOGY and using OWL language and PROÉGÉ tool, and an ontology of web services
medical, using OWL-S language, OWL-S EDITOR for PROTÉGÉ tool and the Integrated Development
Environment ‘NetBeans IDE’.
The ontology of Web services uses the concepts of domain ontology to define and describe the IOPEs
(inputs/outputs/Preconditions/Effects) of Web service. These two ontologies are used by a health care
system; it includes all those involved in the process of care, human actors (doctors, patients, lab
technicians...) and software actors (web services medical, medical applications...).
Keywords: Web service, semantic Web service, ontology, OWL-S, medical field.
‫ملخص‬
‫ مفهوم خدمات الويب الداللي هو نتيجة‬.‫ نشر ودمج تطبيقات اإلنترنت‬،‫خدمات اإلنترنت هي التكنولوجيا الناشئة والواعدة لتطوير‬
‫ بل والهدف النهائي هو جعل شبكة اإلنترنت أكثر سهولة إلى الجهاز من‬،‫لتالقي مجال الخدمات على شبكة اإلنترنت مع الويب الداللي‬
‫خالل أتمته المهام المختلفة التي تسهل استخدامها نقوم في هذه األطروحة بدراسة اللغات التي تقوم بالوصف الداللي لخدمات الويب‬
‫ ثم تطبيق هذه التكنولوجيا في المجال الطبي من خالل إنشاء انطولوجيا‬.‫) وإجراء دراسة مقارنة بين هاتين اللغتين‬WSMO‫ و‬OWL-S(
‫ وإنشاء‬،PROTÉGÉ ‫ واألداة‬OWL ‫ وباستخدام كل من لغة‬METHONTOLOGY’‘ ‫ بإتباع الطريقة‬،‫المجال في الميدان الطبي‬
‫‘ وبيئة‬OWL-S EDITOR for PROTÉGÉ’ ‫ األداة‬،‘OWL-S’‫انطولوجيا أخرى لخدمات الويب الطبية وذلك باستخدام لغة‬
. .‘NetBeansIDE’‫التطوير‬
‫الشروط‬/ ‫المخرجات‬/ ‫انطولوجيا خدمات الويب تقوم باستخدام المفاهيم الموجودة في أنطولوجيا المجال لتحديد ووصف كل من (المدخالت‬
‫ تستخدم كل من انطولوجيا المجال وانطولوجيا خدمات الويب من طرف شبكة للرعاية‬.‫ التأثيرات) الخاصة بخدمة الويب‬/‫المسبقة‬
‫) وكذلك‬...‫ فنيي المختبرات‬،‫ المرضى‬،‫ كاألطراف البشرية (األطباء‬،‫ هذه الشبكة تحوي كل األطراف الفاعلة في المجال الطبي‬،‫الصحية‬
.)...‫ التطبيقات الطبية‬،‫تستخدم من طرف برامج الكمبيوتر (خدمات الويب الطبية‬
.‫ الميدان الطبي‬،OWL-S ،‫ انطولوجيا‬،‫ خدمة الويب الداللي‬،‫ خدمة الويب‬:‫الكلمات المفتاحية‬
Liste des Matières

Introduction Générale
1. Introduction.........................................................................................................................1
2. Problématique.....................................................................................................................1
3. Objectif de notre travail......................................................................................................2
4. Organisation Du Mémoire..................................................................................................2

CHAPITRE I :
État de l’art « Le Web sémantique et Les ontologies »
1. Introduction.........................................................................................................................4
2. Définition du Web sémantique............................................................................................4
3. Architecture du Web sémantique........................................................................................5
4. Logique pour le Web sémantique........................................................................................6
4.1. Logique de description.................................................................................................6
5. Les langages du Web Sémantique.......................................................................................7
5.1. RDF (Resource Description Framework)....................................................................8
5.2. RDFS (Resource Description Framework Schema).....................................................9
5.3. OWL (Web Ontology Language).................................................................................9
5.3.1. OWL Lite............................................................................................................10
5.3.2. OWL DL.............................................................................................................10
5.3.3. OWL Full............................................................................................................10
6. Les ontologies...................................................................................................................10
6.1. Origine et Définition..................................................................................................10
6.2. Intérêts de l’ontologie.................................................................................................11
6.3. Structure de l'ontologie...............................................................................................11
6.4. Classification des ontologies selon le niveau de granularité......................................12
6.5. Méthodologies de conception d’ontologies................................................................12
6.5.1. Méthodologie d’Uschold et Grüninger...............................................................13
6.5.2. La méthodologie METHONTOLOGY...............................................................13
6.6. Outils de développement des ontologies....................................................................15
6.6.1. PROTÉGÉ...........................................................................................................15
6.6.2. OILEd.................................................................................................................16
6.6.3. WebODE.............................................................................................................16
6.6.4. DOE....................................................................................................................17
Liste des Matières

6.7. Quelques ontologies médicales..................................................................................17


6.7.1. GALEN...............................................................................................................17
6.7.2. UMLS.................................................................................................................18
6.7.3. MENELAS..........................................................................................................18
7. Conclusion........................................................................................................................18

CHAPITRE II : état de l’art


« Les Services Web Sémantiques »
1. Introduction.......................................................................................................................20
2. Architecture orientée services...........................................................................................20
2.1. Définition SOA..........................................................................................................20
2.2. Collaboration dans une architecture orientée services...............................................20
3. Les services web...............................................................................................................22
3.1. Définition...................................................................................................................22
3.2. Cycle de vie d’un service web....................................................................................22
3.3. Principaux technologie et standards des services web...............................................23
3.3.1. WSDL (Web Service Description Language).....................................................23
3.3.2. UDDI (Universal Description Discovery and Integration).................................24
3.3.3. SOAP (Simple Object Access Protocol).............................................................25
4. Vers les services web sémantiques....................................................................................26
5. Langage de description sémantique des services Web......................................................26
5.1. OWL-S (Ontology Web Language for Service).........................................................27
5.1.1. Service profile.....................................................................................................27
5.1.2. Service process (model)......................................................................................28
5.1.3. Service grounding...............................................................................................28
5.2. WSMO (Web Service Modeling Ontology)...............................................................29
5.2.1. Les services web.................................................................................................29
5.2.2. Les objectifs (goals)............................................................................................30
5.2.3. Les ontologies.....................................................................................................30
5.2.4. Les médiateurs....................................................................................................30
6. Outils d’annotation sémantique des services web............................................................30
6.1. Assam WSDL Annotator............................................................................................30
6.2. WSMO Studio............................................................................................................30
6.3. WSDL2OWLS...........................................................................................................30
Liste des Matières

6.4. OWL-S Editor (Université de Malte).........................................................................31


6.5. OWL-S For Protégé...................................................................................................31
7. Les travaux existants.........................................................................................................31
7.1. Le projet ARTEMIS...................................................................................................31
7.2. Le Projet COCOON Glue..........................................................................................32
8. Conclusion........................................................................................................................33

CHAPITRE III : Construction D’une Ontologie De


Domaine Médical
1. Introduction.......................................................................................................................34
2. Processus de construction de l’ontologie..........................................................................34
2.1. Spécifications des besoins..........................................................................................34
2.2. Conceptualisation.......................................................................................................35
2.3. Formalisation..............................................................................................................35
2.4. Implémentation...........................................................................................................35
2.5. Vérification et évaluation...........................................................................................35
3. Construction de « l’ontologie de domaine ».....................................................................35
3.1. Spécifications des besoins..........................................................................................36
3.2. Conceptualisation.......................................................................................................36
3.2.1. Construction de glossaire de termes...................................................................36
3.2.2. Construction de diagramme des relations binaires et des attributs.....................37
3.2.3. Dictionnaire de concepts.....................................................................................39
3.2.4. Déterminer la liste des relations binaires............................................................40
3.2.5. Identifier la liste des attributs..............................................................................40
3.2.6. Construction de la table des axiomes..................................................................41
3.2.7. Construction de la table des instances................................................................42
3.3. Formalisation..............................................................................................................42
3.3.1. Le niveau terminologique (TBox ).....................................................................42
3.3.2. Le niveau factuel (ABox)....................................................................................43
3.4. Implémentation...........................................................................................................43
3.4.1. Création des classes et la hiérarchie des classes.................................................43
3.4.2. Création des propriétés (attributs, relations, restrictions) et instances................45
3.4.3. Génération du code source OWL sous Protégé..................................................47
3.5. Vérification et Evaluation..........................................................................................48
Liste des Matières

3.5.1. Vérification de la consistance et détection de l’inconsistance............................49


4. Langage d’interrogation SPARQL....................................................................................49
5. Conclusion........................................................................................................................50

CHAPITRE IV : Construction D’une Ontologie De


Services Web Médicaux
1. Introduction.......................................................................................................................51
2. Processus de construction de l’ontologie de services Web...............................................51
2.1. Spécification des besoins...........................................................................................51
2.2. Conceptualisation.......................................................................................................52
2.3. Implémentation et mapping........................................................................................52
2.4. Vérification et Exécution...........................................................................................52
3. Construction de « l’ontologie de services web »..............................................................53
3.1. Spécification des besoins...........................................................................................53
3.2. Conceptualisation.......................................................................................................53
3.2.1. Collection des services web médicaux...............................................................53
3.2.2. Définir les synonymes, le texte de description et le fournisseur de service web54
3.2.3. Identifier les Inputs, les Outputs, les Pré-condition et les effets.........................54
3.2.4. Identifier le type de processus de service web....................................................56
3.3. Implémentation et mapping........................................................................................57
3.3.1. Implémentation des services web.......................................................................57
3.3.2. Création des instances OWL-S...........................................................................61
3.3.3. Génération du code OWL-S................................................................................72
3.3.4. Mapping entre ontologie du service Web et ontologie de domaine....................72
3.3.5. Mapping entre OWL-S Parameter et fichier WSDL...........................................74
3.4. Vérification et Exécution...........................................................................................75
4. Utilisation de l’ontologie de domaine et l’ontologie de services Web..............................76
4.1. Technologies d’implémentation.................................................................................76
4.1.1. Le langage Java...................................................................................................76
4.1.2. Servlet et JSP......................................................................................................76
4.1.3. Serveur d’application (Sun GlassFish Enterprise Server)..................................76
4.1.4. API Jena.............................................................................................................77
4.2. Les interfaces du système...........................................................................................77
4.2.1. Fenêtre principale................................................................................................77
Liste des Matières

4.2.2. Interfaces de manipulation de l’ontologie...........................................................77


4.2.3. Interface de recherche.........................................................................................78
4.2.4. Interface des Calcules médical............................................................................78
5. Conclusion........................................................................................................................79
Conclusion et perspectifs..........................................................................................................80
Bibliographie et Webographie
Annexe A
Annexe B
Annexe C
Annexe D
Liste Des Figures

Figure 1.1 : architecture du web sémantique..............................................................................5


Figure 2.1: Collaboration dans une architecture orientée services ..........................................21
Figure 2.2 : Cycle de vie de service web .................................................................................23
Figure 2.3 : Structure d’un fichier WSDL................................................................................24
Figure 2.4 : Structure de L’annuaire UDDI .............................................................................25
Figure 2.5 : structure d’un message SOAP de type requête......................................................25
Figure 2.6 : structure d’un message SOAP de type réponse.....................................................26
Figure 2.7 : Vers les services web sémantiques........................................................................26
Figure 2.8 : Composition d'une description OWL-S ...............................................................27
Figure 2.9 : Les classes et propriétés de service profile ..........................................................28
Figure 2.10 : L’ontologie de ProcessModel .............................................................................28
Figure 2.11 : Relation entre OWL-S et WSDL ........................................................................29
Figure 2.12 : Composants de WSMO ......................................................................................29
Figure 2.13 : Les pairs d’ARTEMIS ........................................................................................32
Figure 14 : Scénario d'utilisation du moteur de découverte COCOON Glue ..........................33
Figure 3.1 : Diagramme des relations binaires et des attributs.................................................38
Figure 3.2 : Les classes et la hiérarchie des classes de notre ontologie....................................44
Figure 3.3 : liste des attributs....................................................................................................45
Figure 3.4 : liste des relations...................................................................................................46
Figure 3.5 : Création des instances...........................................................................................47
Figure 3.6 : extrait du code OWL.............................................................................................48
Figure 3.7 : Vérification de la consistance................................................................................49
Figure 3.8 : résultat d’une requête SPARQL............................................................................50
Figure 3.9 : résultat d’une requête SPARQL............................................................................50
Figure 3.10 : résultat d’une requête SPARQL..........................................................................50
Figure 4.1 : processus de construction de l’ontologie de services Web...................................52
Figure 4.2 : inputs et outputs du service « Pression artérielle moyenne »................................55
Figure 4.3 : un service web composé de deux services web Atomiques..................................57
Figure 4.4 : service web java sous l’environnement NetBeans IDE 6.8...................................58
Figure 4.5 : inputs et outputs de service « la Clairance de la créatinine».................................59
Figure 4.6 : Diagramme de séquence « la Clairance de la créatinine».....................................59
Figure 4.7 : test de service web « Clairance de la créatinine»..................................................60
Figure 8 : le fichier WSDL de service web Clairance de la créatinine.....................................60
Figure 4.9 : SOAP Request et SOAP Response de service Clairance de la créatinine.............61
Figure 4.10 : Concepts et instances de service Web.................................................................62
Figure 4.11 : L’ordonnancement des étapes de la création d’un service web sous l’outil «
OWL-S Editor For Protégé »....................................................................................................63
Figure 4.12 : Entrées et sorties du service « Index de Masse Corporelle»...............................64
Figure 4.13 : Création du processus Atomique.........................................................................66
Figure 4.14 : les inputs, les outputs, les preconditons et les effets de service « L'indice de
masse corporelle ».....................................................................................................................67
Figure 4.15 : Construction d’une instance de la classe service Grounding..............................68
Liste Des Figures

Figure 4.16 : Construction d’une instance de la classe « Service Profile»...............................70


Figure 4.17 : Ressource, service, serviceprofile, servicegrounding et servicemodel...............71
Figure 4.18 : construction d’une instance de la classe service.................................................71
Figure 4.19 : extrait du code OWL-S........................................................................................72
Figure 4.20 : Mapping entre l’ontologie de domaine et l’ontologie des services web.............73
Figure 4.21 : L’ajout des inputs dans une instance du « service process »...............................73
Figure 4.22 : Mapping entre OWL-S Parameter (inputs et outputs) et le message part de
fichier WSDL............................................................................................................................74
Figure 4.23 : Le mapping avec WSDL à partir du classe « grounding »..................................74
Figure 4.24 : Résultat du test de consistance............................................................................75
Figure 4.25 : exécution du service Web....................................................................................75
Figure 4.26 : Interface principale de l’application...................................................................77
Figure 4.27 : Interface de visualisation de l’ontologie.............................................................78
Figure 4.28 : Interface d’un client de service web « Indice de Masse Corporelle»..................79
Liste des Tableaux

Tableau 1.1 : Une base de connaissances composée d'une TBox et d'une ABox.......................7
Tableau 2.1: Couches technologiques des Web Services..........................................................22
Tableau 3.1 : table du glossaire de quelques termes.................................................................37
Tableau 3.2 : dictionnaire de quelques concepts.......................................................................40
Tableau 3.3 : tableau de quelques relations binaires.................................................................40
Tableau 3.4 : table des attributs des concepts...........................................................................41
Tableau 3.5 : table des axiomes................................................................................................42
Tableau 3.6 : table des instances...............................................................................................42
Tableau 3.7 : table des axiomes (T_Box)..................................................................................43
Tableau 3.8 : assertion sur les individus (A-Box).....................................................................43
Tableau 4.1 : Table des synonymes et descriptions de services web........................................54
Tableau 4.2 : Table des fournisseurs de services Web..............................................................54
Tableau 4.3 : Table des IOPEs..................................................................................................56
Tableau 4.4 : Table des processus et de types des processus....................................................57
Tableau 4.5 : Interprétation des résultats..................................................................................64

83
Liste des abbreviations
WWW : WorldWide Web.
SMl : SlanfordMedicalInformalics group.
DOE : Differential Ontologies Editor.
GALEN : General Architecture for Language, Encyclopedia and Nomenclature.
UMLS : Unified medical Language System.
NLM : National Library of Medecine.
LD : Description Logics.
TBOX : Terminological Box.
ABOX : Assertional Box.
W3C : World Wide Web Consortium.
URI : Uniform Resource Identifier.
OWL DL : Ontology Web Language Description Logics.
SWS : Web sémantiques.
sw : Web services.
SOA : Architecture Orientée Services.
XML : Extensible Markup Language.
UDDI : Universal Description Discovery and Integration
WSDL : Web Service Description Language.
SOAP : Simple Object Access Protocol.
SMTP : Simple Mail Transfer Protocol.
IBM : International Business Machines.
RDF : Resource Description Framework.
RDFS : Resource Description FrameworkSchema.
OWL : Web Ontology Language.
OWL-S : Web Ontology Language for Web Services.
ARTEMIS : A Semantic Web Service-based P2P Infrastructure for the Interoperability of Medical
Information Systems.
AMEF : Artemis Message Exchange Framework.
WSMO : Web Service ModelingOntology.
P2P : peer-to-peer.
WSM : Web Service Modeling.
XSD : XML SchemaDefinition
SAWSDL : Semantic Annotations for WSDL and XML Schema.
WSDL-S : WSDL-S Semantic.
EDI : Environnement de développement intégré.
PHP : HypertextPreprocessor.
HTML : Hypertext Markup Language.
JSP : Java Server Page.
Http : HyperText Transfer Protocol
BDD : Database.
SPARQL : Protocol and RDF Query Language.
HP : Hewlett-Packard.
WebVOWL : Web based Visualization of Ontologie.
Introduction Générale

1. Introduction
Depuis la naissance du paradigme des services Web en l’an 2000, ils sont été
considérés comme une révolution pour le Web. En effet, avec les trois premières technologies
de base : SOAP (Simple Object Access Protocol), UDDI (Universal Description Directory
and Integration) et WSDL (Web services Description Language).
Un service web est un système logiciel conçu pour supporter les interactions entre
applications à travers le réseau. Les services web offrent un moyen standard d’interopérabilité
entre différentes applications qui s’exécutent sur une variété de machine/ plateforme.
En 2001, Berners-Lee et ses collègues ont proposé une nouvelle vision du Web, appelée le
Web sémantique, dont le principal pilier de ce dernier est l'utilisation des ontologies. Une
ontologie dans le cadre du Web sémantique correspond à une modélisation du monde dans un
domaine de discours.
L’application du Web sémantique aux services Web a donné naissance aux services Web
sémantiques (SWS). Cette technologie permet aux agents logiciels de découvrir, sélectionner,
appeler, composer, surveiller, invoquer et exécuter automatiquement des services Web sans
l’intervention de l’être humain. Le service Web sémantique doit offrir les fonctionnalités
suivantes :
 donne aux fournisseurs la possibilité de publier leurs services d’une manière non
ambiguë.
 Faciliter la tâche de l’annuaire afin qu’il puisse fournir et composer, de façon
automatique, les services recherchés.
 Permettre au client d’invoquer et surveiller, de façon automatique, un service
sélectionné par l’annuaire.
Le domaine médical est l’un des domaines qui joue un rôle primordial dans notre vie et
l’accès aux connaissances médicales est un enjeu majeur pour les professions de santé comme
pour le grand public. Ainsi, face à l’augmentation des connaissances et services web
médicaux, il apparaît nécessaire de recourir aux technologies de services web sémantiques,
par la construction des ressources ontologiques médicales et par la description sémantique des
services web médicaux.
2. Problématique
De nombreuses connaissances, indispensables pour l’automatisation des services web,
sont soit absentes, soit décrites de façon non structurée et destinées à être interprétées et
exploitées par des humains. Il semble donc nécessaire de tendre vers des services contenant

1
Introduction Générale

cette information sémantique, pour permet aux machines de communiquées d’une manière
intelligible : c’est la technologie de Service Web sémantique.
Le domaine médical est l’un des domaines qui utilise l’informatique pour faciliter et
automatiser plusieurs tâches et services, et la volonté de décrire les services web médicaux
propres aux patients dans le cadre d’un modèle conceptuel formel, à l’aide d’une ou plusieurs
ontologies est une direction de recherche particulièrement explorée dans le domaine de
l’informatique médicale.
La problématique abordée dans ce travail peut être résumée par les questions suivantes :
 Quels sont les langages et les outils utilisés dans les services Web sémantiques
 Comment appliquer la technologie de services Web sémantique sur le domaine
médical pour construire une infrastructure orientée services web sémantiques ?
 Quels sont les bénéfices espérés de l’application de la technologie des services web
sémantiques dans le domaine médical ?
3. Objectif de notre travail
Le but de ce travail consiste à étudier le concept de service web sémantique et de
visualisé le rôle joué par ce concept dans le domaine médical (automatisations des services
d’examens et d’analyses médicales, aide au codage des diagnostics, l’accès aux connaissances
…). Et faire connaître l’intérêt de Services Web Sémantiques dans le milieu médical, traduit
par la collecte, l’organisation, la représentation et la formalisation des connaissances
médicales pour la construction d’une ontologie de domaine en médecine. Et de construire une
autre ontologie de services web appelé Ontologie de services Web qui utilise les concepts de
la première ontologie pour définir et décrire les IOPEs (inputs / outputs / Préconditions /
Effects) et ce en utilisant Le langage OWL-S qui devenu une recommandation W3C.
Les deux ontologies sont utilisées par un réseau de santé qui regroupe tous les acteurs
intervenant dans le processus de soin, des acteurs humains (médecins, patients,
laborantins…etc.) et des acteurs logiciels (web services médicales, applications médicales…
etc.).
4. Organisation Du Mémoire
Ce mémoire est organisé en Quatre Chapitres :
Dans le premier chapitre, nous introduisons la notion du Web sémantique et ontologies.
Comme première étape, Nous commençons par la définition du concept «Web sémantique»,
une architecture du Web sémantique, ainsi que les différents langages de Web sémantique
(RDF, RDFS, OWL), et enfin quelques notions sur les logiques utilisées. Et comme deuxième

2
Introduction Générale

étape, nous nous présentons la notion de l’ontologie, l’objective de l’ontologie, Structure de


l'ontologie, les défirent méthodologies de construction la classification ainsi que les
méthodologies de construction, les outils de développement et enfin quelques ontologies
médicales.
Le deuxième chapitre est consacré à l’état de l’art : « les services Web Sémantiques ».dans
la première étape nous commençons par la représentation de la notion d’Architecture orientée
services ainsi que le concept de services Web ainsi que les standards (WSDL, UDDI,
SOAP).Dans la deuxième étape, nous présentons Par la suite l’intérêt des services Web
sémantiques. Puis nous citons les principaux langages de description sémantique des services
Web, et les différèrent outils d’annotation sémantique des services Web tels que : WSMO
Studio, WSDL2OWLS, OWL-S Editor (Université de Malte) et OWL-S Editor For Protégé.
A la fin de ce chapitre nous présentons les travaux existants qui utilisent les services Web
sémantiques dans le domaine médical.
Le troisième chapitre est consacré à la construction de l’ontologie de domaine.
Nous nous attachons dans ce chapitre à : Décrire un processus de développement d’une
ontologie de domaine, inspiré de La méthode ‘METHONTOLOGY, afin de faciliter la
construction de cette ontologie. Construction de l’ontologie de domaine en suivant le
processus décrit, à l’aide Du langage ‘OWL’ et l’outil ‘Protégé’.
Le quatrième chapitre est le cœur de notre travail. Il contient deux parties :
La première partie est consacrée à la construction d’une ontologie de services Web médicaux
à l’aide du langage ‘OWL-S’, de l’outil ‘OWL-S EDITOR For PROTÉGÉ’ et de
l’environnement de développement intégré ‘NetBeans IDE’, en suivant un processus de
construction de cette ontologie contient quatre étapes (Spécification des besoins,
Conceptualisation, Opérationnalisations et Exécution). Cette ontologie utilise les concepts de
l’ontologie de domaine pour décrire et définir les concepts spécifiques aux services Web tels
que les IOPEs (inputs /outputs /Préconditions /Effects), le fournisseur de service, la catégorie
de service…etc. l’ontologie de services Web médicaux permet aux agents logiciels de
découvrir, appeler, composer, invoquer et exécuter automatiquement des services Web sans
l’intervention de l’être humain.
La deuxième partie présente l’implémentation et le déploiement de notre application à l’aide
des technologies (langage Java, Servlet, JSP, API Jena) et des outils. Et nous terminerons ce
mémoire par une conclusion et des perspectives.

3
Chapitre I

Etat de l’art

Le Web sémantique et

Les ontologies
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

1. Introduction
Depuis sa création, le web a connu un succès gigantesque, il est en train de devenir peu à
peu le premier outil pour la production, la publication, la diffusion et le partage de
l’information.
Cependant la plupart des informations sur le Web sont conçues uniquement pour la
consommation humaine. Les humains peuvent lire les pages Web et les comprendre, mais
leurs significations intrinsèques ne sont pas claires pour permettre leur interprétation par des
ordinateurs [1].
De nos jours, ce problème constitue le plus grand obstacle pour fournir un meilleur
support aux utilisateurs du Web. Pour le moment, le sens du contenu du Web n’est pas
traitable par ordinateur, même s’il existe quelques outils pour retrouver du texte et faire des
traitements sur ce texte, mais quand il s’agit d’interpréter son sens ou d’essayer d’extraire des
informations utiles, la capacité des applications actuelles reste toujours limitée [1].
De ce fait, l'information sur le Web doit être définie de manière qu'elle puisse être utilisée
par les ordinateurs, non seulement à des affichages, mais aussi pour l'interopérabilité et
l'intégration entre les systèmes et les applications. Une façon de permettre l’échange machine
à machine et le traitement automatisé est de fournir les informations de telle sorte que les
ordinateurs peuvent comprendre.
C'est précisément l’objectif du Web sémantique, où l’information possédera un sens bien
défini permettant ainsi aux applications d’exploiter directement la sémantique des ressources
et de coopérer avec l’utilisateur afin de lui faciliter ses tâches.

2. Définition du Web sémantique


Le « Web sémantique » est un terme inventé par Tim Berners-Lee qui désigne: « une
extension du Web actuel, dans lequel l’information a un sens bien défini, et permet une
meilleure coopération dans le travail entre les humains et les ordinateurs…Le Web des
données qui peuvent être traitées par les ordinateurs » [1].
Le Web sémantique est donc une nouvelle approche qui désigne un ensemble de
technologies visant à rendre le contenu des ressources du WWW(World Wide Web)
accessible et utilisable par les programmes et agents logiciels grâce à un système de
métadonnées formelles utilisant notamment la famille de langages développés par le W3C [1],
Il s'agit d'arriver à un Web intelligent, où les informations ne seraient plus stockées mais
comprises par les ordinateurs afin d'apporter à l'utilisateur ce qu'il cherche vraiment.

4
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

D'après la définition de Tim Berners-Lee, le Web sémantique permettra (contrairement


au Web actuel vu comme un Web syntaxique) de rendre le contenu sémantique des ressources
Web interprétables, non seulement par l'homme mais aussi par la machine.
Le Web sémantique est donc une nouvelle approche pour l’organisation du contenu du
Web instaurée dans le but d’améliorer l’interopérabilité, la découverte et la récupération de
ressources [2].

3. Architecture du Web sémantique


Le Web sémantique apparaît aujourd’hui comme la prochaine évolution importante du
Web. De par la taille que le World Wide Web a atteinte, l’accessibilité aux informations
disponibles sur celui-ci exige des moyens de raisonnement.
Pour cela, L’ensemble des technologies du Web sémantique est organisé dans une
architecture en couches. C’est ce qu’on appelle la « Semantic Web Stack » ou « Pile du Web
Sémantique » (Figure 1.1). Elle constitue la vision du W3C de l’architecture du Web
Sémantique. Ainsi l’ensemble des technologies (langages et protocoles) qu’elle comporte,
sont standardisées par le W3C, et font toujours l’objet de recherches et de travaux
d’amélioration et de normalisation au sein du W3C [3], [4].
L’architecture de web sémantique peut être divisée en trois niveaux. Un niveau de
nommage et adressage représenté par la couche la plus basse. Le niveau syntaxique représenté
via la deuxième couche XML, le reste des couches représente le niveau sémantique, Chaque
technologie se base sur les couches inférieures et est utilisée par les couches supérieures et
chaque nouvelle couche est plus expressive et plus riche que le substrat sur lequel elle repose
[4]. Les différents niveaux de l’architecture du Web sémantique sont représentés par la figure
suivante :
Trust
Rules
Proof
Signature
Digital

DATA
Logic
Self-
DATA
Ontology vocabulary
Desc-
RDF + rdfschema
Doc-
XML + NS + xmlschema
Unicode URI

Figure 1.1 : architecture du web sémantique.

5
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

4. Logique pour le Web sémantique


4.1. Logique de description
La Logique Descriptive est un formalisme de représentation des connaissances s'appuyant
à la fois sur une représentation structurée, comme les langages à objets ou de frames et, sur
une sémantique formellement et précisément définie à la manière des logiques des prédicats
avec une mise en évidences particulière des services de raisonnement qui permettent une
inférence de la connaissance implicite à partir de bases de connaissance explicites [5].
Les entités centrales de ce langage de représentation de connaissances sont les concepts,
les instances (individus) et les rôles/attributs (ou propriétés). [6] les concepts sont des
définitions intensives représentant un ensemble d’individus. Les rôles décrivent des relations
binaires entre les concepts, ils permettent entre autre d’associer des propriétés aux concepts.
Les individus sont des éléments qui peuvent appartenir à plusieurs concepts ou à aucun [7].
La LD de permet, d’utiliser les concepts atomique pour construire des définitions
complexes de concepts en utilisons des constructeurs adéquats. Ainsi que la possibilité de
déduire automatiquement de nouvelles connaissances (i.e. rendre de la connaissance implicite
explicite) à partir de définitions de concepts et/ou à partir de la description d'individus avec
l’aide des procédures d’inférence [6].
 Les deux niveaux de description
La modélisation des connaissances d'un domaine avec les LD se réalise en deux niveaux.
Un système LD traite deux types de connaissances: le niveau terminologique «Terminological
Box» (TBOX) décrit les connaissances générales d’un domaine et le niveau factuel
«Assertional Box» (ABOX) représente une instanciation spécifique [8]. Le TBox contient des
déclarations concernant les concepts et rôles, alors qu’une ABox décrit les individus en les
nommant et en spécifiant en termes de concepts et de rôles, des assertions qui portent sur ces
individus nommés [7].

 Le niveau terminologique (TBox)


Le TBox constitue la partie terminologique de la base de connaissances. Il contient la
déclaration d’un ensemble de concepts , de rôles, des constantes ( dénote le concept et le
rôle , les plus généraux de leur catégorie respective ),et ( dénote le concept le plus
spécifique c'est-à-dire l'ensemble vide) [8] . Les concepts et rôles atomiques peuvent être
combinés au moyen de constructeurs pour former respectivement des concepts et des rôles
composés [9].

6
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

Formellement une TBox contient des axiomes terminologiques, qui peuvent êtres
divisés en axiomes d'inclusion () et axiomes d'égalité () [6].
Un exemple d'axiome d'égalité est la définition d'un carré:
Carré Losange =4contient.AngleDroit. Cette formulation signifie qu'un Carré est équivalent à un
Losange à exactement 4 AnglesDroit. Un Carré est un Losange est un exemple d'axiome
d'inclusion. Il signifie que toutes les instances de Carré sont des instances de Losange [6].

 Le niveau factuel (ABox)


Une ABox contient un ensemble d'assertions sur les individus (instances des concepts) :
[6] Les assertions de l'ABox utilise les concepts établis dans le TBox et permet de définir des
assertions pour chaque concept ou rôle.
Les assertions de concept est du type C(a) ou simplement a. Cela veut dire que l'individu
a est une instance du concept C. les assertions de rôle est du type R(a, b). Il indique que
l'individu a est en relation R avec l'individu b [6].
Par exemple, l’assertion suivante permet de définir la personne « Sara » comme étant une
mère : Mère ∩ Personne (Sara). Concernant les rôles, on peut définir l’assertion suivante :
AEnfant (Sara, Darine) qui indique que la personne « Sara » a un enfant « Darine » [8].
Une base de connaissances composée d'une TBox et d'une ABox dans le tableau suivant :

TBox ABox
-PersonneThing -EstUnFumeur (Salim)
-Homme HumainFemelle -Pneumologue(Ali)
-ThérapeutiqueActivité_Médicale -Suivi_par(Salim, Ali)
-DiagnosticActivité_Médicale(détecte.Maladie) -Travail_à( Ali , Hôpital_de_Alger)
(utilise.EquipementMedical) -Diagnostic (Test Enzymatique)
-Tumeurmaladie(diagnostiquer_par.Cancerologue)

Tableau 1.1 : Une base de connaissances composée d'une TBox et d'une ABox.

5. Les langages du Web Sémantique


Le Web sémantique apparaît aujourd’hui comme la prochaine évolution importante du
Web. Un tel web est fondé sur le fait que les machines puissent accéder à l’ensemble des
informations éparpillées sur le web [11].
Pour cela, Le W3C (World Wide Web Consortium) héberge plusieurs groupes de travail
chargés de développer et maintenir les technologies associées au Web. Le W3C et ses
Membres ont élaboré et spécifié un ensemble de standards (appelés ‘Recommendations’)
constituant les technologies du Web sémantique [12].

7
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

Plusieurs langages ont été développés, La plupart de ces langages reposent sur XML ou
utilisent XML comme syntaxe. Nous allons présenter brièvement certains langages principaux
RDF, RDF(S) et OWL [10].

5.1. RDF (Resource Description Framework)


Le langage Resource Description Framework (RDF) est le standard émergeant proposé par
le W3C pour la description des ressources du Web. Mais, de manière souple et la plus
générique possible [8].
RDF permet de voir le Web comme un ensemble de ressources reliées par les liens «
sémantiquement » étiquetés [1]. Il s'appuie sur un modèle fixe composé d'assertions. Ces
assertions sont exprimées sous la forme d'un triplet composé d'un sujet, d'un prédicat et d'un
objet(ou {ressource, propriété, valeur}) et illustré par un diagramme composé des nœuds et
d'arcs orientés, dans lequel chaque triplet est représenté par un lien noeud-arc-noeud (d'où le
terme de "graphe") [11], [13].
Les éléments de ce triplet sont définis comme suit [14] :
 Le sujet
Il s’agit de la ressource à décrire, qui peuvent être référencée par un identificateur. Cet
identificateur doit être une URI.
 Le prédicat
Il s’agit du type de propriété utilisée pour décrire la ressource. Cette propriété est
orientée. Le prédicat lui-même est considéré comme une ressource, et identifié par une URI.
 l’objet
Il s’agit de la valeur de la propriété ou une autre ressource.
En utilisant ce modèle, il est possible de modéliser le fait que «le médicament identifié par
PARACÉTAMOL est fabrique par le Labo SAIDAL » comme suit :

<rdf:Description rdf:about=' PARACÉTAMOL '>


< fabricant> Labo SAIDAL </fabricant >
</rdf:Description>

Cette assertion peut être aussi représentée par un graphe étiqueté orienté (Figure 1.2).

PARACÉTAMOL Labo SAIDAL


fabricant
(Ressource) (Valeur)

Figure1.2: Exemple d’une annotation RDF.

8
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

5.2. RDFS (Resource Description Framework Schema)


Publié par le W3C en même temps que le RDF, le Ressource Description Framework
Schema (RDFS) [13]. Il a pour but d’étendre RDF en décrivant plus précisément les
ressources utilisées pour étiqueter les graphes [15]. Pour cela, il enrichit le RDF en
fournissant les primitives ontologiques nécessaires à la description de classes d'objets et de
propriétés (rdfs :Class, rdfs :Property, rdfs :subPropertyOf, etc.)[13].
RDFS permet d'organiser hiérarchiquement les ressources grâce à des liens de
subsomption (rdfs:subClassOf, rdfs:subPropertyOf) ou encore de spécifier des contraintes sur
les valeurs d'une propriété afin de lui assurer une signification (rdfs:domain, rdfs:range) [11].

5.3. OWL (Web Ontology Language)


Ontology Web Language (OWL) est, depuis 2004, le standard défini par le W3C pour la
création d'ontologies.
OWL est une extension de RDFS. Il permet d’enrichir RDFS en définissant un
vocabulaire plus complet pour la description des connaissances telles que : l’équivalence des
classes, l’équivalence des relations, la symétrie et la transitivité des relations, la cardinalité,
etc [11] , une vocabulaire pour décrire les propriétés et les classes : entre autres, des relations
entre les classes (par exemple, la disjonction), une cardinalité (par exemple, un seul
exactement), une égalité, un typage enrichi des propriétés, des caractéristiques de propriétés
(par exemple, la symétrie) et des classes énumérées [16].
OWL vise également à rendre les ressources sur le Web aisément accessibles aux
processus automatisés, d’une part en les structurant d’une façon compréhensible et
standardisée, et d’autre part en leur ajoutant des méta-informations [17].
Le langage OWL permet une interprétation du contenu Web par les machines supérieure
à celle offerte par les langages XML, RDF et le schéma RDF (RDF-S), en fournissant un
vocabulaire supplémentaire avec une sémantique formelle.
La figure 1.3 montre que OWL peut être défini en trois sous langages complémentaires
proposant une expressivité croissante [18], chacun conçu pour des communautés de
développeurs et des utilisateurs spécifiques : OWL Lite, OWL DL, OWL Full [10].

OWL
OWL Lite OWL DL
OWL FULL

Figure 5.3: Les types de langage OWL.


9
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

5.3.1. OWL Lite


C'est le sous langage OWL le plus simple. Il est destiné aux utilisateurs ayant besoin
principalement d'une hiérarchie de classifications et de contraintes simples [16].
5.3.2. OWL DL
Signifie Ontology Web Language Description Logics, Il garantit une expressivité
maximale tout en conservant la complétude de calcul et la décidabilité [8].
5.3.3. OWL Full
Il a été défini pour les utilisateurs qui veulent une expressivité maximale et une liberté
syntaxique de RDF. Il peut utilise tous les constructeurs OWL sans restriction mais sans les
garanties sur les propriétés de calcule [8].
6. Les ontologies
Les ontologies sont la technologie dorsale pour le Web sémantique et plus généralement
pour le management des connaissances formalisées décrivant les ressources du Web. Elles
fournissent la sémantique exploitable par machine des données et des sources d'informations
pouvant être communiquées entre différents agents (logiciel et humaines) [10].
6.1. Origine et Définition
Le terme « ontologie », construit à partir des racines grecques ontos (ce que existe,
l'existant) et logos (le discours, l'étude), est un mot que l'informatique a emprunté à la
philosophie au début des années 1990 [19].
En philosophie, l'Ontologie a été défini comme une branche de la métaphysique qui
s’applique à l’être en tant qu’être, indépendamment de ses déterminations particulières [10].
Plusieurs définitions ont été proposées pour donner un éclaircissement sur ce terme, mais
aucune de ces définitions ne s’est explicitement imposée. Cependant la définition la plus
simple et plus couramment citée, est celle donnée par Gruber en 1995 pour qui une ontologie
est : « une spécification explicite d'une conceptualisation » en 1997 Brost a légèrement
modifié cette définition, selon lui c'est : « une spécification formelle et explicite d'une
conceptualisation partagée » [20].
Cette définition fait ressortir quatre notions particulièrement importantes dans le domaine
des ontologies :
 Formel : signifie que l’ontologie doit être lisible et compréhensible par les machines
 Explicite : spécifie que les concepts utilisés ainsi que les contraintes sur leur
utilisation sont définis de façon claire et précise.

10
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

 Conceptualisation : signifie le fait qu'une ontologie n'est qu'une abstraction d’un


certain aspect du monde réel et que les termes utilisés ainsi que leurs relations doivent
être décrit sans ambiguïté.
 Partage : implique que l’ontologie n’est pas la propriété d’un individu, mais elle
représente un consensus accepté par une communauté d’utilisateurs.
6.2. Intérêts de l’ontologie
Les raisons qui nécessitent le développement d’une ontologie sont [21] [22] :
 Permettre la réutilisation du savoir sur un domaine afin de standardiser ces disciplines
pour permettre l’interopérabilité.
 Partager la compréhension commune de la structure de l’information entre les
personnes ou les fabricants de logiciels.
 Expliciter ce qui est considéré comme implicite sur un domaine
 Distinguer le savoir sur un domaine du savoir opérationnel
 Analyser le savoir sur un domaine
 Formuler explicitement les hypothèses du domaine permettant de rendre plus facile Le
changement, la compréhension et la mise à jour de ce modèle de connaissance.
 Ne plus avoir besoin de construire des connaissances à partir de zéro mais en
s’appuyant sur les connaissances déjà construites.
6.3. Structure de l'ontologie
Les ontologies rassemblent les connaissances propres à un domaine particulier. Ces
connaissances sont formalisées en utilisant les cinq types de composants suivants: concepts,
relations, axiomes et instances [23] Ces éléments sont définis comme suit :
 Les concepts
On les appelle aussi les termes ou les classes de l’ontologie [20]. Ils sont utilisés dans un
Large sens, ils peuvent être abstraits ou concrets, élémentaires ou composés, réels ou fictifs
[24] Un concept peut représenter un objet matériel, une notion, une idée.
 Les relations
Elles représentent des interactions entre concepts permettant de construire des
représentations complexes de la connaissance du domaine. Elles établissent des liens
sémantiques binaires, organisables hiérarchiquement [8] Elles permettent de structurer er
d’inter relier les concepts, les uns par rapport aux autres. Ces relations peuvent être de
différents types : sous-classe-de (spécialisation, généralisation), partie-de (agrégation ou
composition), associée-à, instance-de, est-un, etc [20].

11
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

 Les axiomes (ou Règles)


Les axiomes sont des expressions qui sont toujours vraies. Ce sont des affirmations
considérées comme évidentes sans preuve. Ils permettent de contraindre les valeurs de classes
ou d’instances [24].
 Les instances
Les instances représentent les éléments des concepts et des relations dans un domaine
donné [23].
6.4. Classification des ontologies selon le niveau de granularité
Selon leur niveau de granularité, les ontologies peuvent être classifiées principalement en
quatre catégories :
 Les ontologies supérieures (Upper ou Top-level ontologie) : modélisent les concepts
très généraux auxquels les racines des ontologies de plus bas niveaux devraient être
liées. Cependant, il existe plusieurs ontologies de niveau supérieur et qui sont
divergentes. Afin de résoudre ce problème, l'organisation de standardisation IEEE
tente de développer une ontologie de niveau supérieur qui soit standard [25].
 Les ontologies de domaine : ce sont des ontologies qui sont construites sur un domaine
particulier de la connaissance. Elles fournissent le vocabulaire des concepts du
domaine de connaissance et les relations entre ces derniers, les activités de ce domaine
ainsi que les théories et les principes de base de ce domaine. Les ontologies de
domaine constituent donc des méta-descriptions d'une représentation de connaissances
du domaine [26], [27].
 Les ontologies de tâches (Task ontologies): Ces ontologies sont utilisées pour gérer
des tâches spécifiques liées à la résolution de problèmes dans les systèmes, telles que
les tâches de diagnostic, de planification, de configuration, etc [26].
 Les Ontologies d’application : Elles contiennent toutes les informations nécessaires
pour modéliser les connaissances pour une application particulière [27].
6.5. Méthodologies de conception d’ontologies
Le processus de construction d’une ontologie est un processus long et complexe. A
l’heure actuelle, De nombreuses méthodologies de construction d'ontologie existent sans qu'il
y ait toutefois de consensus autour des meilleures pratiques à admettre [13].
Dans cette partie nous allons présenter deux principales méthodes de construction
d’ontologies à partir de zéro.

12
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

6.5.1. Méthodologie d’Uschold et Grüninger


Uschold et King ont proposé une méthode de construction d’ontologie basée sur
l’expérience acquise lors du développement de l’ontologie d’Entreprise, The enterprise
ontology [32]. Cette méthode reposait sur quatre étapes [28], [29].
1. Identifier l’objectif souhaité, spécifier le domaine concerné.
2. construire l’ontologie et pour cela distinguer, d’une part les concepts et les relations
clés, et d’autre part, produire des définitions textuelles précises et non ambigües de ces
concepts et de ces relations ; ensuite coder les connaissances en les intégrant à d’autres
ontologies qui préexistent Coder l’ontologie dans un langage adapté. Les en Intégrer
d’autres ontologies existantes. Dans cette étape, l’ontologie est réellement construite.
3. évaluer le résultat.
4. Rédiger une documentation et éditer des recommandations précises pour chaque étape.

Construction

Identifier Capture Codage Réutilisation Evaluation


le but et intégration

Documentation

Figure 1.4: processus de la méthode d’Uschold et King [23].

6.5.2. La méthodologie METHONTOLOGY


METHONTOLOGY est une méthodologie développée par l’équipe de l’intelligence
artificielle à l’Université polytechnique de Madrid [30].
Elle représente une méthodologie complète pour la construction d’une ontologie
«indépendante» sans modèle préalable. Dans la construction d’une ontologie selon
Methontology trois processus interdépendants interviennent (Figure 1.5) : un processus de
gestion, un processus de développement et un processus de support.
Chaque processus est composé de plusieurs activités. Il y a trois activités de gestion du
projet (planification, contrôle et assurance qualité), cinq activités de développement
(spécification, conceptualisation, formalisation, implémentation et maintenance) et cinq
activités de support (acquisition de connaissances, intégration, évaluation, documentation et
configuration) [13].

13
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

Toutes les activités de support commencent simultanément avec l’étape de la


spécification, leurs réalisation est faite en parallèle avec toutes les étapes de développement
de l’ontologie.
Nous donnons dans ce qui suit un peu plus de détails sur la phase la plus importante de la
méthode (Activités de développement) [28].
 La spécification
La finalité de cette étape est la spécification et la création des documents répondants aux
objectifs visés par le développement de l’ontologie [28]. Il faut définit l'objectif de
l'ontologie, les utilisateurs finaux ainsi que son dimensionnement [13].
 La conceptualisation
C’est la phase de structuration et d’organisation des connaissances acquises, créant ainsi
le premier modèle conceptuel. En d’autre terme cette étape nous permet le passage de
l’informelle aux structures formelles.
Pour cela, onze activités principales ont été définies allant de la définition des termes
jusqu'a la description des instances et des règles [13]. C'est l'une des phases les plus
importantes car l'essentiel de la connaissance est acquis au début de la construction.
 Formalisation :
C'est dans cette phase que les connaissances sont traduites sous la forme d'une ontologie.
Il s'agit de passer d'un modèle purement conceptuel à une implémentation informatique, en
utilisant un langage de représentation externe indépendant de l’implémentation et de
l’environnement [28].
 L’implémentation
C’est l’étape de l’implémentation de l’ontologie sur une machine en utilisant un langage
ontologique (OWL, RDF/s) [13].
 Maintenance
La phase de maintenance corrige ou améliore l'ontologie créée. Cette phase est l’une des
étapes les plus importantes, car elle permet de tenir le rendement de l’application au niveau
souhaité [24].

14
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

Activités orientées développement

1 2 3 4 5
Spécification Conceptualisation Formalisation Implémentation Maintenance

Figure 1.5 : Les différentes phases de Methontology.

6.6. Outils de développement des ontologies


Il existe plusieurs outils de développement d’ontologies ont été développés afin de
systématiser l’ingénierie des ontologies, parmi les plus connus sont: Ontolingua, Ontosaurus ,
WebODE , Protégé , WebOnto.
Dans cette section, nous allons présenter quelques outils d’ingénierie ontologique. Ils
permettent à l’utilisateur de créer des ontologies de manière indépendante des langages de
représentation et de prendre en charge la phase d’opérationnalisation de l’ontologie en
l’exportant dans des langages informatisés standards.
6.6.1. PROTÉGÉ
PROTÉGÉ a été conçu par le Slanford Medical Informalics group (SMl) de Slanford
University.
C’est une plate-forme Open Source autonome, qui fournit un environnement graphique
d'édition ontologique [30] Le modèle de représentation de connaissances de PROTÉGÉ, est
issu du modèle des frames. Ce dernier contient des classes (pour modéliser les concepts), des
slots (pour modéliser les attributs des concepts) et des facettes (pour définir les valeurs des
propriétés et des contraintes sur ces valeurs), ainsi que des instances des classes [23].
L’interface très complète ainsi que l’architecture logicielle bien pensée permettant
l’insertion de plugins [28] pouvant apporter de nouvelles fonctionnalités ont participé au
succès de PROTÉGÉ. Aujourd'hui, il regroupe une large communauté d’utilisateurs et
bénéficie des toutes dernières avancées en matière de recherche ontologique [29].

15
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

Figure 1.6: interface Protégé.

6.6.2. OILEd
OILEd est un éditeur ontologique graphique conçu par l’université de Manchester. C’est
souvent considéré comme un éditeur d'ontologies, destiné à aider à la conception d'ontologies
de petite et moyenne taille [33].
Il offre la plus grande partie de ce que l’on peut attendre d’un éditeur d’ontologies. On
peut créer des hiérarchies de classes et spécialiser les rôles, et utiliser avec l’interface les
types d’axiomes les plus courants. Cet éditeur offre également les services d’un raisonneur,
« FaCT », qui permet de tester la satisfiabilité des définitions de classes et de découvrir des
subsomptions restées implicites dans l’ontologie [32].
6.6.3. WebODE
WebODE développé par le LAI de Madrid, est une plate-forme de conception
d’ontologies fonctionnant en ligne. C est un éditeur qui assurait fidèlement le support de la
méthodologie METHONTOLOGY. Il fournit plusieurs services reliés aux ontologies [23].
WebODE est composé de plusieurs modules : un éditeur d’ontologie qui intègre la
plupart des services nécessaires à la construction d’ontologies (édition, navigation,
comparaison, fusion, raisonnement…), un système de gestion des connaissances à base

16
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

ontologique, un outil pour annoter les ressources du web et un éditeur de services pour le Web
sémantique [23].
6.6.4. DOE
DOE (Differential Ontologies Editor) a été développé à l’Institut National de
l’Audiovisuel. Il offre une représentation graphique des arbres de concepts et des relations de
l’ontologie et permet d’interagir avec les hiérarchies [23].
L’éditeur DOE offre des interfaces de création, modification et suppression de concepts
et de relations, une représentation graphique de l’arbre ontologique, et des fonctionnalités de
recherche et de navigation dans la structure créée. Il propose une interface ergonomique pour
associer à chaque terme sa définition encyclopédique, ses éventuels synonymes (59) et ses
principes différentiels et cela en plusieurs langues [23].
6.7. Quelques ontologies médicales
L'utilisation des ontologies en médecine se concentre principalement sur la représentation
et organisation des terminologies médicales. Les chercheurs dans le domaine médical visent à
représenter, partager et réutiliser leurs connaissances. Par conséquent plusieurs terminologies
et ontologies ont été proposées et construites à des besoins précis et divers, telle que [34]:
 Les ontologies peuvent aider à construire des systèmes d'information plus puissants et
plus interopérables dans les soins de santé.
 Les ontologies peuvent soutenir la nécessité du processus de soins de santé pour
transmettre, réutiliser et partager les données du patient.
 Les ontologies peuvent également fournir des critères fondés sur la sémantique pour
soutenir différentes agrégations statistiques à des fins différentes.
 les ontologies peuvent apporter aux systèmes de soins de santé est leur capacité à
soutenir l'intégration indispensable des connaissances et des données.
Dans cette partie, nous présentons quelques projets de construction d’ontologies.
6.7.1. GALEN
GALEN (General Architecture for Language, Encyclopedia and Nomenclature) est un
projet européen [11] qui avait pour but de proposer des terminologies réutilisables et
partageables pour le domaine médical.
Une ontologie Galen est composée d'une hiérarchie de catégories élémentaires, une
hiérarchie de liens sémantiques appelés attributs (aussi désignés par rôles ou relations) pour
établir des relations entre les catégories. Les concepts peuvent êtres simples ou composés. Les
concepts composés sont une combinaison de concepts simples. Par ailleurs, on peut définir un
ensemble d'axiomes sur les concepts, ainsi que des contraintes [35].
17
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

La version actuelle de GALEN comprend une hiérarchie assez riche de concepts (


~ 25000 concepts) ainsi qu’un ensemble de relations associatives permettant de définir des
structures complexes.
6.7.2. UMLS
UMLS (Unified medical Language System) est un vaste projet élaboré par le NLM
(National Library of Medecine) aux Etats-Unis [23]. L'objectif d'UMLS est d'améliorer la
capacité des programmes informatiques à comprendre la signification des requêtes des
utilisateurs dans le domaine médical et d'utiliser cette compréhension pour la recherche et
l'intégration d'informations compréhensibles par les machines.
UMLS est un recueil de plusieurs vocabulaires dans le domaine médical, il fournit une
structure de cartographie de vocabulaires et permet la traduction entre des différents systèmes
de terminologies [35].
Le Cœur d'UMLS est constitué d'un Meta thésaurus qui comporte plus de 1.300.000
concepts dans sa version 2006 et qui croît régulièrement de près de 200.000 concepts par an.
C'est la partie la plus évolutive d'UMLS, et le rythme de sa croissance pose la question de sa
maîtrise et de sa cohérence [35].
6.7.3. MENELAS
MENELAS est un projet européen, avait pour but de proposer une approche d’accès aux
informations et aux connaissances médicales à travers différentes langues. Une ontologie
couvrant le domaine des maladies coronariennes a été développée dans le cadre d’une
application pilote. Cette ontologie a été construite à partir de plusieurs sources incluant
l’analyse des corpus, les interviews avec les spécialistes et la réutilisation des ressources
terminologiques existantes. Elle comporte plus de 1800 concepts et 300 relations [11].

7. Conclusion
Dans ce chapitre, nous avons essayé de présenter les paradigmes de Web sémantique et
de l'ingénierie ontologique largement utilisée dans notre travail. Nous avons commencé par
présenter la notion de Web sémantique en donnant sa définition et les logiques utilisées dans
le Web sémantique (logique du premier ordre, logique de description, logique de frame et
logique de programmation).
Nous avons ensuite, présenté l'Architecture du Web sémantique et les différents
langages de Web sémantique (RDF, RDFS, OWL). Nous avons aussi donné les fondements
de l'ingénierie ontologique (notion d’ontologie, Intérêts de l’ontologie, structure de

18
Chapitre I : état de l’art « Le Web sémantique et Les ontologies »

l'ontologie, classification des ontologies, méthodologies de construction des ontologies, outils


de développement des ontologies et Quelques ontologies médicales).
Une partie importante de ce chapitre a été dédiée aux ontologies et au langage OWL,
langage que nous avons choisi pour l'implantation des deux ontologies développées dans le
cadre de cette thèse. Ce choix est motivé par les possibilités offertes par ce langage, à savoir
un fondement théorique consistant en se basant sur les logiques de description et le support
d’une syntaxe utilisable dans le cadre du Web. Dans le chapitre suivant, nous nous intéressons
à la technologie de services Web sémantiques, qui constitue l’état de l’art et la colonne
vertébrale de notre travail.

19
Chapitre II

État de l’art

« Les Services Web

Sémantiques »
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

1. Introduction
Avec la grande utilisation du web, les chercheurs ont développé des logiciels pour assurer
et simplifier la communication entre des applications distribuées. Ces logiciels sont appelés
«web services ». La limitation majeure de cette technologie est que la découverte et la
composition des services nécessitent encore une intervention humaine accrue.
Pour résoudre ce problème, la communauté du Web sémantique a proposé d'enrichir les
services Web avec un contenu sémantique de leurs fonctionnalités afin de faciliter leur
découverte et leur intégration. Il s’agit des services Web sémantiques (SWS). Cette nouvelle
technologie permet d’automatiser la découverte, la composition et l’invocation des services à
travers le Web [36].Ce chapitre est consacré à étudier les services web et les services web
sémantiques.
2. Architecture orientée services
2.1. Définition SOA
Il existe plusieurs façons de définir une Architecture Orientée Services, mais toutes les
définitions sont d’accord que SOA est un paradigme destiné à résoudre les problèmes
d’hétérogénéité et interopérabilité des logiciels qui constituent le système d’information.
L’architecture SOA est un paradigme permettant d’organiser et d’utiliser des savoirs
faires distribués pouvant être de domaines variés. Cela fournit un moyen uniforme d’offrir, de
découvrir, d’interagir et d’utiliser des savoirs faires pour produire le résultat désiré avec des
Pré-conditions et des buts mesurables [37].
SOA est un ensemble de composants qui peut être invoqué, et dont les descriptions
d'interface peuvent être publiés et découvert. Cette définition ne s'est pas occupée de la notion
d'architecture ni de la manière avec laquelle le service peut être conçu [38].
2.2. Collaboration dans une architecture orientée services
Le modèle d’architecture à base de service web se compose de trois entités, le fournisseur
de service, l’annuaire de service et le demandeur de service. La Figure 2.1 décrit les
collaborations présentes dans une architecture orientée services.

20
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.1: Collaboration dans une architecture orientée services [39].


Les principes rôles dans une architecture orientée services sont les suivants [39]:
 Le demandeur de services : Recherche l’information de l’annuaire et utilise la
description de service obtenue pour se « lier » au service (Bind) à et à invoques le
service web. Le demandeur de services exécute le service selon le contrat d’interface
prédéfini.
 Le fournisseur de services : offre simplement le service web, le fournisseur doit
décrit le service web dans un format standards, qui est le XML et publier cette
description dans un annuaire de services de sorte que le consommateur de services
puisse découvrir et accéder au service.
 Un annuaire de services : est un élément essentiel pour la découverte de services. Il
contient les informations additionnelles sur le fournisseur de services, telles que
l’adresse et des détails techniques sur le service et permet la consultation des
interfaces de services par les consommateurs intéressés.
Les opérations possibles dans une architecture orientée services sont [39]:
 Edition/Publication : une description de service doit être publiée de sorte qu’elle
puisse être découverte et appelée par un consommateur de services.les services
disponibles aux utilisateurs.
 Découverte : recouvre la possibilité de rechercher un service parmi ceux qui
ont été publiés.
 Liaison/Invocation : représentant la connexion et l'interaction du consommateur avec
le service, après recherche de la description de service.
Pour assurer ces fonctionnalités, trois technologies de base ont été proposées et disposées
en couches pour construire l'architecture de base des Web Services, comme le montre dans le
Tableau 2.1.

21
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

UDDI Découverte se services


WSDL Description de services
SOAP Communications

Tableau 2.1: Couches technologiques des Web Services.


3. Les services web
3.1. Définition
Il s'agit d'une technologie permettant la communication et l'échange de données entre des
applications et des systèmes hétérogènes basé sur un ensemble des protocoles et standard.
Plusieurs définitions ont été attribuées aux services web, on peut citer : « Un service web
est un système d’ordinateur qui échange des messages de type XML avec d’autre système en
utilisant http comme un protocole de communication. En outre, un service Web est une unité
indépendante qui implémente un unique besoin. Le meilleur but pour les développeurs des
services web est de les chainer pour assurer la communication pour la raison de résoudre les
problèmes de complexité, ils offrent une architecture de calcul extensible attrayante» [40].
D’après les auteurs Doug Tidwell, James Snell et Pavel Kulchenko: « Un service web est
une interface qui accède aux applications via l’internet en utilisant les technologies standards
d'Internet. En d'autres termes, si une application qui peut accéder via l’Internet en utilisant
une combinaison des protocoles http, XML, SMTP etc. alors c’est un service web. Les
services web ne sont qu’une représentation des évolutions de principes qui guider l’internet
pendant des années» [41].
Selon Martin Kalin : « Un service web est une application répartie qui peut être déployée
et exécutée sur des dispositifs distincts » [42].
D’après toutes ses définitions on a sorti avec un résumé que les services web sont des
systèmes logiciels, permettant la communication et l'échange des données entre applications
et systèmes hétérogènes dans des environnements distribués. Au travers des protocoles
compréhensibles par tout le monde.
3.2. Cycle de vie d’un service web
Le service web comme tous les programmes comprennent un cycle de vie La figure
suivante (Figure 2.2) montre le cycle de vie d’un service Web :

22
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.2 : Cycle de vie de service web [43].


Le cycle de vie d’un service Web passe par des étapes suivantes [43]:
 Le client envoie une requête à l’annuaire de Service pour trouver le service Web dont
il a besoin.
 L’annuaire cherche pour le client, trouve le service web approprié et renvoie une
réponse au client en lui indiquant quel serveur détient ce qu’il recherche.
 Le client envoie une deuxième requête au serveur pour obtenir le contrat de
normalisation de données.
 Le serveur envoie sa réponse sous la forme établie par WSDL en langage XML.
 Le client peut maintenant rédiger sa requête pour traiter les données dont il a besoin.
 Le serveur fait les calculs nécessaires suite à la requête du client, et renvoie la même
forme normalisée.
3.3. Principaux technologie et standards des services web
Les Services Web se basent actuellement sur trois protocoles : SOAP, WSDL, UDDI,
dans ce qui suit, nous allons détailler le fonctionnement de chaque protocole :
3.3.1. WSDL (Web Service Description Language)
Le langage WSDL proposé par Ariba, IBM et Microsoft auprès du W3C est un format de
description des Web services basé sur XML et permet de décrire de façon précise les détails
concernant le service Web tels que les protocoles, les ports utilisés, les opérations pouvant
être effectuées, les formats des messages d'entrée et de sortie et les exceptions pouvant être
envoyées. Il permet la représentation d'un Web Service de manière plus abstraite pour la
réutilisation. Il est devenu une recommandation du W3C depuis le 26 Juin 2007[44],[45].

23
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

3.3.1.1. Structure d'un document WSDL


Un document WSDL se compose d'un ensemble d'éléments décrivant les types de
données utilisés par le service, les messages que le service peut recevoir, ainsi que les liaisons
SOAP associées à chaque message. Le schéma suivant illustre la structure du langage WSDL
qui est un document XML, en décrivant les relations entre les sections constituant un
document WSDL.
La figure suivante montre une structure d’un fichier WSDL :

Figure 2.3 : Structure d’un fichier WSDL.

3.3.2. UDDI(Universal Description Discovery and Integration)


Le protocole UDDI est une plateforme basé sur XML a été réalisé par IBM, Microsoft et
Ariba. UDDI est une spécification technique pour décrire, à la découverte, et l'intégration web
Prestations de service. UDDI est donc un élément essentiel de la pile de protocoles de services
Web émergents, permettant aux entreprises à la fois publier et trouver des services Web. Dont
le rôle est de stocker les descriptions de services web disponibles à la manière d’un annuaire
[46], [47].
3.3.2.1. Types d’annuaires
Chaque entrée du répertoire UDDI est constituée de trois parties suivant [48]:
 Les pages blanches contiennent des informations sur les entreprises (nom, adresse,
numéro de téléphone…).
 Les pages jaunes qui classent les Web Services d’après leur secteur d’activité comme
dans les pages jaunes de notre annuaire papier classique,
 Les pages vertes qui contiennent les informations techniques sur le Web Services lui-
même, détail pour qu'il soit possible d'écrire une application permettant d'utiliser le
service Web.
Les entreprises publient les descriptions de leurs services Web en UDDI, sous la forme de
fichiers WSDL. Ainsi, les clients peuvent plus facilement rechercher les services Web dont ils
ont besoin en interrogeant le registre UDDI. Lorsqu'un client trouve une description de
service Web qui lui convient, il télécharge son fichier WSDL depuis le registre UDDI.
Ensuite, à partir des informations inscrites dans le fichier WSDL, notamment la référence vers
24
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

le service Web, le client peut invoquer le service Web et lui demande d'exécuter certaines de
ses fonctionnalités [49].
Le scénario classique d'utilisation de UDDI est illustré ci-dessous dans la figure 2.4.
L'entreprise B a publié le service Web S, et l'entreprise A est client de ce service :

Figure 2.4 : Structure de L’annuaire UDDI [48].

3.3.3. SOAP (Simple Object Access Protocol)


SOAP initialement défini par Microsoft et IBM, est aujourd'hui devenu le protocole de
référence pour l'envoi de messages dans le cadre d'architecture de type SOA pour les Web
Services. C'est un protocole basé par XML qui fournit trois parties : enveloppe qui définit le
cadre pour la description des messages, un ensemble des règles de codage pour exprimer les
instances de type de données et les conventions pour la représentation des appels et les
réponses à distance [50],[48].
3.3.3.1. Exemple de Messages SOAP
Soit un service web qui fait la multiplication entre deux nombres
La figure suivante présente un exemple de message SAOP de type requête :

Figure 2.5 : structure d’un message SOAP de type requête

25
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

La Figure 2.6 présente un exemple de message SAOP de type réponse :

Figure 2.6 : structure d’un message SOAP de type réponse.

4. Vers les services web sémantiques


Les services Web sémantiques se situent à la convergence de deux domaines de recherche
importants qui concernent les technologies de l’Internet, à savoir le Web sémantique et les
Web services comme le montre la figure suivante :

Services Web
(UDDI, WSDL, SOAP)
Services Web Sémantiques
(OWL-S, WSMO…)

Web Sémantique
(RDF, RDFS, OWL)

Figure 2.7 : Vers les services web sémantiques.


De manière générale, l'objectif visé par la notion de services web sémantiques est de
créer un web sémantique de services, Cette technologie permet aux agents logiciels de
découvrir, sélectionner, appeler, composer, surveiller, invoquer et exécuter automatiquement
des services Web sans l’intervention de l’être humain.

5. Langage de description sémantique des services Web


Pour décrire sémantiquement les Services Web, deux approches ont été définies : la
première approche consiste à ajouter l’information sémantique aux standards existants
(WSDL, UDDI, SOAP) tels que : l’annotation sémantique du langage de description WSDL
(WSDL-S, SAWSDL), et l’annotation sémantique des registres UDDI. La deuxième approche
consiste à développer un langage complet qui décrit les services Web ainsi que leur
sémantique d’un seul bloc tels que : le langage OWL-S (Web Ontology Language for Web
Services) et le langage WSMO (Web Service Modeling Ontology). Dans ce mémoire nous

26
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

nous intéressons seulement à la deuxième approche, et nous présentons les deux langages de
description sémantique des services Web : OWL-S et WSMO.

5.1. OWL-S(Ontology Web Language for Service)


OWL-S est une ontologie basée sur OWL et spécifiquement conçue à la description
sémantique des services web. OWL-S permet la découverte automatique de Web services et,
plus particulièrement la découverte automatique de Web Services, leurs exécutions, ou bien
encore leurs compositions et leurs interopérabilités [51], [52].
La Figure 2.8 présente la description OWL-S :

Figure 2.8 : Composition d'une description OWL-S [51].


Le langage OWL-S se compose de trois éléments principaux : le ServiceProfile, le
ServiceModel et le ServiceGrounding.
5.1.1. Service profile
La classeServiceProfile(Figure 2.9)donne les informations permettant à un agent de
publier ou trouver un service souhaité. Il s'agit là du premier tamis par lequel la recherche
d'un service Web passe. A l'issue du passage au travers de ce premier tamis, il est possible de
savoir si le service convient ou ne convient pas [51]. Le terme de « matching » est parfois
utilisé pour évoquer cette comparaison qui se fait sur trois axes [51] :
 Le service et son fournisseur : le nom du service, sa description, le nom de son
fournisseur, son adresse physique, d'adresse web, etc.
 Le comportement fonctionnel du service : les entrées et les sorties du service, les prés
et post conditions.
 Les attributs fonctionnels utiles en termes de contrat de service : le temps de
réponse, le coût du service.

27
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.9 : Les classes et propriétés de service profile[51].

5.1.2. Service process (model)


Le ServiceModel permet d'analyser plus finement l'éligibilité du service ayant passé avec
succès la première maille du tamis. Cette classe Figure 2.10permet aussi d'expliquer comment
le service fonctionne. Pour cela, il est représenté comme un processus et peut constituer lui-
même un processus composite constitué de séquences d'enchaînement diverses [51].

Figure 2.10 : L’ontologie de ProcessModel [51].

5.1.3. Service grounding


Le ServiceGrounding exprime l'invocation, c'est à dire les règles d'accès au service : le
protocole qu'il faut utiliser, le format précis du message, la sérialisation, le transport, le mode
d'adressage à employer. Cela nous renvoie à WSDL la Figure 2.11présente la relation entre
OWL-S et WSDL dans le service grounding [51].

28
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.11 : Relation entre OWL-S et WSDL [53].

5.2. WSMO(Web Service Modeling Ontology)


WSMO est un langage formel et une ontologie pour la description de divers aspects liés
aux Web services sémantiques. WSMO définit les éléments de modélisation pour la
description de plusieurs aspects des Web services sémantique fondés sur l'échouement
conceptuel mis en place dans le cadre de la modélisation des Web services[54].
WSMO est structuré en quatre composantes principales qui sont définies dans La figure 2.12
[54] :

Figure 2.12 : Composants de WSMO [54].

5.2.1. Les services web


Ils représentent un élément atomique des fonctionnalités qui peuvent être réutilisées pour
en construire de plus complexes. Afin de permettre leur découverte, l'invocation de
composition, d'exécution, de suivi, de médiation et d'indemnisation, les Web services sont
décrits dans WSMO à partir de trois points de vue différents : les propriétés non
fonctionnelles, les fonctionnalités et le comportement [54].

29
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

5.2.2. Les objectifs (goals)


Ils décrivent les aspects liés aux désirs des utilisateurs à l'égard de la fonctionnalité
demandée par opposition à la fonctionnalité fournie décrite dans la capacité du Web service
[54].
5.2.3. Les ontologies
Ils fournissent la terminologie utilisée par d'autres éléments WSMO pour décrire les
aspects pertinents des domaines du discours autres. Son objectif est de définir de la
sémantique formelle de l'information et de relier la machine et la terminologie de l'homme
[54].
5.2.4. Les médiateurs
Ils décrivent les éléments qui permettent de surmonter les problèmes d'interopérabilité
entre les différents éléments de WSMO. Les médiateurs sont le concept de base pour résoudre
des incompatibilités au niveau des données, le processus et le protocole, à savoir dans le but
de résoudre les disparités entre les différentes terminologies utilisées ,dans la façon de
communiquer entre les services Web et au niveau de la combinaison Web services [54].

6. Outils d’annotation sémantique des services web


6.1. Assam WSDL Annotator
ASSAM est un programme Java open source développé à l'University College de Dublin,
est une application qui aide l'utilisateur à annoter les services Web. Les annotations peuvent
être exportées en OWL-S. Tout d'abord, l'utilisateur commence annotant manuellement des
paramètres ou des opérations à l'aide d'une ontologie existante. Pendant ce temps, ASSAM
identifie les concepts les plus appropriés à l'aide des méthodes d'apprentissage de la machine.
Après suffisamment d'informations ont été fournies, le logiciel est capable de proposer
quelques sélectionnés et soi-disant pertinents concepts lorsque l'utilisateur annote un nouveau
WS [55].
6.2. WSMO Studio
WSMO Studio est un plug-in Eclipse initialement conçu pour modifier WS sémantique
basée sur le modèle de WSM. Une extension permet d'annoter les paramètres et les opérations
WS, et délivrer le résultat sous la forme de fichiers WSDL. L’outil ne fournit aucune
assistance à l'utilisateur et le processus est entièrement manuel [56].
6.3. WSDL2OWLS
WSDL2OWLS est un outil développé par Massimo Paolucci à Carnegie Mellon
University. C’est une application indépendante et open source écrit en langage Java.

30
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

L’utilisation de cet outil est très lourde. Il n’a pas d’interface graphique. Chaque fois que
vous l’utilisez, il faut écrire l’instruction java dans la console. En plus, il faut aussi configurer
le fichier XML. Il ne construit pas des ontologies des types complexes de langage de
définition XML schéma (XSD). D’ailleurs, l’outil permet de transformer la définition des SW
de WSDL au standard OWL-S. Il n’est pas développé pour l’annotation d’une SW WSDL en
respectant une ontologie [57], [58].
6.4. OWL-S Editor (Université de Malte)
C’est une application développé par James Scicluna au département de génie
informatique à l’Université de Malta. Il est téléchargeable au site officiel [58]La
documentation est aussi disponible sur le même site. Cet outil n’est pas open source, mais il
est facile de l’installer et de l’utiliser grâce à son interface graphique. Il vise à permettre aux
utilisateurs débutants de créer une description OWL-S [59].
6.5. OWL-S For Protégé
C’est un plug-in pour Protégé développé par Shahin Saadati et Grit Denker à
l’organisation SRI, Etats-Unis. Protégé est un autre outil open source écrit en Java par
Stanford University. Il sert à définir des ontologies en OWL.OWL-S Editor est aussi écrit en
Java et open source. L’utilisation de cet outil est facile. Il n’est pas obligatoire de savoir très
bien le langage OWL grâce à l’interface graphique. L’objectif de l’outil est de créer la
définition des SW dans le standard OWL-S. En plus l’outil permet de définir l’opération d’un
SW définit en langage WSDL dans le standard OWL-S. Malheureusement, il n’est pas conçu
pour annoter des SW [60].

7. Les travaux existants


Des travaux ont été faits dans le domaine de service Web sémantique dans le domaine
médical : le projet ARTEMIS et le projet COCOON Glue.
7.1. Le projet ARTEMIS
Le projet ARTEMIS (A Semantic Web Service-based P2P Infrastructure for the
Interoperability of Medical Information Systems) figure 2.13 consiste à développer une
infrastructure P2P interopérable basée services Web sémantique pour des systèmes
d'information de soins. ARTEMIS utilise HL comme une base pour définir la sémantique de
messages échangés. Dans le projet ARTEMIS, AMEF (Artemis Message Exchange
Framework) est développé pour fournir l'échange d'information clinique significative parmi
les instituts de soins via une médiation sémantique [60].

31
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.13 : Les pairs d’ARTEMIS [62].

7.2. Le Projet COCOON Glue


L’objectif principal du projet COCOON est de soutenir les connaissances axées sur les
pratiques de collaboration dans les réseaux de professionnels de la santé afin de minimiser les
erreurs médicales dans le diagnostic et le traitement. Sur cette base, les principaux axes de
recherche du projet COCOON est double : d'un côté socio Economie recherche sur la gestion
des risques de soins de santé et le modèle d'affaires liées à la réduction des risques en
permettant aux technologies COCOON ; de l'autre côté de la recherche technologique qui
veut traiter un outil innovant en série pour la gestion des risques [63].
La Figure 2.14 présente un scénario d'utilisation du moteur de Découverte COCOON
Glue [63] :
1. Un médecin généraliste (GP) utilise le moteur COCOON Glue pour la découverte des
services web de Téléconsultation et les services de conseils les plus appropriés offerts
par des spécialistes organisés en « communautés de pratique » (CoP).
2. Le médecin généraliste est à la recherche de conseils au sujet d'un problème avec un
de ses patients.
3. Chaque spécialiste décrit son expertise médicale et la date et temps de disponibilité.
4. Chaque spécialiste expose son agenda comme un service web.
5. À travers ce service Web, le médecin peut vérifier si le spécialiste est disponible à une
date/temps précise et d'organiser une réunion de téléconsultation.
6. Une fois la date et le temps sont sélectionnés, le médecin généraliste effectuer leur
téléconsultation meeting avec le spécialiste.

32
CHAPITRE II : état de l’art « Les Services Web Sémantiques »

Figure 2.14 : Scénario d'utilisation du moteur de découverte COCOON Glue [64].

8. Conclusion
Dans la première partie de ce chapitre, nous avons parlé de Service web en citons les
défirent définition de ce dernier et son architecture qui est basée sur l’architecture orientée
service (SOA) et les différents technologies et standards proposés tels que : WSDL, SOAP et
UDDI.
Dans la deuxième partie de ce chapitre, nous avons expliqué celle qui peut résolu ce
problème. Nous avons présente les services web sémantique, qui permet de formaliser
l'information manquante de description des services. Ensuite Nous avons présenté les
principales approches actuelles pour la réalisation des services Web sémantique à savoir :
OWL-S, WSMO…et les différents outils d’annotation sémantique comme : OWL-S Editor
(Université de Malte) et OWL-S Editor For Protégé, OWL-S Editor (Université de Malte) et
OWL-S Editor For Protégé.
A la fin de ce chapitre nous avons présenté les travaux existants qui utilisent les services
Web sémantiques dans le domaine médical tels que le Projet ARTEMIS et le projet
COCOON Glue.
Dans le chapitre suivant, nous présentons la construction d’une ontologie de domaine
médical.

33
Chapitre III

Construction
D’une Ontologie De
Domaine Médical
Chapitre III : Construction D’une Ontologie De Domaine Médical

1. Introduction
Plusieurs principes ont été définis pour cadrer la construction d’ontologies de domaine.
dans ce chapitre, nous allons décrire le processus que nous avons appliqué pour le
développement d’une ontologie dans le domaine médicale, Les grandes étapes de ce
processus sont inspirées de la méthodologie de construction d’ontologies « Methontology ».
METHONTOLOGY s’applique à clarifier les différentes étapes de la construction en
respectant des activités de gestion de projets (planification, assurance qualité), de
développement (spécification, conceptualisation, formalisation, implémentation,
maintenance) et des activités de support (intégration, évaluation, documentation).
La particularité de la méthodologie METHONTOLOGY est de s’attacher fortement à la
maintenance de l’ontologie de domaine et à son évaluation. Pour cela nous appuyons sur cette
méthodologie pour concevoir notre ontologie de domaine médicale. Nous avons choisi
d’utiliser OWL, le langage de définition d’ontologies, afin de codifier l’ontologie en utilisant
l’éditeur d’ontologies Protégé. Finalement, le système d’inférences Pellet, est utilisé afin de
tester la consistance de l’ontologie tout au long du processus de développement.
2. Processus de construction de l’ontologie
Nous utilisons un processus de développement d’ontologie partant par des connaissances
brutes et arrivant à une ontologie de domaine opérationnelle représentée par le langage OWL.
Le processus suivi lors de la construction de l’ontologie est compose de cinq étapes:
 Spécification des besoins.
 Conceptualisation.
 Formalisation.
 Implémentation.
 Vérification et Evaluation.
2.1. Spécifications des besoins
Cette étape consiste à établir un document informel de spécification des besoins décrit en
langage naturel. Ce dernier permet de décrire l’ontologie à construire à travers les cinq aspects
suivants :
 Le domaine de connaissance : déterminer le domaine que va couvrir l’ontologie.
 L’objectif : le but de l’ontologie à créer pour le domaine considéré.
 Les utilisateurs : identifier les futurs utilisateurs de l’ontologie à créer.
 Les sources d’informations : déterminer les sources d’informations d’où les
connaissances seront obtenues.

34
Chapitre III : Construction D’une Ontologie De Domaine Médical

 La portée de l’ontologie : déterminer à priori la liste des termes (les plus importants)
pour le domaine à représenter.
2.2. Conceptualisation
La conceptualisation consiste à identifier et à structurer, à partir des sources
d’informations, les connaissances du domaine. La découverte de ces connaissances peut
s’appuyer à la fois sur l’analyse de documents et sur l’interview d’experts du domaine. Dans
cette étape, les termes de l’ontologie sont choisis, ainsi que leurs propriétés, les relations
qu’ils entretiennent entre eux, les contraintes qui s’appliquent sur eux, etc.
Plusieurs tâches réalisées dans cette étape telles que : la Construction du glossaire de
termes, la Construction du dictionnaire de concepts, Décrire les relations binaires entre
concepts, Spécifier les attributs, les axiomes et les instances des concepts.

2.3. Formalisation
Cette phase consiste à formaliser l’ontologie conceptuelle obtenue dans la phase
précédente afin de faciliter sa représentation ultérieure dans un langage complètement formel
et opérationnel (OWL). Parmi les nombreux langages de formalisation des ontologies, notre
choix est porté sur le formalisme de représentation est la logique de descriptions.
2.4. Implémentation
Cette étape consiste à traduire le résultat de la phase précédente (ontologie formelle) dans
un langage pour la rendre opérationnelle. Afin de faciliter le processus de codification, nous
utilisons un éditeur d’ontologie PROTEGE OWL version 3.2.1 qui disposant d’une interface
permettant l’édition, la visualisation, le contrôle (vérification des contraintes) de l’ontologie.
2.5. Vérification et évaluation
Cette étape sert à suivre l’évolution de l’ontologie. Elle peut être effectuée en parallèle
avec les trois étapes précédentes (conceptualisation, formalisation et implémentation). Elle
permet à suivre l’évolution de l’ontologie, (c’est-à-dire les nouveaux concepts à ajouter dans
sa partie terminologique (TBOX) de l’ontologie) Une classification a lieu chaque fois qu’une
définition de concept est nouvellement créée.

3. Construction de « l’ontologie de domaine »


Dans cette section, nous construisons notre ontologie qui concerne le domaine médical.
Nous suivons le processus décrit précédemment pour la construction de cette ontologie.

35
Chapitre III : Construction D’une Ontologie De Domaine Médical

3.1. Spécifications des besoins


Nous commençons le développement de notre ontologie, par cette étape qui consiste à
établir un document de spécification des besoins qui contient la description de l’ontologie à
construire à travers les cinq aspects suivants:
Le domaine de connaissance : L’ontologie que nous venons de construire, s’inscrit dans le
domaine médical (santé).
L’objectif : l’objectif majeur de l’incorporation des ontologies dans le domaine médical est le
Partage des connaissances médicales et Faciliter la recherche et l’intégration d’informations
provenant des multiples sources d’information médicales.
Les utilisateurs : Les utilisateurs de cette ontologie sont : les médecins, les patients, les
laborantins, les étudiants, le grand public....
Les sources d’informations : sont L’encyclopédie Médicale, le dictionnaire Vidal, Le MeSH
(Me-dical Subject Headings), interviews avec les médecins, sites web médicaux….
La portée de l’ontologie : la liste des termes de l’ontologie (les plus importants), parmi ces
termes, nous pouvons citer : Patient, Médecin, Médicament, maladie, activité médicale,
diagnostique…
3.2. Conceptualisation
Une fois que la majorité des connaissances est acquise, on doit les organiser et les
structurer en utilisant des représentations intermédiaires semi-formelles qui sont faciles à
comprendre et sont indépendantes de tout langage d’implémentation. Cette phase comporte
plusieurs étapes qui sont :
 Construction de glossaire de termes.
 Construction de diagramme de relations binaires.
 Dictionnaire de concepts.
 Tableaux des relations binaires.
 Tableaux des attributs.
 Tableaux des axiomes logiques.
 Tableaux des instances.
3.2.1. Construction de glossaire de termes
Dans cette étape, on définit tous les termes importants relatifs au domaine médical,
indifféremment de leurs types (concept, relation, ou propriété) qui seront représentés dans
l’ontologie. Le tableau ci-dessous (Tableau 3.1) présente la liste de quelques termes utilisés
dans l’ontologie :

36
Chapitre III : Construction D’une Ontologie De Domaine Médical

Terme Signification
Patient Personne soumise à un examen médical, suivant un traitement ou subissant
une intervention chirurgicale.
Les douleurs est une expérience sensorielle et émotionnelle désagréable, liée à une lésion
tissulaire réelle ou potentielle, ou décrite en termes d'une telle lésion.
Maladie problème de santé qui peut être causé par différentes raisons d'ordre
génétique, bactérien, viral ou infectieux.
Médicament un diagnostic médical, de traiter ou de prévenir une maladie, ou de corriger,
des fonctions organiques. Il peut prendre différentes formes.
Effet tout trouble physique, psychique, biologique provoqué par un médicament
indésirable utilisé dans des conditions normales.
Symptôme Phénomène subjectif qui traduit les états morbides et qui est lié aux
troubles fonctionnels ou lésionnels qui le déterminent.
Un dispositif est un instrument ou encore un logiciel destiné, par son fabricant, à être
médical utilisé chez l’homme à des fins, de traitement, d’atténuation d’une maladie
ou d’une blessure.
DCI terme commun à tous les pays, se distingue généralement du nom de
marque et du nom chimique du médicament.
Ordonnance est un document sur lequel le médecin note sa prescription médicale.
elle peut comporter aussi des activités médicales.
handicapés toute limitation d’activité à la vie en société subie dans son environnement
par une personne en raison d’une altération substantielle, durable ou
définitive d’une ou plusieurs fonctions physiques, sensorielles, mentales,
cognitives ou psychiques, d’un polyhandicap ou trouble de santé
invalidant.

Tableau 3.1 : table du glossaire de quelques termes.

3.2.2. Construction de diagramme des relations binaires et des attributs


Cette étape permet de représenter d'une manière graphique les différentes relations qui
existent entre les divers concepts. Dans ce diagramme, les concepts sont représentés par des
rectangles et les relations par des arcs (du concept source vers le concept cible), orientés et
étiquetés par le nom de la relation, ainsi la relation de subsomption « Est un » est représentée
par un arc orienté (du classe-fille vers classe mère), les attributs sont représentés par des
rectangles pointillées.
La figure ci-dessous (Figure 3.1) représente le diagramme de relations binaires entre
concepts, et quelques attributs de notre ontologie.

37
Chapitre III : Construction D’une Ontologie De Domaine Médical

Figure 3.1 : Diagramme des relations binaires et des attributs.


38
Chapitre III : Construction D’une Ontologie De Domaine Médical

3.2.3. Dictionnaire de concepts


Cette étape correspond à la création du dictionnaire de concepts. Dans ce dictionnaire,
nous définissons pour chaque concept : les attributs, les relations, les acronymes et les
synonymes. Le tableau 3.2 représente le dictionnaire de quelques concepts utilisés dans notre
ontologie.
Nom du concept Attribut Relations Acrony Synonymes
mes
Personne -nom de personne Humain
-prenom de personne -à_pour_adresse Gens
-age -est_de_sexe quelqu'un
-email de personne -cherche individu
-lieu de naissance -peut_donne être humain
-numero_de_carte_nationnale -peut_accéder_a
-
-num assurance
-num de telephone de personne
-num Carte bancaire
-type Carte bancaire
-situation familiale
-Position professionnelle
médicaments -DCI -Recherché_par -Préparations
-forme de médicament -Fabriqué_dans -Drogue
-dosage -Vendu_par
-prix de médicament
-composition de médicament
-posologie et dure
-indications
-contre-indications de
-
médicament
-effet indésirables de
médicament
-effet secondaire
-labo fabricant de médicament
-modalité de remboursement
-interactions
-précautions particulier
établissement de -nom établissement -Situé_à -Centre
soin -num téléphone établissement - Envoyer_des médicale
-fax établissement -
-email établissement

-désignation -Utilisé_par -Machines


Dispositifs
-Utilisation de dispositif -Vendus_en médical
médicaux Médicaux - données_à -Appareils
-labo. Distributeur médical
-labo. Exploitant -Mécanisme
-prix public TTC - médical
-taux de TVA dispositifs -instrument
médicaux médical
-Précautions d’emploi -équipement
Dispositifs Médicaux médical
-Code_EAN -logiciel

39
Chapitre III : Construction D’une Ontologie De Domaine Médical

-Code_13 Médical
-Code_ACL
-présentation dispositifs
médicaux
-compositionde dispositifs
médicaux
-mode d’emploi dispositifs
médicaux
-Propriétés dispositifs
médicaux

Tableau 3.2 : dictionnaire de quelques concepts.

3.2.4. Déterminer la liste des relations binaires


Cette étape correspond à la création d’une liste des relations binaires permettent de relier
un concept à un autre. Pour chaque relation nous définissons : Le nom des concepts sources et
cibles, Le nom de la relation inverse si elle existe. Le tableau 3.3 présente quelques relations
binaires utilisées dans notre ontologie.
Nom de la
Concept source Concept cible Relation inverse
relation
Opère Chirurgien patient Subie_par

Fabriqué_dans Médicament pays Produit


Vendre Pharmacie médicaments Vendu_par
Peut_donne Personne tissus_bilogique Donnee_par
Peut_provoque agents_biologique_pathogène Maladies Peut_être_provoquer_par
Obtenir Patient activité_médical Est_donnée_à
Travail_à Médecin etablissement_de Contient
soin
Soigne Infirmier patient Soigne_par
être_composé_de ordonnance_médical médicaments /
Cherche Personne médicaments Recherché_par
à_comme_maladie Patient maladie /
diagnostiquer_par /
Maladie médecin
peut_accéder_a /
Personne Support_de_comm
unication

Tableau 3.3 : tableau de quelques relations binaires.

3.2.5. Identifier la liste des attributs


Les attributs sont des propriétés qui prennent ses valeurs dans les types prédéfinis (String,
Integer, Boolean, Date…).Pour chaque attribut on doit définir : le nom, le type, la valeur par

40
Chapitre III : Construction D’une Ontologie De Domaine Médical

défaut et le domaine de valeurs s’il existe. Le tableau 3.4présente quelques attributs utilisés
dans notre ontologie.
Nom attribut Type d’attribut Valeurs par défaut Domaine de valeur
forme de médicament String / {Capsule, comprimé,
Sirops, gélules,
Pommade, sachet,
Pilule, Poudre, Gel,…}
situation familiale String / {Célibataire, veuf,
divorce, marie}
Groupage String / A+/-, B+/-, O+/-, AB+/-
position_professionnelle String {travailleur, sans emploi
Retraité}
DCI String / /
Age Int / /
labo fabricant de String / /
médicament
String / /
nom médecin
location d’agent String / /
biologique
le poids Int / /
Date consultation Date time / /
......... ........ ........ ........

Tableau 3.4 : table des attributs des concepts.

3.2.6. Construction de la table des axiomes


Dans cette étape, nous définissons les concepts au moyen d'expressions logiques. Pour
chaque axiome, il faut spécifier la description en langage naturel, et l’expression logique qui
décrit formellement l’axiome en logique du premier ordre. Le tableau 3.5 présente quelques
axiomes utilisés dans notre ontologie.
Nom duConcept Description de l’axiome en expression logique
langage naturel
Patient Chaque patient est suivi par un X Patient (X)
ou plusieurs médecins Y Médecin(Y) suivi_par(x,y)
Médicaments Chaque médicament a un effet X médicament(X)effet
secondaire secondaire(X)
Médicaments Chaque médicament est fabriqué X médicament (X)
dans un pays Y pays(Y) fabriqué_dans (x,y)
activité_médical activité_médical est soit un x activité_médical(X)
bilan_de_santé, un médicaments bilan_de_santé(X)soin_médical(
ou soin_médical. X)
Support_de_communication est x Support_de_communication
Support_de_communicatio soit un (X)Fiche_de_produit
n Fiche_de_produit,Fiche_technic (X)Fiche_technico-publicitaire
o-publicitaire,Journal,Prospectus (X)Journal

41
Chapitre III : Construction D’une Ontologie De Domaine Médical

ou un Site_Web. (X)Prospectus(X)Site_Web(X)
…….. …….. ........

Tableau 3.5 : table des axiomes.

3.2.7. Construction de la table des instances


Dans cette étape, nous allons présenter une description de quelques instances de
l’ontologie. Le tableau 3.6 présente quelques instances utilisées dans notre ontologie.

Concept Instance
Médicament Sulpiride
Hôpital Site-Molière-Longchamp
Service_analyses_microbiologiques Eylau Neuilly
Centres_antipoison Haute-Normandie
Ophtalmologue Elodie_Azan
Personne Jean-Michel_Doudoux
Chirurgien Pauline_ Abitbol
Pédiatre Sophie_Batut
Psychologue Vanessa_ Berdugo
Site Web www.doctissimo.com
Pays_européen France

Tableau 3.6 : table des instances.

3.3. Formalisation
Dans cette étape, nous allons utiliser le formalisme des logiques de descriptions afin de
formaliser le modèle conceptuel que nous avons obtenu dans l’étape de conceptualisation.On
doit construire donc le niveau terminologique (TBox) et le niveau factuel (ABox).
3.3.1. Le niveau terminologique (TBox )

Axiome terminologique (T-Box)


PersonneThing
MaladieThing
dispositifs_Médicaux Thing
PatientPersonne
MedecinPersonne
Chirurgien_orthopédique  ChirurgienSpécialisteMédecinPersonne
infirmière_générale infirmière  personne
accident_du_travail accidents facteur_risque
anti_infectieuxMédicament∩(∃DCI.String) ∩(∃forme_de_médicament.String) ∩
(∃dosage.String)∩ (∃prix_de_médicament. float)∩ (∃composition_de_médicament. String) ∩
(posologie_et_dure. float) ∩ (∃indications. String) ∩ (∃contre-indications de médicament.
String)∩(∃effet_indésirables_de_médicament.String)∩(∃effet_secondaire.String)∩(∃labo_fa
bricant_de_médicament.String)∩(∃modalité_de_remboursement. Int) ∩(∃interactions.

42
Chapitre III : Construction D’une Ontologie De Domaine Médical

String)∩(∃précautions_particulier. String)
bilan_de_santéActivité_Médicale(est_pratiqué_par.Médecin)(utilise.dispositifs_Méd
icaux)(traite.Patient)

……..

Tableau 3.7 : table des axiomes (T_Box).

3.3.2. Le niveau factuel (ABox)


Assertion sur les individus (A-Box)
 Hôpital (Site-Molière-Longchamp)
 Sexe(Féminin)
 Psychologue(Vanessa_ Berdugo)
 Patient(Tim_Berners-Lee)
 Chirurgien(Pauline_ Abitbol)
 Opère (Pauline_Abitbol, Tim_Berners-Lee)
 Pédiatre(Sophie_Batut)
 etablissement_de_soin (Centres_antipoison(Haute-Normandie))
 Travail_à(Sophie BATUT, Site_Molière_Longchamp)
 Pays (France)
 Fabriqué_dans(Zometa,France)
 Médicament (ZOMETA)
 Cherche(Tim_Berners-Lee,Zometa)
 Recherché_par(Zometa, Tim_Berners-Lee)
 ……..

Tableau 3.8 : assertion sur les individus (A-Box).


3.4. Implémentation
Après la conception, nous allons formuler notre ontologie dans un langage de
représentation en vue qu’elle soit pratiquement manipulable par les machines. Pour cela, notre
choix porte sur le langage de représentation des connaissances OWL et l’éditeur d’ontologie
Protégé.
Dans cette étape, on doit construire les concepts, les propriétés (attributs, relations,
restrictions) et les instances spécifiés dans l’étape de conceptualisation.
3.4.1. Création des classes et la hiérarchie des classes
Nous commencerons en premier lieu par la création des concepts spécifiés dans l’étape de
conceptualisation. Notre ontologie contient 2000 concepts avec la possibilité d’enrichir cette
ontologie par l'ajout des nouveaux concepts. La figure 3.2 présente les classes et la hiérarchie
des classes de notre ontologie.

43
Chapitre III : Construction D’une Ontologie De Domaine Médical

Figure 3.2 : Les classes et la hiérarchie des classes de notre ontologie.


44
Chapitre III : Construction D’une Ontologie De Domaine Médical

3.4.2. Création des propriétés (attributs, relations, restrictions) et instances


Après avoir construit les classes, nous allons maintenant créer les propriétés pour chacun
d’eux, La figure 3.3 montre la création des attributs (datatypeProperty) de concepts de notre
ontologie avec la possibilité de modifier a tous moments.

Crée un attribut

Liste des attributs


Type d’attribut

Concept

Domaine de valeurs

Figure 3.3 : liste des attributs.


La figure 3.4 montre la création des relations (objectProperty) entre les concepts de notre
ontologie :

45
Chapitre III : Construction D’une Ontologie De Domaine Médical

Commentaire

La relation ‘peut
provoque’ Concept source Concept cible

Relation inverse

Figure 3.4 : liste des relations.


La figure 3.5 montre la création des individus (instances) pour chaque concept de notre
ontologie :

46
Chapitre III : Construction D’une Ontologie De Domaine Médical

Créer une instance

Nom de l’instance Propriété d’instance

Nombre d’instance
créer pour la classe
sélectionnée

Figure 3.5 : Création des instances.

3.4.3. Génération du code source OWL sous Protégé


L’outil Protégé permet la génération automatique du code OWL, cela peut être visualisé
en cliquant sur la commande Show RDF/XML Source Code dans le menu Code. La figure 3.6
présente un extrait du code OWL généré par PROTÉGÉ.

47
Chapitre III : Construction D’une Ontologie De Domaine Médical

Figure 3.6 : extrait du code OWL.

3.5. Vérification et Evaluation


Dans cette étape, nous utilisons le moteur d’inférence Pellet pour tester notre ontologie.
L’intérêt de choisir ce moteur est lié aux atouts qu’il possède :
 C’est open-source et développé en Java.
 C’est un raisonneur OWL DL complet.
 il propose en cas d’incohérence dans l’ontologie des réparations possibles, ainsi
qu’une heuristique permettant d’obtenir les informations à ajouter dans l’ontologie
pour passer au sous-langage OWL inférieur (OWL Full > OWL DL > OWL Lite).
Pellet est conçue pour raisonner sur les logiques de descriptions et peuvent utiliser en
entrée un fichier exprimé selon le standard OWL ou RDF(S), Une fois l’ontologie chargée, il
effectue les inférences sur la T-Box et la A-Box. Pellet est un système d'inférence capable de
vérifier la consistance d'une ontologie ainsi que de classifier automatiquement ses concepts et
instances.

48
Chapitre III : Construction D’une Ontologie De Domaine Médical

3.5.1. Vérification de la consistance et détection de l’inconsistance


Cette vérification consiste à tester la consistance des concepts, et enlever l'inconsistance
entre les concepts et cela en utilisant le test de subsumption incorporé au moteur Pellet.
La figure 3.7 présente une vérification de la consistance d’une ontologie à l’aide du
moteur d’inférence Pellet.

Figure 3.7 : Vérification de la consistance.

4. Langage d’interrogation SPARQL


SPARQL (SPARQL Protocol and RDF Query Language) est le standard préconisé par le
W3C pour interroger des bases de triplets RDF. Il implémenté dans plusieurs outils et utilise
une syntaxe proche de SQL (la structure générale SELECT WHERE d’une requête).
Le langage SPARQL est base sur la notion de graphes de triplets (sujet, objet, predicat) et
les requêtes sont d’écrites par des motifs (patterns) et des variables.il permet d'obtenir et
d'extraire facilement des informations à partir des différentes ontologies.
Pour l'exécution des requêtes SPARQL sous Protégé, nous choisissons "Open SPARQL
Query Panel" de la barre de menu "Reasoning".
La figure 3.8 présente un exemple simple sur une requête qui donne tous les attributs de
l’ontologie.

49
Chapitre III : Construction D’une Ontologie De Domaine Médical

Figure 3.8 : résultat d’une requête SPARQL.


La figue 3.9 présente un exemple de requête qui donne les sous classes disjointe.

Figure 3.9 : résultat d’une requête SPARQL.


La figure 3.10 présente une requête qui retourne tous les instances de la classe dresse.

Figure 3.10 : résultat d’une requête SPARQL.

5. Conclusion
A travers ce chapitre, nous avons présenté les étapes que nous avons suivies pour
construire notre ontologie de domaine médicale. La méthode METHONTOLOGY est adoptée
pour la conceptualisation de l’ontologie afin d’atteindre un ensemble de représentations
intermédiaires qui facilitent sa formalisation.
Le processus suivi pour la construction de cette ontologie nous a permis de réussir à
construire une ontologie opérationnelle qui contient plus de 2000 concepts, 43 relations, 60
DataTypes et quelques instances et axiomes dans le domaine médicale. De ce fait, elle est
prête à une future évaluation au sein de n’importe quelle application en rapport avec le
domaine qu’elle modélise.
Dans le chapitre suivant nous présenterons la construction de l’ontologie des services
web à base de cette ontologie.

50
Chapitre VI

Construction

D’une Ontologie

De Services Web

Médicaux
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

1. Introduction
Les services Web sémantiques combine les techniques des services Web et du Web
sémantique afin de faciliter aux agents logiciels de découvrir, appeler, composer, invoquer
et exécuter automatiquement des services web sans l’intervention de l’être humain.
Plusieurs propositions ont été soumises au W3C pour la conception des services Web
sémantiques (OWL-S, WSMO, WSDL-S, etc.).
Dans ce chapitre nous allons appliquer cette nouvelle technologie dans le domaine
médicale, par la construction d’une ontologie de services web médicaux à l’aide du
langage « OWL-S », de l’outil « OWL-S EDITOR FOR PROTÉGÉ » et de l’environnement
de développement intégré « NetBeans IDE », en suivant un processus de construction
(Spécification des besoins, Conceptualisation, Implémentation, Exécution et évaluation).
Cette ontologie utilise les concepts de l’ontologie de domaine présenté dans le chapitre
précédent pour définir les concepts spécifiques aux services Web (inputs, outputs, Pré-
conditions, effets, le fournisseur de service, et la catégorie de service).

2. Processus de construction de l’ontologie de services Web


Pour la construction de l’ontologie de services Web nous avons suivi un processus en
commençons par la spécification des besoins et en finirons par une ontologie de service
opérationnelle représentée par le langage OWL-S.
Le processus est constitué de quatre étapes :
 Spécification des besoins.
 Conceptualisation.
 Implémentation et mapping.
 Vérification et Exécution.

2.1. Spécification des besoins


Cette étape consiste de décrire l’ontologie à construire à travers les quatre aspects
suivants:
 Le domaine : quel est le domaine que va couvrir l’ontologie ?
 L’objectif : quel est l’objectif de cette ontologie ?
 Les utilisateurs : Les utilisateurs qui utilisent les services.
 Les sources de services : déterminer les sources d’informations d'où les services
seront obtenus.

51
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

2.2. Conceptualisation
L’objectif de cette phase c’est la structuration des services d’un domaine utilisant un
ensemble de représentations intermédiaires, semis formelles, sous forme de tableaux.
Plusieurs tâches concrétisées dans cette étape telles que :
 Collection des services web.
 Construire un texte de description (description text) pour chaque service web.
 Identifier les entrés (Inputs), les sorties (Outputs), les Précondition et les effets de
service web.
 Identifier la catégorie de service web.
 Identifier le fournisseur de service web (Contact Information).
 Identifier le type de processus de service web (atomique, simple, composite).
 Si un service web est composite, quels sont les sous-services web atomiques avec
leurs ordonnancements (Séquence).
2.3. Implémentation et mapping
L’objectif de cette phase est implémenter l’ontologie des services web pour permettre
à une machine, a partir de cette ontologie, de manipuler les services Web.
Nous commençons D’abord par implémenter les services Web par l’environnement de
développement « NetBeans IDE ». Ensuite, on a créé les instances de chacun avec l’outil
«OWL-S Editor For Protégé » puis faire un mapping avec l’URL du fichier WSDL du
service Web.
2.4. Vérification et Exécution
Cette étape permet de vérifier la consistance de l’ontologie de services et de s’assurer
le bon fonctionnement de tous les services web pour qu'elle doive être exécutée.
La figure suivante (Figure 4.1) représente Le processus de construction de l’ontologie de
services Web.

Spécification Implémentation Vérification et


Conceptualisation
des besoins et Mapping Exécution

Figure 4.1 : processus de construction de l’ontologie de services Web.

52
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3. Construction de « l’ontologie de services web »


3.1. Spécification des besoins
Le domaine de connaissance : Le domaine de santé, domaine médical, domaine de soins
et examens médicaux.
L’objectif : Partager de façon collaborative les services médicaux et Faciliter la
découverte et la recherche des services provenant des multiples sources médicales. Et
permet aux machines de découvrir, composer et exécuter automatiquement des services
web médicaux.
Les utilisateurs : l’ontologie de service peuvent être utilise par des acteurs humaines (les
patients, les laborantins, les étudiants, les pharmaciens, les professions de santé, le grand
public...), et des acteurs logiciels (services Web médicaux, des applications médicales….)
Les sources de services: les experts du domaine, sites web médicaux….
3.2. Conceptualisation
Cette phase contient plusieurs étapes qui sont :
 Collection des services web médicaux.
 Définir les synonymes de service Web, construire un texte de description (description
text) pour chaque service web et identifier le fournisseur de service web (Contact
Information).
 Identifier les Inputs, les Outputs, les Précondition et les effets de service web.
 Identifier la catégorie de service web.
 Identifier le type de processus de service web (atomique, simple, composé).
 Si un service web est composé, quels sont les sous-services web atomiques avec leurs
ordonnancements (Séquence).

3.2.1. Collection des services web médicaux


Cette étape consiste, à collecter les services web existent dans le domaine médical. Dans
notre travail on a collecté plus de 50 services dans le domaine médical, parmi ces services on
peut citer :
 Rechercher médicament par DCI ou par Forme.
 Rechercher Docteur.
 Obtenir liste des maladies possibles pour chaque organe du corps humain.
 Evaluer débit cardiaque
 Déterminer Besoins énergétiques journaliers

53
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

 Poids idéal
 Calcémie corrigée selon le taux d'albumine
 …………….
Les autres services web collectés vont être détaillés dans l’annexe A.

3.2.2. Définir les synonymes, le texte de description et le fournisseur de service


web
Dans cette étape, on définit les synonymes de service Web, Ensuite, nous ajoutons des
textes descriptifs (commentaire) pour chaque service. Enfin nous déterminons le fournisseur
de service (Tableau 4.1):

Nom service web Synonymes Description de service


LDL cholestérol Lipoprotéine une substance formée de lipides et protéines dite
Triglycérides de basse densité. Cette fraction correspond à
l’essentiel du cholestérol total transporté dans le
sang.
Index d'oxygénation fraction d'oxygène L'indice d'oxygénation est utilisé pour évaluer
inspiré l'intensité du soutien ventilatoire nécessaire pour
maintenir l'oxygénation.

Tableau 4.1 : Table des synonymes et descriptions de services web.


L’identification de fournisseur, consiste à identifier les personnes responsables du
service web (Contact Information) par les informations suivantes : Le nom, le téléphone,
l’émail, l’adresse, Web URL….. (Tableau 4.2).

Nom du Nom Téléphone Email Adresse Web URL


service Fournisseur
Rechercher Réseau 0663862078 Fourniss Rue el www.réseauso
Docteur De-soins @yahoo. amel 10 ins.dz
ALGERIE fr Alger
…….. …….. …….. …….. …….. ……..

Tableau 4.2 : Table des fournisseurs de services Web.

3.2.3. Identifier les Inputs, les Outputs, les Pré-condition et les effets
Dans cette étape on doit définir les Inputs, les Outputs, les pré-conditions et les effets
pour chaque service Web.
Les Inputs, les Outputs sont les transformations faites par le service Web sur les
données. Les pré-conditions et les effets sont les transformations faites sur l’état de service
Web.

54
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

La figure suivante présente le service web « Pression artérielle moyenne » avec les inputs
et les outputs.

Pression artérielle
systolique (mmHg)
Pression artérielle P[moy] (mmHg)
moyenne
Pression artérielle
diastolique (mmHg)

Figure 4.2 : inputs et outputs du service « Pression artérielle moyenne ».

Le tableau suivant (tableau 4.3) présente les IOPEs (input, outputs, précondition et les effets)
et la catégorie de service :
Nom du Inputs Outputs Précon- Effets Catégorie
Service ditions de service
Evaluer -Créatininémie Clairance_de Créatini Décision Néphrologie
Fonction -Sexe _créatinine némie Médicale
Rénale -Poids Interprétation Valide
-âge
Déterminer Surface Besoins Always - MEDECINE
Besoins Corporelle hydriques True GENERALE
Hydriques
Evaluer Fréquence Surface_valvulai - - Cardiologie
Surface cardiaque re
valvulaire Gradient-
press_moyen
Débit
cardiaque
durée_remplis
sage_diastoliq
ue

Trou Osmolarité le Trou Always Décision Gastro-


osmolaire plasmatique osmolaire True Médicale entérologie
dans les Potassium
selles dans les selles
concentration
de Sodium
Fraction La Créatininé Fraction Always Décision Néphrologie
excrétée de mie (Créat[p]) excrétée de True Médicale
sodium la Créatininur sodium
ie(Créat[u])
la Natrémie (N
a[p])
la Natriurèse
(Na[u])
Perte_sang Poids Perte_sangui - - Transfusion
uine_toléra Hématocrite_p ne_tolérable_
ble_simplifi réopératoire simplifiée
ée Hématocrite_
minimale
Evaluer Pression Index_oxygé - - Pneumologie
Index partielle nation
oxygénatio artérielle en

55
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

n oxygène
Pression_moy
enne_voies_aé
riennes
Fraction_inspi
rée_en_oxygè
ne
Déficit en Taux DéficitFer - - Transfusion
Fer Hémoglobine
……… ……… ……… ……… ……… ………

Tableau 4.3 : Table des IOPEs.


L’information «catégorie de service» permet d’indiquer la catégorie de service web
exemple : Médical (Cardiologie, Endocrinologie, Néphrologie, Pédiatrie, Pneumologie,
Réanimation…), Finance, Education…..
Les autres services web avec IOPEs vont être détaillés dans l’annexe A.

3.2.4. Identifier le type de processus de service web


Dans cette étape, nous identifions le type de processus de service Web (atomique,
simple, Composé) :
 Le processus atomique qui peut directement être invoqué par le demandeur, il n'est
pas composé de sous-processus.
 Le processus simple est un processus qui ne peut pas être directement invoqué par
le client mais qui est défini afin de permettre un certain niveau d'abstraction.
 Le processus composite est un processus composé d'autres processus selon
certaines séquences d'enchaînement telles que la séquence conditionnelle (IF
THEN- ELSE), les boucles (REPEAT-UNTIL), etc.
Le tableau suivant (Tableau 4.4) présente quelques services web atomiques, et services
composites, avec la détermination des sous-processus atomiques et leurs ordonnancements
pour les services Web composer.
sous-processus atomiques et
Nom du Service type de processus
Ordonnancement des processus
Clairance de la Atomique ……..
créatinine
Besoins hydriques Atomique ……..

Surface corporelle Atomique ……..


pédiatrique simplifiée
Gradient alvéolo- Composite 1. Déterminer la Pression
artériel en oxygène atmosphérique 2.Évaluer le Gradient de
pression partielle
EvaluerFonctionRén Composite 1.Déterminer Clairance_créatinine 
ale 2.Interpretation_Clairance_créatinine

56
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Vitesse de croissance Composite 1. Déterminer de la Durée2.Calculer la Vitesse


de croissance
Taux de résorption Composite 1. Évaluer le taux de résorption des Phosphates
des phosphates 2.Interpretationle taux de résorption des
Phosphates
Evaluer Débit Composite 1. Déterminer Fréquence cardiaque
Cardiaque 2. Interprétation Débit cardiaque
…….. …….. ……..

Tableau 4.4 : Table des processus et de types des processus.


La Figure suivante présente un service web Composite (Evaluer Débit Cardiaque),
composé de deux services web Atomiques (Déterminer Fréquence cardiaque Et
Interprétation Débit cardiaque).

Gradient alvéolo-artériel en O2 Pression


atmosphérique
( mmHg)
l'altitude
(m) Évaluer Gradient de Gradient
Déterminer Pression Pression pression partielle alvéolo-
atmosphérique atmosphérique artériel
( mmHg) O2

Figure 4.3 : un service web composé de deux services web Atomiques.

3.3. Implémentation et mapping


Dans cette partie, nous commençons l’implémentation des services web en utilisant
l’environnement de développement « NetBeans IDE 6.8 ». Ensuite, nous construisons les
instances OWL-S (serviceProfile, serviceGrounding, serviceProcess) pour chaque service
Web en utilisant l’outil « OWL-S For Protégé ». Enfin nous faisons le mapping de la classe
Service Grounding avec le fichier WSDL et l’emplacement URL qui concerne le service web.

3.3.1. Implémentation des services web


Cette étape, nous implémentons le service web par un langage de programmation (java,
c++, etc.). Dans notre travail, l’implémentation des services web est faite par l’environnement
de développement intégré «NetBeans IDE 6.8 ».
NetBeans est un environnement de développement intégré(EDI), placé en open source
par Sun en juin 2000. En plus de Java, NetBeans permet également de supporter différents
autres langages, comme Python, C, C++, JavaScript, XML, Ruby, PHP et HTML. Il
comprend toutes les caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-
langage, refactoring, éditeur graphique d'interfaces et de pages Web).

57
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Conçu en Java, NetBeans est disponible sousWindows,Linux,Solaris(surx86etSPARC),Mac


OS X. Un environnement Java Development KitJDKest requis pour les développements en
Java.
NetBeans constitue par ailleurs une plate forme qui permet le développement d'applications
spécifiques (applications web, services web…).

La figure suivante (Figure 4.4), montre un service web « Clairance de la créatinine »


programmé en java avec l’environnement NetBeans IDE 6.8 :

Figure 4.4 : service web java sous l’environnement NetBeans IDE 6.8.
Ce service web permet de d’évaluer la Clairance de la créatinine à partir de Poids, l’Age, le
Sexe et la Créatininémi.
La formule de calcul utilisée selon Cockcroft et Gault est :
ClCreat = K x Poids x (140 - Age) / Créatininémie .
avec : Hommes : K = 1,23 et Femmes : K = 1,03.
Dans ce service il y a quatre inputs (Poids, l’Age, le Sexe et le Créatininémie) et un output
(la Clairance créatinine) comme le montre la Figure 4.5.

58
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Poids (Kg)
Évaluer
Age (Ans) ClCreat (mL/min )
la Clairance de
Sexe la créatinine

Créatininémie(µmol/L)

Figure 4.5 : inputs et outputs de service « la Clairance de la créatinine».

La figure suivante montre le diagramme de séquence d un cas d’utilisation de service


web « la Clairance de la créatinine »
Un diagramme de séquences se charge de représenter, en fonction du temps, le chaînage et
l’échange d’informations entre les différents objets impliqués dans une fonctionnalité
donnée du système.

Annuaire UDDI Serveur ClCreat SW

: Client

1 : Chercher SW ClCreat()

2 : SW ClCreat Localiser
3 : Demande d'execution SW ClCreat()

4 : Fichier WSDL

5 : Requete(Poids ,Age ,Sexe,Créatininémie)

6 : resultat ClCreat

Figure 4.6 : Diagramme de séquence « la Clairance de la créatinine».


Après l’implémentation, il faut tester le service web pour obtenir l’adresse URL et le
fichier WSDL comme le montre la figure suivante (Figure 4.7), (exemple d’une femme à
40 ans. Elle mesure 1,70 m pour un poids de 60 kg et la créatininémie est normale (6mg/l
=53.1 μmol/l).

59
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Créatininémie Poids Age Sexe

Figure 4.7 : test de service web « Clairance de la créatinine».


La figure suivante (Figure 4.8), montre le fichier WSDL généré après le test de service
Web «Clairance de la créatinine»

Figure 4.8 : le fichier WSDL de service web Clairance de la créatinine.


La figure suivante (Figure 4.9) montre le résultat de teste de service Clairance de la
créatinine (Méthod returned double : 116.384) et les deux messages SOAP (SOAP
Request et SOAP Response).

60
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Figure 4.9 : SOAP Request et SOAP Response de service Clairance de la créatinine.

3.3.2. Création des instances OWL-S


Pour la description sémantique d’un service web avec le langage OWL-S il faut
construire :
 Des instances pour la classe service.
 Des instances pour la classe Service Profile.
 Des instances pour la classe Service Process.
 Des instances pour la classe Service Grounding.
 Mapping entre OWL-S Parameter et l’implémentation du fichier WSDL
Comme le montre la figure suivante :

61
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

ServiceGrounding

Supporte
Concepts
ServiceProcess
Décrit
Fournit par
Ressource Service ServiceProfile
Présente

is-a is-a is-a is-a is-a

Présente
Fournit Evaluer Evaluer
Ressource Fonction Fonction
Médicale Rénale Rénale
Service Profile
Décrit
par
Instances Evaluer
Fonction
Rénale
Supporte Process

Evaluer
Mapping entre OWL-S Parameter Fonction
Rénale
et l’implémentation du fichier Grounding
WSDL
Figure 4.10 : Concepts et instances de service Web.

3.3.2.1. Présentation de l’outil OWL-S Editor For Protégé

OWL-S Editor For Protégé est un outil graphique visé à la conception du service Web
sémantique, c’est un plug-in pour Protégé développé par Shahin Saadati et Grit Denker à
l’organisation Stanford Research Institute, Californie, Etats-Unis.
La figure ci-dessous (Figure 4.11) présente l’interface principale de l’outil « OWL-S Editor
For Protégé » avec quelques définitions intégrées sur l’ordonnancement des étapes de la
création d’un service web.

62
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

L’onglet OWL-S
Editor
Etape 4 : Ajouter le
Service Web

Etape 3 : Créer une instance


de service Profile

Etape 1 : Créer une


instance de service Process

Etape 2 : Créer une


instance de service
Grounding

Figure 4.11 : L’ordonnancement des étapes de la création d’un service web sous l’outil « OWL-S Editor For Protégé ».
63
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Dans cette partie, on prend un exemple très simple d'un service Web qui s'appelle « Index
de Masse Corporelle ».

3.3.2.2. Exemple d’un scénario : Index de Masse Corporelle

L'Indice de masse corporelle est une grandeur qui permet d’estimer le statut
nutritionnel d’une personne à partir de la Taille et du Poids. L'IMC est également utilisé
pour adapter la posologie de certains médicaments ou pour quantifier un risque (lors de
certaines interventions chirurgicales par exemple).

Taille (m)
Indice de
Index de Masse masse
Corporelle corporelle
(kg/m²)
Poids (Kg)

Figure 4.12 : Entrées et sorties du service « Index de Masse Corporelle».

La Formule pour calculer «Index de Masse Corporelle »


IMC = Poids / Taille ^2.

Interprétation :

IMC (kg·m−2) Interprétation

moins de 16,5 dénutrition ou famine

16,5 à 18,5 maigreur

18,5 à 25 corpulence normale

25 à 30 surpoids

30 à 35 obésité modérée

35 à 40 obésité sévère

plus de 40 obésité morbide ou massive

Tableau 4.5 : Interprétation des résultats.

64
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

a. Présentation d’un cas clinique


Monsieur Jean-Michel Doudoux à 46 ans. Elle mesure 1,81 m pour un poids de 95 kg. A
des problèmes dans le poids.
Son traitement :

 Orlistat120 mg trois fois par jour.


b. Analyse du cas clinique
IMC = (95 / (1.81 ^2))= 29 (Kg/ m²)
Monsieur Jean-Michel Doudoux souffre d’un surpoids(Obésité). Conduite à tenir :
 Consultation psychologue ou un psychothérapeute pour permettre de comprendre
l’origine du surplus de poids.
 Faire des analyses médicales pour confirmer qu’il ne souffre pas de diabète

Les IOPEs dans cet exemple sont


Les Inputs : la Taille (1,81m) et le Poids (95kg).
Les Outputs :IMC égale 29kg·m−2.
L’effet : Décision Médicale est :
 Cette personne est donc en surpoids.
 Appliqué un traitement spécifique pour corriger l’IMC par une alimentation moins
riche en graisses, davantage de fruits et de légumes et une activité physique régulière
vous permettront sans doute de retrouver un poids idéal.
 Ce surpoids peut augmenter votre risque de maladies, en particulier de troubles
cardiaques ou vasculaires et de diabète. Ce risque peut se cumuler avec d'autres,
provoqués par le tabagisme, l'hypertension ou le cholestérol.

3.3.2.3.Construction d’une instance de la classe service Process: (Index de Masse


Corporelle)

Dans cette étape, on va créer une instance de la classe service Grounding. Puis, une
instance WsdlAtomicProcessGrounding. Dans le cas de service «Index de Masse
Corporelle» le processus est de type atomique, comme le montre la Figure 4.13.

65
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Figure 4.13 : Création du processus Atomique.


Dans la classe Service Process, on définit : les inputs, les outputs, les preconditons et les
effets (Result).
 Les inputs sont : Poids, taille.
 Les outputs sont : L'indice de masse corporelle (IMC).
 La precondition : Toujours vraie.
 L’effet : Décision Médicale.
La Figure ci-dessous (Figure 4.14) présente ces informations avec une définition intégrée.

66
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

TheClient et TheServer,ce
sont des instances de la
classe (process :Participant)
de l’ontologie de domaine

Les inputs de service web


Index de Masse Corporelle
Le nom de service Process

Ajouter Input La précondition, c’est


une instance de la classe
(expr :condition) de
l’ontologie de domaine
Les outputs de
service web Index de
Masse Corporelle

L’effet Décision Médicale,


c’est une instance de la
Ajouter Output classe (process :Result) de
l’ontologie de domaine

Figure 4.14 : les inputs, les outputs, les preconditons et les effets de service « L'indice de masse corporelle ».

67
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3.3.2.4. Construction d’une instance de la classe service Grounding : (Index de


Masse Corporelle)
Dans cette étape, on va créer une instance de la classe service Grounding. Puis, une
instance WsdlAtomicProcessGrounding pour le processus atomique créé précédemment,
comme le montre la Figure 4.15.

Créer une instance de


la classe service
Grounding
Créer une instance
WsdlAtomicProcessGrounding pour
le processus atomique
EvaluerFonctionRénale_Process

Figure 4.15 : Construction d’une instance de la classe service Grounding.


Après la construction de l’instance grounding, il faut donner la propriété
grounding:owlsProcess au processus atomique.

3.3.2.5. Construction d’une instance de la classe service Profile : (Index de Masse


Corporelle)

Dans cette étape, on va créer un profil du service et le relier avec le processus atomique et
on définit les trois propriétés suivantes:

68
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

 La catégorie de service.
 Le fournisseur de service (contact information).
 Un texte de description.

La catégorie de service est : service médicale (Néphrologie).


Le fournisseur de service est : Réseau de soins – ALGERIE-
Le texte de description est : calcule la corpulence d’une personne à partir de l’Indice de
masse corporelle.
Et on définit aussi les inputs, les outputs, les preconditons et les effets (Result).

69
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Le Service Profile

Relier le Profile Les outputs Catégorie de service (c’est


avec le Process une instance de la classe
ServiceCategory de
l’ontoogie de domaine)
Fournisseur de service
(c’est une instance de la
classe ContactInformation
de l’ontoogie de domaine)

La Precondition

Un texte de description

L’effet
Les inputs

Figure 4.16 : Construction d’une instance de la classe « Service Profile».

70
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3.3.2.6. Construction d’une instance de la classe service (relier les trois instances)

C’est la dernière étape, qui permet de relier le service avec les trois autres classes
(Process, Grounding, Profile). Le service présente le ServiceProfile, décrit par le
ServiceProcess, et supporte le ServiceGrounding et fournit par une Ressource, comme le
montre la figure 4.17.

MasseCorporelleProfile
Présent
Fournit e
Ressource Masse Décrit
MasseCorporelleProcess
Médicale corporelle par
kkkkkPProcess Process
Service
Supporte MasseCorporelleGrouding
GroudingGrounding
Figure 4.17 : Ressource, service, serviceprofile, servicegrounding et servicemodel.
Dans notre exemple, le service Masse_Corporelle_Service présente le
Masse_Corporelle_Profile, décrit par le Masse_Corporelle_Process, et supporte
leMasse_Corporelle_Grounding et fournit par une Ressource Médicale comme le montre
la Figure ci-dessous (Figure 4.18).

ServiceProcess

ServiceGrounding

ServiceProfile

Figure 4.18 : construction d’une instance de la classe service.

71
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3.3.3. Génération du code OWL-S


Le code OWL-S qui concerne les quatre classes de service web atomique (service,
Service Profile, Service Process et Service Grounding) est généré automatiquement à
partir des commandes intégrées dans le menu CODE de l’outil Protégé. La figure 4.19
présente un extrait du code OWL-S généré par PROTÉGÉ.

Figure 4.19 : extrait du code OWL-S.

3.3.4. Mapping entre ontologie du service Web et ontologie de domaine


Dans cette sous-phase, nous utilisons les concepts d'une ontologie de domaine pour
définir et décrire les concepts de service Web: IOPEs (les entrées, les sorties, les pré-
conditions, et les effets), catégorie services, le fournisseur de service ... etc, comme le montre
la figure ci dessous.

72
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Ontologie de
Ontologie de
domaine Service Web

Instance1 Input
Concept1

Instnce2 Output
Concept2
Précondition
Concept3 Instance3
Effet

Concept4 Instance4
ServiceProfile instance

ServiceProf ServiceProfile ServiceProcess instance


ile
Service category
ServiceProcess ServiceProcess
Service provider

Figure 4.20 : Mapping entre l’ontologie de domaine et l’ontologie des services web.

Dans notre exemple, la figure 4.21 montre le Mapping entre l’ontologie de service Web et
l’ontologie de domaine dans « OWL-S EDITOR FOR Protégé ».

Figure 4.21 : L’ajout des inputs dans une instance du « service process ».

73
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3.3.5. Mapping entre OWL-S Parameter et fichier WSDL


Le mapping entre OWL-S et WSDL consiste à une mise en correspondance entre les
éléments de OWL-S (processus atomique, OWL_S Parameter) et les éléments de WSDL
(wsdl operation, message part) comme le montre la figure ci-dessous (Figure 4.22)

Eléments de OWL-S
Poids Inp 1
Index de Masse
Out1 Corporelle
Processus atomique
Taille Inp 2

Mapping
OWL-S parameters OWL-S parameters

WSDL message part WSDL message part

Poids Input1 Opération WSDL


Index de Masse
Output
Corporelle
Taille Input Eléments de WSDL
2

Figure 4.22 : Mapping entre OWL-S Parameter (inputs et outputs) et le message part de fichier
WSDL.

La Figure 4.23, montre la Mise en correspondances (mapping) entre OWLS et WSDL sous
l’outil OWL-S Editor For Protégé.

Mapping des inputs et outputs


de processus atomique
(OWL-S Parameter) avec
l’implémentation du fichier
WSDL (message part)

Figure 4.23 : Le mapping avec WSDL à partir du classe « grounding ».


74
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

3.4. Vérification et Exécution


C’est la dernière étape du processus de construction de l’ontologie de service. Pour tester
la consistance des classes du service on utilise le bouton ‘Consistency Check’. La figure
4.24) montre le Résultat du test de consistance.

Figure 4.24 : Résultat du test de consistance.


Une fois la vérification de la consistance est terminée avec succès, il faut exécuter le
service web par le bouton « Run Web Service ».
La figure 4.25 montre le Résultat de l’exécution de service Web « évalué le déficit en eau
libre ».

Figure 4.25 : exécution du service Web.

75
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

4. Utilisation de l’ontologie de domaine et l’ontologie de services Web


L’ontologie de domaine médical et l’ontologie de services Web médicaux sont
utilisées par un réseau de santé. Un réseau de santé qui regroupe tous les acteurs
intervenant dans le processus de soin, des acteurs humains (médecins, patients,
laborantins, étudiants, grand public....) et des acteurs logiciels (services web médicales,
applications médicales, autres applications...….).
Dans cette partie nous allons créer une application web pour une meilleure
exploitation de notre ontologie de domaine médical et l’ontologie de services Web
médicaux.
4.1. Technologies d’implémentation
Pour l’implémentation et le dé déploiement de notre application nous avons opté pour les
technologies et les outils suivants :

4.1.1. Le langage Java


L’application est de développé en utilisant le langage de programmation Java. Notant
que Java est un langage de programmation orienté objet, libre, simple et portable
(indépendant de toute plate-forme) .Ses caractéristiques ainsi que la richesse de son
écosystème et de sa communauté lui ont permis d'être le choix préféré pour le
développement de notre application.

4.1.2. Servlet et JSP

4.1.2.1. Une servlet (Server-Side applet)

Les servlets sont des programmes Java fonctionnant côté serveur .Elles permettent de
recevoir des requêtes HTTP, de les traiter et de fournir une réponse dynamique au client.
Les servlets étant des programmes Java, elles peuvent utiliser toutes les API Java afin de
communiquer avec des applications externes, se connecter à des bases de données, accéder
aux entrées-sorties (fichiers, par exemple)…

4.1.2.2. JSP (Java Server Page)

Les JSP est une technologie basée sur Java qui permet aux développeurs de créer des
applications basées sur le Web. Une page JSP contient des balises standards, comme du
HTML (XML…), comme toute page web normale .Elle contient aussi des éléments JSP
spécifiques (scriptlets), pour générer le contenu dynamique du document Web (insertion de
contenu de BDD, préférences du visiteur…).

76
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

4.1.3. Serveur d’application (Sun GlassFish Enterprise Server)


Sun GlassFish Enterprise Server est un serveur d'application Open Source destiné aux
environnements de production et compatible avec Java EE. il fournit un serveur pour le
développement et le déploiement d'applications et de technologies Web pour la plate-forme
Java Enterprise Edition s'appuyant sur un technologie Java.

4.1.4. API Jena


Jena est un projet open source d'une API java développé par HP qui facilite le
développement d’applications pour le web sémantique. Il permettant de manipuler de
nombreux langages tels que OWL, RDF/RDFS, SPARQL. Dans notre cas, Pour permettre
à notre système de manipuler l’ontologie (OWL), on a utilisé cette API qui nous offre
beaucoup d’avantages.
4.2. Les interfaces du système
L’interface homme/machine représente l’élément clé dans l’utilisation de tout système
informatique.les interfaces de notre système sont conçues de manière à être simples,
naturelles, compréhensible et d’utilisation faciles.

4.2.1. Fenêtre principale


L’interface principale de notre application permet aux utilisateurs d’avoir un accès aux
différentes fonctionnalités du système comme la recherche des services, le calcule médicale,
la découverte et la visualisation de l’ontologie du domaine médicale.

Figure 4.26 : Interface principale de l’application.

77
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

4.2.2. Interfaces de manipulation de l’ontologie


La manipulation de l’ontologie dans notre prototype permet aux internautes de consulter
toutes les informations concernant le domaine médical. Deux interfaces sont offertes pour
cela :
 La première interface permet aux internautes de visualiser l’ontologie sous forme d un
graphe en utilisons l application WebVOWL.
 La deuxième interface permet aux internautes de naviguer et visualiser notre ontologie
en utilisons l’application JOWL.

Figure 4.27 : Interface de visualisation de l’ontologie.

4.2.3. Interface de recherche


Cette interface permet aux internautes de faire une recherche des ressources existe déjà
dans notre ontologie.

4.2.4. Interface des Calcules médical


Cette interface permet aux internautes de faire des calcules médicale en utilisons les
services web déjà implémenter

78
Chapitre VI : Construction D’une Ontologie De Services Web Médicaux

Figure 4.28 : Interface d’un client de service web « Indice de Masse Corporelle».

5. Conclusion
Dans ce chapitre nous avons présenté les étapes que nous avons suivies pour
construire notre ontologie de services web médicaux. D’abord, nous avons choisi
l’environnement de développement intégré « NetBeans IDE » pour implémenter les
services web médicaux. Ensuite, nous avons codifié notre ontologie avec le langage «
OWL-S » à l’aide de l’outil « OWL-S Editor For Protégé » qui nous a permis de construire
des instances de Profile, Process et Grounding pour le service Web. Enfin, nous avons
développé une application web contient des clients pour les web service.
L’ontologie de services Web médicaux utilise les concepts de l’ontologie de domaine
pour décrire et définir les concepts spécifiques aux services Web tels que les IOPEs
(inputs, outputs, Préconditions, Effects), le fournisseur de service, la catégorie de
service…etc.
Cette ontologie contient plus de 50 services web dans le domaine médical, avec la
possibilité de l’étendre à tout moment par l'ajout des nouveaux services web. Et elle est
très utile pour les réseaux de santé et pour les agents logiciels afin de découvrir, appeler,
composer, surveiller et exécuter automatiquement les services Web médicaux.

79
CONCLUSION ET PERSPECTIFS

Conclusion et perspectifs
Les ressources ontologiques permettent de représenter un ensemble structuré de concepts,
elles sont notamment utilisées dans des domaines aussi variés que ceux de l’intelligence
artificielle, de la finance ou encore de la médecine. Elles servent notamment à établir une base
de connaissances, c’est-à-dire à regrouper des connaissances spécifiques à un domaine donné,
sous une forme exploitable par un ordinateur.

Le développement de ces ressources ontologiques médicales permet de faciliter l’usage


des terminologies nationales et internationales en médecine. Ces ressources ontologiques en
médecine donnent une grande importance pour la description sémantique des services web
médicaux (services d'examens et d'analyses médicales…), aussi pour le recueil d’information
(aide au codage des diagnostics et des actes, réalisation d’études épidémiologiques…), et
pour l’accès aux connaissances médicales (base de données bibliographiques MEDLINE,
base de connaissances VIDAL sur les médicaments…).

Les utilisateurs potentiels de ce type de ressources et services sont les médecins, les
étudiants en médecine, les patients ainsi que des organismes et institutions publiques ou semi-
publiques (services dans les hôpitaux, sociétés savantes de médecine…), ainsi le grand public.
Alors il faut également souligner la pertinence de telles recherches dans la mouvance des
Sciences et Technologies de l’Information et de la Communication.

L’objectif que nous nous sommes fixés au début de ce mémoire était de faire une étude
sur les services Web sémantiques et sur les approches et langages de description sémantique
des services Web et d’appliquer cette nouvelle technologie sur le domaine médicale.

On considère que nous avons réussi à réaliser une bonne partie de ces objectifs :

 Nous avons fait une étude sur les approches et langages de description sémantique des
services Web (OWL-S et WSMO).

 La construction d’une ontologie de domaine médical, a l’aide du langage OWL et de


l’éditeur graphique «PROTÉGÉ», en suivant la méthodologie «METHONTOLOGY»,
notre ontologie comporte 2000 concepts, 43 relations, 60 attributs et quelques instances
et axiomes dans le domaine médical. Cette ontologie est très utile pour les utilisateurs et
experts du domaine médical (médecins, étudiants, patients…) afin de constituer,
CONCLUSION ET PERSPECTIFS

consulter et maintenir leurs connaissances sur ce domaine et d’avoir un langage médical


commun et standardisé.

 nous avons développé une ontologie de services Web médicaux, nous avons choisi le
langage «OWL-S», l’outil «OWL-S Editor For Protégé» et l’environnement de
développement intégré «NetBeans IDE 6.8» pour implémenter les services web
médicaux. L’ontologie de services Web médicaux utilise les concepts de l’ontologie de
domaine pour décrire et définir les concepts spécifiques aux services Web tels que les
IOPEs (inputs /outputs /Préconditions /Effects), le Client, le Serveur, le fournisseur de
service, la catégorie de service…etc. Cette ontologie contient plus de 50 services web
dans le domaine médical, et elle est très utile pour les agents logiciels afin de découvrir,
appeler, composer, surveiller et exécuter automatiquement des services Web médicaux.

A travers ce modeste travail on a pu acquérir des compétences dans différents domaines


nous citons :

 En ingénierie ontologique (qu’est ce qu’une ontologie, méthodes de construction


d’ontologies, processus de construction d’ontologies…..)
 En web sémantique (Architecture et langages du Web sémantique, Des notions sur la
logique de description et les moteurs d’inférences…), et en services Web.
 Des connaissances en médecine.

Cependant il existe plusieurs perspectives envisageables à nos travaux :

 Utiliser l’ontologie de domaine pour faire de la recherche d’informations en médecine.


 Utiliser l’ontologie de services Web médicaux pour guider la machine à découvrir,
composer et exécuter automatiquement des services Web.
 Étendre l’ontologie de domaine par l’ajout des nouveaux concepts, et pour en faire une
ontologie générale en médecine
 Étendre l’ontologie de services Web, par l’ajout des nouveaux services Web médicaux.
Bibliographie et Webographie
[1] GHARZOULI Mohamed, « Composition des Web Services Sémantiques dans les
systèmes Peer-to-Peer », Thèse de doctorat en Informatique, Mentouri Constantine,
Constantine, 2011.
[2] BOURAMOUL Abdelkrim, « Recherche d’information contextuelle et Sémantique
sur le web », Thèse de doctorat en Informatique, MENTOURI de Constantine,
Constantine, 2011.
[3] « Web sémantique : quelles applications aujourd’hui ? » [En ligne]. Disponible sur:
http://www.commentcamarche.net/faq/29732-web-semantique-quelles-applications-
aujourd-hui. [Consulté le: 20-02 -2016].
[4] « SOAT Blog » Petite introduction au Web Sémantique : les technologies du Web
Sémantique (1) ». [En ligne]. Disponible sur:
http://blog.soat.fr/2012/02/petite-introduction-au-web-semantique-les-technologies-
du-web-semantique-1/. [Consulté le: 26-02-2016].
[5] AMJAD Fahd, « Approche ontologique pour l’intégration des entreprises
distribuées », Thèse de doctorat en Automatique, Université De Lorraine, Lorraine,
2012.
[6] BENDAOUD Rokia, « Analyses formelle et relationnelle de concepts pour la
construction d’ontologies de domaines a partir de ressources textuelles
hétérogénes », Thèse de doctorat en informatique, université Henri Poincaré –
Nancy 1, Nancy, France, 2009.
[7] VONLANTHEN Mathieu, « Bases de Connaissance Spatiales pour les Outils
d’Aide à la Conception Architecturale », Thèse de doctorat en sciences
économiques et sociales mention systèmes d’information, Université de Genève,
Genève, Suisse, 2012.
[8] KOLLI Manel, « Intégration d’ontologies dans le cadre du web sémantique : une
détection des relations sémantiques basée sur le RÀPC », Thèse de doctorat en
SCIENCES EN INFORMATIQUE, UNIVERSITE MENTOURI, CONSTANTINE,
2011.
[9] « Une introduction aux logiques de description ». [En ligne]. Disponible sur:
http://www.philippe-fournier-viger.com/description_logics/introduction_logiques_d
e_description.html. [Consulté le: 03-03-2016].
[10] BOUARROUDJ Samia, « Raisonnement sur une ontologie enrichie par des régles
SWRL pour la recherche sémantique d’image annotées », Magister en Intelligence
Artificielle, Universite 20 Aout 1955 SKIKDA, SKIKDA,Algerie, 2010.
[11] KHELIF Mohamed Khaled, « Web sémantique et mémoire d’expériences pour
l’analyse du transcriptome », Thèse de doctorat en Informatique, UNIVERSITE de
Nice-Sophia Antipolis, Nice,France, 2006.
[12] « Le Web sémantique - Cairn.info ». [En ligne]. Disponible sur:
https://www.cairn.info/revue-realites-industrielles1-2010-4-page-84.htm. [Consulté
le: 05-03-2016].
[13] VANDECASTEELE Arnaud, « Modélisation ontologique des connaissances
expertes pour l’analyse de comportements à risque - Application à la surveillance
maritime - », Thèse Doctorat en Science et génie de l’activite, MINES ParisTech
Centre de recherche sur les risques et les Crises, France, 2012.
[14] JRIDI Jamel Eddine, « L’ingénierie des documents d’affaires dans le cadre du web
sémantique », Thèse de doctorat en informatique, Université de Montréal, Faculté
des arts et des sciences, 2014.
[15] Jérôme Euzenat et Raphaël Troncy, « Web sémantique et pratiques
documentaires », p. 157-188, 2004.
[16] « Vue d’ensemble du langage d’ontologie Web OWL ». [En ligne]. Disponible sur:
http://www.yoyodesign.org/doc/w3c/owl-features-20040210/. [Consulté le:
09-03-2016].
[17] « Le guide du langage d’ontologie Web OWL ». [En ligne]. Disponible sur:
http://www.yoyodesign.org/doc/w3c/owl-guide-20040210/index.html. [Consulté le:
09-03-2016].
[18] MOSBAH Hadjer, « Approches bio-inspirées pour la composition de services
web », Magister en informatique Option : Systèmes d’Information Avancés et
Technologies Web, Université Constantine 2, Constantine, Algérie, 2014.
[19] « Interstices - Ontologies informatiques ». [En ligne]. Disponible sur:
https://interstices.info/jcms/c_17672/ontologies-informatiques. [Consulté le:
12-03-2016].
[20] MEDIANI Chahrazed, « Modélisation des attitudes cognitives et affectives chez
l’individu en situation d’apprentissage coopératif sur le Web », Thèse de doctorat en
Informatique, Université Ferhat Abbas de Sétif, Sétif,UFAS (Algérie), 2013.
[21] Natalya F. Noy et Deborah L. McGuinness, « Développement d’une ontologie 101 :
Guide pour la création de votre première ontologie ». 2005.
[22] KEZADRI Mounira, « Assistance à la validation et vérification de systèmes
critiques : Ontologies et Intégration de composants », Thèse de doctorat en
Informatique, UNIVERSITÉ DE TOULOUSE, TOULOUSE,France, 2013.
[23] KHALFI Souheila, « CONSTRUCTION D’UNE ONTOLOGIE POUR LA PRISE
EN CHARGE DES PATIENTS À DOMICILE », Mémoire de Magister en
Informatique en Systèmes distribués, Université Mentouri Constantine,
Constantine,Algerie, 2009.
[24] « Développements récents en matière de conception, de maintenance et d’utilisation
des ontologies ».
[25] N. Guarino, "Formal Ontology in Information Systems", Proceedings of FOIS’98,
Trento, Italy, pp. 3-15, 1998.
[26] R. Mizoguchi, "Ikeda: Task Ontologies for reuse of Problem Solving Knowledge".
In N. J. I. Mars (editors), Towards Very Large Knowledge Bases, IOS Press, 1995.
[27] G. Van Heijst, A. Th. Schreiber, and B. J. Wielinga, "Using explicit ontologies in
KBS development", International Journal of Human- Computer Studies, Vol. 46 n° 2,3
pp.183-292, 1997.

[28] MAHIDDINE Mehanna et MISSOUM Mehenna, « Conception et réalisation d’une


ontologie dans le domaine des hydrocarbures pour la recherche d’information »,
Mémoire de Fin d’Etudes en Systèmes d’Information, Institut National de formation
en Informatique, Oued-Smar,Alger, 2007.
[29] LEKHCHINE Riad, « Construction d’une ontologie pour le domaine de la sécurité :
Application aux agents mobiles », Mémoire de Magister en Informatique, Université
Mentouri,Constantine, Constantine,Algerie, 2009.
[30] OTTENS Kevin, « Un système multi-agent adaptatif pour la construction
d’ontologies à partir de textes », Thèse de doctorat en Informatique, Universit´e
Paul Sabatier de Toulouse III, Toulouse, France, 2007.
[31] AUDREY Baneyx, « Construire une ontologie de la Pneumologie Aspects
theoriques, modeles et experimentations », Thèse Doctorat en INFORMATIQUE
MÉDICALE, Universite Pierre et Marie Curie – Paris 6, Paris, France, 2007.
[32] CHARLET Jean, BACHIMONT Bruno, et Raphaël Troncy, « Ontologies pour le
Web sémantique », Revue I3, p. 26, févr. 2005.
[33] VALÉRY Psyché, « RÔLE DES ONTOLOGIES EN INGÉNIERIE DES EIAH :
CAS D’UN SYSTÈME D’ASSISTANCE AU DESIGN PÉDAGOGIQUE », Thèse
de doctorat EN INFORMATIQUE COGNITIVE, UNIVERSITÉ DU QUÉBEC À
MONTRÉAL, Montreal, Quebec, Canada, 2007.
[34] « Construire une ontologie médicale pour la recherche d’information :
problématiques terminologiques et de modélisation (PDF Download Available) ».
[En ligne]. Disponible sur:
https://www.researchgate.net/publication/275270696_Construire_une_ontologie_med
icale_pour_la_recherche_d%27information_problematiques_terminologiques_et_de_
modelisation. [Consulté le: 10-03-2016].
[35] HADJOUI Fatima Zohra, « Gestion des Ontologies Médicales (G.O.M) », Mémoire
de fin d’études du Master en Informatique Option: Système d’Information et de
Connaissances (S.I.C), Université Abou Bakr Belkaid– Tlemcen, Tlemcen,Algerie,
2012.
[36] Wu.Z., et Palmer.M(1994). Verbsemantics and lexical selection.In 32nd Annual
Meeting of the Association for ComputationalLinguistics, Pages : 133–138.
[37] Pourraz, Frederic. 2007. “Diapason : une Approche Formelle Et Centrée
Architecture Pour La Composition Évolutive Des Services Web”. SAVOIE.
[38] « Web Services Glossary». [En ligne]. Disponible sur:
https://www.w3.org/TR/ws%E2%80%90gloss. [Consulté le: 15-03-2016].

[39] H.Kadima et V.Monfort. Les Web services – Techniques. Démarches et outiles :


XML-WSDL-SOAP-UDDI-Rosetta-UML.Dunod/01 Informatique.2003.411.
[40] Doug Tidwell, James Snell et Pavel Kulchenko: “Programming Web Services with
SOAP “, O'Reilly, 2001.
[41] « World Wide Web Consortium (W3C) ». [En ligne]. Disponible sur:
https://www.w3.org/. [Consulté le: 15-03-2016].
[42] Martin Kalin: “Java Web Services: Up and Running by Martin Kalin”,
O'Reilly,2009, USA
[43] Maha Driss, Approche multi-perspective centrée exigences de composition de
services Web, thèse de doctorat, Université de Rennes,2011.
[44] « Web Service Definition Language (WSDL) ». [En ligne]. Disponible sur:
https://www.w3.org/TR/wsdl. [Consulté le: 16-03-2016].
[45] « Support Web Services SOAP et RESTful Mr YOUSSFI ». [En ligne]. Disponible
sur:
http://fr.slideshare.net/mohamedyoussfi9/support-web-services-soap-et-restful-mr-y
oussfi. [Consulté le: 19-03-2016].
[46] Ethan Cerami: “Web Services Essentials Distributed Applications with XML-RPC,
SOAP, UDDI & WSDL”, O'Reilly, February 2002.
[47]« UDDI TechnicalOverview - Web Services Essentials [Book] ». [En ligne].
Disponible sur:
https://www.safaribooksonline.com/library/view/web-services-essentials/059600224
6/ch07s03.html. [Consulté le: 23-03-2016].
[48] « OpenClassrooms - Les services Web ». [En ligne]. Disponible sur:
https://openclassrooms.com/courses/les-services-web. [Consulté le: 27-03-2016].
[49] F. Curbera, M. Duftler, R. Khalaf, W. Nagy, NirmalMukhi, and S.
Weerawarana.Unraveling the web services web: an introduction to soap,
wsdl,anduddi. Internet Computing, IEEE, 6(2):86–93, March 2002. (Cited on page
17).
[50] SOAP W3C, SOAP version 1.2 part 1 : Messaging framework (second
edition),Reference Architecture Foundation for service oriented architecture Version
1, Article du Web URL: http://www.w3.org/TR/soap12-part1/, [Consulté le:
28-03-2016].
[51] D. Martin, M. Burstein, and Al. OWL-S : SemanticMarkup for Web Services. 22
Novembre 2004. http://www.w3.org/Submission/OWL-S/,[Consulté le: 28-03-2016]
[52] OWL-S Coalition, (2004) "OWL-S: SemanticMarkup for Web Services".
OWL-S Coalition, [On Ligne] http://www.daml.org/services/.
[53] « SEM-NESSI - Semantic Web ». [En ligne]. Disponible sur:
http://www.wst.univie.ac.at/workgroups/sem-nessi/index.php?t=semanticweb.
[Consulté le: 29-03-2016].
[54] « Web Service ModelingOntology (WSMO) ». [En ligne]. Disponible sur:
https://www.w3.org/Submission/WSMO/. [Consulté le: 30-03-2016].

[55] Hess, A.: Assam (AutomatedSemantic Service Annotation with Machine Learning)
WsdlAnnotator, http://www.andreas-hess.info/projects/annotator/index.html
[56] Dimitrov, M., Simov, A., Momtchev, V., Konstantinov, M.:Wsmo Studio - a
Semantic Web Services Modelling Environment for WsmoEuropeanSemantic Web
Conference, (2007)
[57] «SemWebCentral: wsdl2owl-s: Information sur le projet ». [En ligne]. Disponible
sur:http://www.semwebcentral.org/projects/wsdl2owl-s/. [Consulté le:].
[58] KorayMançuhan, CihanAksoy, Annotation Automatique de Descriptions de
Services Web,UniversitéGalatasaray, 2010.
[59] « DAML Services - Tools ». [En ligne]. Disponible
sur:http://www.daml.org/services/owl-s/tools.html. [Consulté le: 01-04-2016].
[60] « OWL-S Editor ». [En ligne]. Disponible sur:
http://owlseditor.semwebcentral.org/download.shtml. [Consulté le: 01-04-2016].

[61] « European Commission : CORDIS : Projects&Results Service : A semantic web


service-based P2P Infrastructure for the interoperability of medical information
systems ». [En ligne]. Disponible sur:
http://cordis.europa.eu/project/rcn/74628_en.html. [Consulté le: 05-04-2016].
[62] A. Dogac, G. Laleci, S. Kirbas, Y. Kabak, S. Sinir, A. Yildiz, and Y. Gurcan.
Artemis: Deploying Semantically Enriched Web Services in the Healthcare Domain.
Information Systems Journal, Special Issue on Semantic Web and Web Services,
2005.
[63] « European Commission : CORDIS : Projects&Results Service : Building
knowledgedriven and dynamically adaptive
networkedcommunitieswithingEuropeanhealthcaresystems ». [En ligne]. Disponible
sur: http://cordis.europa.eu/project/rcn/71234_en.html. [Consulté le: 10-04-2016].
[64] E. Della Valle, D. Cerizza, I. Celino, L. Gadda, and A. Savoldelli. The COCOON
project. In Demos and Posters of the 2nd European Semantic Web Conference
(ESWC-2005), Heraklion, Greece, 29.
ANNEXE

Annexe A
L’annexe A, présente quelques services Web médicaux avec les Inputs, les Outputs, les
Pré-conditions, les Effets et une définition intégrée.
Service Web Inputs Outputs Précondition Effets
Surface corporelle Taille (T en cm) Surface corporelle Poids entre 15 à
Boyd Poids (P en kg). SCB en m² 200 Kg
-
Taille entre 99 à
250 cm
Évaluer la Surface Corporelle (SCB en m²) en fonction de la Taille (T en cm) et du Poids (P
en kg) selon la formule de Boyd :
 SCB= 0,0003207 x P^[0,7285-0,0188 x log(P)] x T^0,3.
RR (en seconde) FC (en bpm) Always True
Fréquence cardiaque

le rythme (fréquence) est le nombre de battements cardiaques (pulsations) par unité


de temps (généralement la minute).
Calcul de la Fréquence cardiaque (ou rythme cardiaque) évalué en battements par minute (FC
en bpm) à partir de l'Intervalle RR (RR en s) de l'électrocardiogramme selon la méthode :
 FC = 60 / RR
QT (en seconde) QTc Always True -
Intervalle QT Corrigé RR (en seconde)

Intervalle QT mesuré du début du QRS à la fin de l'onde T correspond à l'ensemble de la


dépolarisation et de la repolarisation ventriculaire (temps de systole électrique). Sa durée varie
en fonction de la fréquence cardiaque, il diminue quand la fréquence cardiaque augmente et
augmente quand la fréquence cardiaque diminue. Son allongement voire son raccourcissement
est lié dans certaines circonstances à l'apparition d'un trouble du rythme ventriculaire complexe
nommé « torsades de pointes » potentiellement mortel. Ainsi utilise-t-on le QTc (QT corrigé)
qui est la mesure de l'intervalle QT corrigé par la fréquence selon la formule QTc = QT/racine
carré de l espace RR. L'hypoxie cardiaque et les troubles de la concentration sanguine en
calcium affectent cet intervalle.
 La méthode est : QTc = QT / sqrt(RR).
Poids idéal Taille en cm PIR en kg Always True -
Robinson le Sexe

Évaluer le Poids idéal (PIR en kg) en fonction de la Taille en cm T[cm] et le Sexe de la personne
(H pour hommes, F pour femmes) selon la formule de Robinson.
 Hommes : PIR[H] = 50 + 0,91 x (T[cm] - 152,4) .
 Femmes : PIR[F] = 45,5 + 0,91 x (T[cm] - 152,4) .
LDL cholestérol CholTot LDL TGly <4 -
M MOL/L HDL mmol/L
TGly (en mmol/L)
Évaluer le taux de LDL à partir des taux de Cholestérol total (CholTot), de HDL et de
Triglycérides (TGly) en mmol/L.
 Formule de Friedwald : LDL = CholTot – (TGly / 2,2 ) - HDL
Taux de Pcréat Tmphos Always True -
résorption des Ucréat
phosphates Pphos
Uphos ( mg/L)

Évaluer le taux de résorption des Phosphates (Tmphos) en fonction :


de la Créatininémie (Pcréat) et de la Créatininurie (Ucréat) en mg/L , d'une part , et de la
Phosphorémie (Pphos) et de la Phosphaturie (Uphos) en mg/L, d'autre part.
 Formule : Tmphos = 1 - (Uphos x Pcréat) / (Pphos x Ucréat)
Interprétation :
- Norme : Taux de résorption > 78 %
- Hyperparathyroïdisme : Taux de résorption > 74 %
ANNEXE

Calcémie Ca en mmol/L Cacorr[a] -


corrigée selon le Alb en g/L en mmol/L
taux d'albumine

La Calcémie corrigée (Cacorr[a] en mmol/L) permet de normer la Calcémie mesurée (Ca en


mmol/L) lors de modifications de l'Albuminémie (Alb en g/L).
 Cacorr[a] = Cames + 0,8 x (4 - Alb)
Calcémie Ca en mmol/L Cacorr[p] -
corrigée selon le Prot en g/L en mmol/L
taux de protides

La Calcémie corrigée (Cacorr[p] en mmol/L) permet de normer la Calcémie mesurée (Ca en


mmol/L) lors de modifications de la Protidémie (Prot en g/L).
 Cacorr[p] = Cames / (0,55 + Prot / 160)
Clairance de la Creat[sg] en µmol/L ClCreat en Always True
créatinine (selon P en kg mL/min
la formule de A en ans
Cockcroft et
Gault)

Évaluer la Clairance de la créatinine (ClCreat en mL/min) en fonction de la Créatininémie


(Creat[sg] en µmol/L), du Poids (P en kg), de l'Âge (A en ans) et du Sexe.
- À noter : la Créatinine - produit de dégradation de la Créatine produite par le foie et stockée
dans le muscle - est filtrée par le rein ; la Clairance de la créatinine est actuellement un des
meilleurs marqueurs de la fonction rénale.
 ClCreat = K x P x (140 - A) / Creat[sg]
Clairance de la Creat[sg] en µmol/L ClCreat en Always True
créatinine Creat[ur] en µmol/L mL/min
mesurée DU en mL/min

Mesurer la Clairance de la créatinine (ClCreat en mL/min) en fonction de la Créatininémie


(Creat[sg] en µmol/L), de la Créatininurie (Creat[ur] en µmol/L) et du Débit urinaire (DU en
mL/min).
À noter : la Créatinine - produit de dégradation de la Créatine produite par le foie et stockée
dans le muscle - est filtrée par le rein ; la Clairance de la créatinine est actuellement un des
meilleurs marqueurs de la fonction rénale.
 ClCreat = Creat[ur] x DU / Creat[sg]
Débit urinaire Diurèse en mL DU en Always True
Tps en min ou en h mL/min ou
en mL/h
Calculer le Débit urinaire (DU en mL/min ou en mL/h) en fonction du Volume d'urines
recueillies (Diurèse en mL) recueillie sur une certaine durée (Tps en min ou en h)
 DU = Diurèse / Tps
Surface P en Kg SC en m² Always True
corporelle selon
le Poids

Évaluer la Surface corporelle (SC en m²) d'un enfant selon son Poids (P en Kg).
 SC = (4 x P + 7) / (P + 90)
Gradient PaO2 en mmHg D(A-a)O2 Always True
alvéolo-artériel PaCO2 en mmHg en mmHg
en oxygène QR de 0,8
PAH2O = 47 mmHg à 37 °C
Évaluer le Gradient de pression partielle (D(A-a)O2 en mmHg) entre les gaz contenus dans
les alvéoles pulmonaires et le sang artériel
 D(A-a)O2 = FiO2 x (Patm - PAH2O) - PaO2 - PaCO2/QR

Rapport PaO2 en mmHg PaO2/FiO2 Always True


PaO2/FiO2 FiO2

Le rapport PaO2/FiO2 se calcul comme son nom l'indique à partir de la Pression partielle en
oxygène artérielle (PaO2 en mmHg) et la Fraction inspirée en oxygène (FiO2).
 PaO2/FiO2 = PaO2 / FiO2
ANNEXE

Annexe B
L’annexe B, présente le code source Java de service Web Médical « Chercher Type
Maladies » sous l’environnement de développement intégré « NetBeans IDE 6.8 », en
utilisons l’API jena avec un test de service Web et génération de Fichier WSDL et des
messages « SOAP Request » et « SOAP Response ».

Figure B1 : service web « Chercher Type Maladies » sous l’environnement


« NetBeans IDE 6.8 ».
ANNEXE

Le teste de ce service Web produit l’URL ci-dessous sous le Navigateur Mozilla Firefox
avec le fichier WSDL généré.

Figure B2 : test de service web « Chercher Type Maladies ».

Figure B3 : Le fichier WSDL de service web « Chercher Type Maladies »


ANNEXE

L’invocation de ce service Web avec « Chercher Type Maladies= Maladies_bucco-dentaires »


a donné le résultat [La_gingivite, L_halitose, Le_syndrome_de_Gourgeot_Sjogrein,
Le_déchaussement_de_la_dent, La_parodontite, La_carie_dentaire, Aphtes, Le_tartre]"; avec
les messages ‘SOAP Request’ et ‘SOAP Response’ générés.

Figure B4 : Les messages ‘SOAP Request’ et ‘SOAP Response’ générés de service web
« Chercher Type Maladies ».
ANNEXE

Annexe C
L’annexe C, présente le code d’ontologie OWL-DL en tant qu’un fichier XML par l’outil
oXygen XML Editor version 18. oXygen est un éditeur facile à utiliser qui supporte les
dernières technologies et standards XML. Cet outil est doté d'un certain nombre de
fonctionnalités facilitant la production de documents XML bien formés et valides.

Vérifier le doc XML

Composants du projet

Source XML

Vue
hiérarchique

Figure C : Code OWL-DL en tant qu’un fichier XML.


ANNEXE

Annexe D
L’annexe D, présente une partie de notre ontologie sous forme d’un graphe ont utilisons
l’application WebVOWL (Web based Visualization of Ontologie).
WebVOWL est une application web réactif pour la visualisation des ontologies. Il met en œuvre
la notation visuelle pour OWLOntologies (Vowl) et elle est entièrement basée sur des standards
Web ouverts.

Figure D : Visualisation graphique de l’ontologie.

Vous aimerez peut-être aussi