Baget 2003 B
Baget 2003 B
#
INRIA Rhône-Alpes
[Link]
[Link]@[Link]
*
LIRIS FRE 2672 CNRS
Université Claude Bernard Lyon 1
mshacid@[Link]
Résumé
La manipulation des resources du web par des machines requiert l’expression ou la
description de ces resources. Plusieurs langages sont donc définis à cet effet, ils
doivent permettre d’exprimer données et méthadonnées (RDF, Cartes Topiques), de
décrire les services et leur fonctionnement (UDDI, WSDL, DAML-S, etc.) et de
disposer d’un modèle abstrait de ce qui est décrit grace à l’expression d’ontologies
(RDFS, OWL). On présente ci-dessous l’état des travaux visant à doter le web
sémantique de tels langages. On évoque aussi les questions importantes qui ne sont
pas réglées à l’heure actuelle et qui méritent de plus amples travaux.
M o t s - c l é s : RDF, Cartes Topiques, RDFS, OWL, DAML, UDDI, WSDL,
DAML-S, XL, XDD, Règles, Ontologies, Annotation, Sémantique, Inférence,
Transformation, Robustesse.
1 P RÉSENTATION ET IMPORTANCE DE LA
PROBLÉMATIQUE DU POINT DE VUE DES USAGES
Le web sémantique doit pouvoir être manipulé par les machines. Dans l’état actuel
de la technologie, il est alors nécessaire de disposer de langages pour :
- exprimer les données et les méta-données (cf. chapitre 3) ;
- exprimer les ontologies (cf. chapitre 4) ;
9
Rapport AS « Web sémantique »
10
2 – Les langages du Web sémantique
Il semble clair que le web sémantique ne pourra voir le jour sans un minimum de
standardisation. Différents consortiums et organismes mettent donc les acteurs autour
d’une table pour définir les langages à utiliser dans le web sémantique. L’intérêt de
cette approche standardisante est bien sûr d’assurer des traitements uniformes sur
l’ensemble des documents écrits dans ces langages. Un inconvénient peut être le gel
d’autres travaux de recherche plus originaux (Ginsberg, 1991). Une approche moins
contraignante aurait pu être la définition de métalangages : en permettant de décrire
des langages (que ce soit par leur sémantique, en décrivant leurs règles
d’interprétation, ou de façon opérationnelle, en fournissant des règles encodant les
mécanismes de raisonnement), cette standardisation n’aurait pas gêné l’ouverture vers
d’autres travaux (Euzenat, 2000).
Les travaux de standardisation sont aujourd’hui bien avancés : RDF et SOAP sont
des recommandations du W3C, TopicMaps une norme ISO, et OWL est sur les pas de
RDF.
Nous décrirons ici trois sortes de langages :
- des langages d’assertions (RDF et cartes topiques) ;
- un langage de définition d’ontologies pour le web (OWL) ;
- différents langages de description et de composition de services (UDDI et
autres).
Dans les deux premiers cas nous nous appuierons principalement sur les langages
proposés par le W3C qui a réussi à faire interagir un grand nombre d’acteurs tant
11
Rapport AS « Web sémantique »
3.1.1 RDF
RDF (Lassila & Swick, 1999) (Klyne & Carroll, 2003) est un langage formel qui
permet d’affirmer des relations entre des « ressources ». Il sera utilisé pour annoter
des documents écrits dans des langages non structurés, ou comme une interface pour
des documents écrits dans des langages ayant une sémantique équivalente (des bases
de données, par exemple).
12
2 – Les langages du Web sémantique
[Link]
[Link]
[Link]
[Link]
[Link]
13h27
La figure x.1 présente une partie d’un document RDF (il s’agit d’un exemple
fictif, montrant comment la SNCF pourrait donner une interface RDF à sa base de
données de voyages). Les termes de la forme [Link] sont des URIs qui identifient des
ressources définies de façon unique. Notons dans les URIs que certaines ressources
sont spécifiques à la SNCF (le train), et que d’autres (departure…) sont issus d’une
ontologie dédiée aux voyages. Les objets d’un triplet qui sont des littéraux sont
représentés dans un rectangle (ici, 13h27). Le sommet non étiqueté représente une
variable. Intuitivement, ce graphe peut se comprendre comme « le train TER 85158
part de Grenoble à 13h27 ». Cette sémantique « intuitive » ne suffisant pas à un
traitement automatique, il faut munir les documents RDF d’une sémantique formelle.
La sémantique d’un document RDF est exprimée en théorie des modèles
(Hayes, 2003). L’objectif est de donner des contraintes sur les mondes qui peuvent
être décrits par un document RDF. L’utilisation de la théorie des ensembles pour
décrire ces modèles a deux intérêts : la généricité de la notion d’ensemble (fondement
des mathématiques ) et son universalité (culture commune pour ceux qui vont
s’intéresser à cette sémantique).
Un document RDF peut aussi être traduit en une formule de la logique positive
(sans négation), conjonctive, existentielle du premier ordre (sans symboles
fonctionnels), dont les modèles sont identiques à ceux définis par la sémantique
directe en théorie des modèles. À chaque triplet <s, p, o> on associe la formule
atomique p(o, s), où p est un nom de prédicat, et o et s sont des constantes si ces
éléments sont des URIs ou des littéraux dans le triplet, et des variables sinon. Le
document RDF se traduit par une formule qui est la fermeture existentielle de la
conjonction des formules atomiques associées à ses triplets. Ainsi, le document RDF
utilisé précédemment en exemple se traduit par la formule :
x (departure(ter85158, x) time(x, 13h27) localisation(x, Grenoble))
L’information contenue dans un document RDF R1 est déjà présente dans le
document RDF R2 si et seulement si la formule logique associée à R1 est conséquence
de celle associée à R2. Cette « traduction logique » de RDF permet de l’identifier à de
nombreux autres paradigmes de raisonnement : la logique, bien sûr, mais aussi les
bases de données (Datalog positif) ou les graphes conceptuels.
Bien qu’un mécanisme d’inférence adéquat et complet par rapport à la sémantique
(on ne trouve que des conséquences, et toutes les conséquences) soit évoqué dans les
propositions du W3C, ceci n’entre pas dans la standardisation. L’objectif est de laisser
la plus grande liberté à ceux qui vont implémenter des outils fondés sur RDF, en
13
Rapport AS « Web sémantique »
14
2 – Les langages du Web sémantique
Par exemple, le topic de vol est instancié par myFlight, il a pour nom « vol pour
Boston » dont la portée est celle de mes discussions au déjeuner avec les collègues et
« flight AF322 » lors de discussions avec l’immigration américaine.
Flight
class
instanceOf
instance
myFlight event location BOS
landAt
topic
15
Rapport AS « Web sémantique »
16
2 – Les langages du Web sémantique
3.3.1 UDDI
Le protocole UDDI (Universal Description, Discovery and Integration (Curbera et
al., 2002)) est une plate-forme destinée à stocker les descriptions des services web
disponibles, à la manière d’un annuaire de style « Pages Jaunes ». Des recherches sur
les services peuvent être effectuées à l’aide d’un système de mots-clés fournis par les
organismes proposant les services. UDDI propose également un système de « Pages
Blanches » (adresses, numéros de téléphone, identifiants…) permettant d’obtenir les
coordonnées de ces organismes. Un troisième service, les « Pages Vertes », permet
d’obtenir des informations techniques détaillées à propos des services et permettent de
décrire comment interagir avec les services en pointant par la suite vers un PIP
RosettaNet ou une “service interface” WSDL. Le vocabulaire utilisé pour les
descriptions obéit à une taxonomie bien précise afin de permettre une meilleure
catégorisation des services et des organismes.
De par sa simplicité, UDDI permet de stocker l’ensemble des services web sur un
seul serveur, dont le contenu est dupliqué et synchronisé sur plusieurs sites miroirs.
Des implémentations d’UDDI ont été réalisées, et on peut d’ores et déjà enregistrer
son entreprise et les services proposés sur UDDI. Cependant, on peut s’interroger sur
la réelle efficacité en matière de recherche d’une architecture aussi simple où la
17
Rapport AS « Web sémantique »
sémantique des données est inexistante et où la description des services se limite à des
mots-clés sur lesquels aucune approximation n’est possible. De plus, il n’est pas
certain que des serveurs uniques puissent supporter la charge du nombre de services à
venir.
3.3.2 WSDL
WSDL (Curbera et al., 2002) est un langage basé sur XML servant à décrire les
interfaces des services web, c’est-à-dire en représentant de manière abstraite les
opérations que les services peuvent réaliser, et cela indépendamment de
l’implémentation qui en a été faite. Il ne comporte pas de moyen de décrire de
manière plus abstraite les services (tâche plutôt dévolue à DAML-S ou à UDDI), ni de
moyen de conversation et de transaction de messages (tel que SOAP ou d’autres
implémentations spécifiques), mais est en général utilisé comme passerelle entre ces
représentations de haut niveau et de bas niveau.
Dans WSDL, les services sont définis à l’aide de “endpoints”. Les “endpoints”
sont des ensembles de ports, c’est-à-dire d’adresses sur le réseau associées à certains
protocoles et formats de données. Cela va permettre de fournir un cadre abstrait et
indépendant des implémentations pour les communications avec les services.
Il y a quatre types d’opérations de base définies dans WSDL : « sens-unique »,
« double-sens » requête-réponse, « double-sens » sollicitation-réponse, et « sens-
unique » de message de notification. Les messages et les opérations étant définis de
manière abstraite, ce qui permet de faire correspondre ces représentations avec des
langages plus abstraits (tel que DAML-S) ; de plus, la réutilisation en est simplifiée.
Les messages sont typés, mais on ne peut pas définir de contraintes logiques entre les
paramètres d’entrées/sorties au sein de WSDL.
3.3.3 DAML-S
DAML-S (Ankolenkar et al., 2002) est un langage de description de services basé
sur XML utilisant le modèle des logiques de descriptions (et plus précisément
DAML+OIL, voir plus haut). Son intérêt est qu’il est un langage de haut niveau pour
la description et l’invocation des services web dans lequel la sémantique est incluse,
contrairement par exemple à UDDI. DAML-S est composé de trois parties
principales :
- Service Profile, qui permet la description, la promotion et la découverte des
services, en décrivant non seulement les services fournis, mais également des
préconditions à la fourniture de ce service, comme « avoir une carte bleue
valide » ou « être membre d’un des pays de l’Union Européenne ». Les
recherches sur les services peuvent se faire en prenant n’importe quel élément
de Service Profile comme critère.
- Service Model, qui présente le fonctionnement du service en décrivant dans le
détail et de manière relativement abstraite les opérations à effectuer pour y
accéder. Certains éléments du Service Model peuvent être utilisés à la manière
du Service Profile afin de fournir des informations supplémentaires à un
utilisateur pour qui les opérations à effectuer seraient également un critère de
choix. C’est le Service Model qui va permettre une composition des services
si besoin est. Il permet également d’effectuer un contrôle poussé du
déroulement du service.
- Service Grounding va présenter clairement et dans le détail la manière
d’accéder à un service. Tout type abstrait déclaré dans le Service Model s’y
verra attribuer une manière non ambiguë d’échanger l’information. C’est
dans cette partie que le protocole et les formats des messages entre autres sont
spécifiés.
18
2 – Les langages du Web sémantique
Pour l’instant, DAML-S est un langage qui est encore en cours de spécification,
mais dont les grandes lignes sont déjà tracées. Un moyen de l’interfacer avec WSDL a
été proposé afin de pallier son absence de gestion d’échange de messages, ce qui
permettra par exemple d’utiliser SOAP pour échanger des messages XML. DAML-S
pourra alors être réservé à une description abstraite et sémantique des services,
permettant également d’exprimer des contraintes sur les paramètres et d’utiliser des
constructeurs (comme « si…alors…sinon… »).
DAML-S est une des seules solutions proposant une réelle sémantique des données,
et pas seulement des champs prédestinés par la structure des standards ou par des
« feuilles de styles » utilisées pour décrire les services ; de plus, son utilisation des
logiques de descriptions pour modéliser les services permet une grande puissance
d’expression, que ne possèdent pas les autres systèmes.
3.3.4 XL
XL (Florescu et al., 2003) est une plate-forme destinée aux services web, axée sur
XML, utilisant un langage propre de haut niveau (XL), et prenant en compte les
technologies du W3C (WSDL, SOAP) afin de permettre une interopérabilité des
applications XL avec d’autres applications écrites dans un langage autre que XL. Tout
service web est considéré comme une entité recevant des messages XML et
transmettant en retour des messages XML, avec (achat d’un livre) ou sans
(consultation de la météo) modification du monde. Les types de données utilisés sont
ceux de XQuery, développé lui aussi par le W3C, est dont est inspiré la syntaxe de XL.
La principale motivation de XL est de créer une plate-forme qui permette aux
programmeurs d’implémenter rapidement des services web en permettant une
réutilisabilité maximale. Le langage de requête est un langage déclaratif (à la manière
de SQL) et peut donc être optimisé de manière automatique. De plus, comme ce
langage est de haut niveau, il permet une composition facilitée des services. XL
intègre également une politique de sécurité basée sur J2EE (Java 2 Enterprise
Edition), et met l’accent sur le traitement des instructions en mode pipeline, afin
d’être plus réactif face à des sources XML importantes ou continues.
Cependant, même si XL permet de manipuler relativement facilement des services
web, il ne permet pas de les décrire autrement que par des entrées/sorties XML, et la
sémantique est absente, contrairement à DAML-S par exemple. Bien que ce système
soit encore en phase de spécification, un prototype de démonstration a été
implémenté.
3.3.5 XDD
XDD (XML Declarative Description) (Wuvongse et al., 2001) est un langage
capable de décrire toute la sémantique d’une ressource web en ajoutant un langage
déclaratif à la syntaxe d’XML.
Une description utilisant XDD est un ensemble d’éléments XML classiques,
d’éléments XML étendus à l’aide de variables, et de relations entre les éléments XML
sous forme de clauses. Un élément XML classique représente une unité sémantique et
peut se substituer à un objet (au sens large) du domaine d’application. Un élément
étendu, lui, permettra de représenter une information implicite ou un ensemble
d’unités sémantiques. Les clauses peuvent exprimer des règles, des relations
conditionnelles, des contraintes d’intégrité, et des axiomes ontologiques. Parmi les
axiomes importants manquants dans XML et RDF (Lassila & Swick, 1999) (Klyne &
Carroll, 2003) mais implémentés dans XDD, on peut relever la symétrie, la
composition, et la relation inverse.
19
Rapport AS « Web sémantique »
XDD peut également représenter tous les langages balisés basés sur XML, tels que
SDL ou ebXML. Il peut de plus représenter de manière simple toutes les applications
XML ayant des conventions standardisées portant sur la sémantique, la syntaxe et la
structure, pour un certain nombre de domaines spécifiques, tels que :
- WML (Wireless Markup Language);
- MathML (Mathematical Markup Language);
- RDF;
- XMI (XML Metadata Interchange Format, technologie recommandée par le
‘Object Management Group’ pour décrire des diagrammes UML en XML).
Une fois encodés en XDD, ces langages peuvent avoir leur propre sémantique
définie formellement. XDD permet dès lors la convergence entre la sémantique et la
syntaxe de ces langages, accentuant l’interopérabilité et le développement
indépendant des produits.
Le travail sur les langages du web sémantique n’en est qu’à son début. Ces
langages devront passer le crible des applications pour déterminer s’ils doivent être
amendés ou totalement abandonnés. En attendant, ils laissent derrière eux un certain
nombre de questions qui méritent de plus amples recherches afin de faciliter la
compréhension de ce que pourra être le web sémantique.
20
2 – Les langages du Web sémantique
21
Rapport AS « Web sémantique »
Enfin, puisque ces opérations sont destinées à être effectuées par des machines
(sans discernement), il est essentiel pour la crédibilité du web sémantique que l’on
puisse prouver la correction des transformations par rapport à leurs spécifications.
train Trajet-train
SI depart arrivee depart arrivee
compatible
depart
arrivee
ALORS Trajet-train
Ce type de règle a été étudié comme une extension des graphes conceptuels
simples, et les résultats obtenus sont immédiatement transférables à une extension de
RDF. Ces règles sont dotées d’une sémantique, qui correspond à des formules
logiques de la forme :
22
2 – Les langages du Web sémantique
x (P(x) ( y Q(x,y)))
où P(x) est une conjonction de formules atomiques dont les variables sont celles
apparaissant dans x, et Q(x,y) est une conjonction de formules atomiques dont les
variables sont celles apparaissant dans x et y. Notons que ces formules correspondent
aux TDGs (Tuple Generating Dependencies) en bases de données. L’utilisation de
telles règles génère un langage très expressif (puisqu’il s’agit d’un modèle de calcul),
et malheureusement indécidable. Des sous-ensembles décidables (et même NP-
complets) intéressants ont été exhibés. Il est à noter que l’expressivité d’un tel
langage de règles en ferait un bon candidat pour un métalangage permettant, par
exemple, de doter un langage de définition d’ontologies de nouveaux constructeurs,
en définissant de manière opérationnelle leur sémantique.
Ces travaux, comme d’ailleurs tous les travaux sur les langages, ne peuvent se faire
de manière isolée. Il est donc normal qu’ils soient poursuivis en liaison avec les
groupes de travail internationaux contribuant à faire avancer l’état de l’art. Par contre
un effort conséquent pourrait être produit par une communauté restreinte en ce qui
concerne les moteurs d’inférence et de transformation. Mais cela demande un
investissement important à moyen terme.
RÉFÉRENCES
ANKOLENKAR Anupriya, BURSTEIN Mark, HOBBS Jerry, LASSILA Ora, MARTIN David,
MCILRAITH Sheila, NARAYANAN Srini, PAOLUCCI Massimo, P AYNE Terry, SYCARA Katia
& Z ENG Honglei, Eds. (2002). DAML-S: semantic markup for web services. In CRUZ Isabel,
DECKER Stefan, E UZENAT Jérôme & M CGUINNESS Deborah, Eds. (2002), The emerging
semantic web, p 131-152. Amsterdam (NL): IOS press.
BAADER Franz, C ALVANESE Diego, MCGUINNESS Deborah, NARDI Daniele & P ATEL-
S CHNEIDER Peter, Eds. (2003). The description logic handbook. Cambridge (UK): Cambridge
university press.
BECKETT Dave, Ed. (2003). RDF/XML Syntax Specification (Revised). W3C Working Draft.
[Link]
BERNERS-LEE Tim, F IELDING Roy & M ASINTER Larry (1998). Uniform Resource Identifiers
(URI): Generic Syntax. Request for Comments 2396, IETF. [Link]
BIEZUNSKI Michel, B RYAN Martin & N EWCOMB Steven, Eds. (1999). ISO/IEC 13250:2000
Topic Maps: Information Technology — Document Description and Markup Languages.
[Link]
BRICKLEY Dan & GUHA Ramanathan, Eds. (1999). Resource description framework schema
specification. Proposed recommandation, W3C. [Link]
BRICKLEY Dan & G UHA Ramanathan, Eds. (2003). RDF Vocabulary description language 1.0:
RDF Schema. Working draft, W3C. [Link]
C HAMPIN Pierre-Antoine (2000). RDF tutorial. [Link]
C URBERA Francisco, D UFTLER Matthew, K HALAF Rania, N AGY William, M UKHI Nirmal &
WEERAWARANA Sanjiva (2002). Unraveling the web Services web: An Introduction to
SOAP, WSDL, and UDDI. IEEE Internet computing 6(2) p. 86-93.
DEAN Mike & S CHREIBER Guus Eds. (2003). OWL web Ontology Language: Reference. W3C
Working Draft. [Link]
EUZENAT Jérôme (2000). XML est-il le langage de représentation de connaissance de l’an 2000?
Actes 6e journées langages et modèles à objets, Mont-Saint-Hilaire (CA), p 59-74.
F LORESCU Daniela, GRUNHAGEN Andreas & K OSSMANN Donald (2003). XL: A Platform for
web Services, Conference on Innovative Data Systems Research (CIDR), Asilomar (CA US).
GARSHOL Lars Marius (2003). Living with Topic maps and RDF. Ontopia, Trondheim ( NO ).
[Link]
23
Rapport AS « Web sémantique »
GENESERETH Michael & FIKES Richard, Eds. (1992). Knowledge Interchange Format, Version 3.0
Reference Manual. Computer Science Department, Stanford University, Technical Report
Logic-92-1. [Link]
GINSBERG Matthew (1991). Knowledge interchange format: the KIF of death. AI magazine 12(3),
p. 57-63. [Link]
HAYES Patrick, Ed. (2003). RDF Semantics. W3C Working Draft. [Link]
KLYNE Graham & C ARROLL Jeremy, Eds. (2003). Resource Description Framework (RDF):
Concepts and Abstract Syntax. W3C Working Draft, 2003 [Link]
LASSILA Ora & S WICK Ralph, Eds. (1999). Resource Description Framework (RDF) Model and
syntax specification. Recommendation, W3C. [Link]
OMELAYENKO Borys & K LEIN Michel, Eds. (2003). Knowledge transformations for the semantic
web. Amsterdam (NL): IOS press.
P ATEL-SCHNEIDER Peter, HAYES Patrick & H ORROCKS Ian, Eds. (2003). OWL web Ontology
Language: Abstract Syntax and Semantics. W3C Working Draft. [Link]
semantics/
P EPPER Steve & M OORE Graham, Eds. (2001). XML Topic Maps (XTM) 1.0. [Link]
Specification. [Link]
VAN HARMELEN Frank, P ATEL-SCHNEIDER Peter & H ORROCKS Ian, Eds. (2001). Reference
description of the DAML+OIL ontology markup language. W3C.
[Link]
WORKFLOW MANAGEMENT COALITION (1999). Workflow Process Definition Language, version
11. WFMC-TC-1016. [Link]
P_v11_IF1_Process_definition_Interchange.pdf
WORKFLOW MANAGEMENT COALITION (2002). Workflow Process Definition Interface -- XML
Process Definition Language, version 1.0. WFMC-TC-1025.
[Link]
WUWONGSE Vilas, A NUTARIYA Chutiporn, AKAMA Kiyoshi & Nantajeewarawat E. (2001).
XML Declarative Description (XDD): A Language for the Semantic web. IEEE Intelligent
systems 16(3) p. 54-65.
24