Bien qu’elle ait été lancée par le W3C dés 1998, l’initiative du Web sémantique[Voir l'[activité du Web Sémantique au W3C.]] reste encore aujourd’hui marginale face aux problématiques courantes du Web, comme par exemple la publication de contenu. Pourtant, le WS est déjà riche de nombreux langages et outils qui peuvent trouver leur place au sein de l’entreprise, et améliorer la manière dont celle-ci traite, organise et publie ses données.
Web « sémantique » ?
Le terme de web sémantique, rencontré de manière assez courante dans le domaine de l’informatique du Web, recouvre des concepts encore flous pour de nombreuses personnes. Pour comprendre ce qu’est le Web sémantique, il faut avant comprendre ce qu’est le Web « traditionnel », aujourd’hui : un espace universel d’échange d’informations, consultables par tout internaute. L’objectif du Web sémantique est, tout simplement, d’apporter la sémantique formelle nécessaire pour que des machines, elles aussi, puissent consulter et interprêter les informations présentées sur le Web.
Dans un entretien accordé au Courier de L’UNESCO en 2000, le créateur du Web, Tim Berners Lee, expliquait simplement : J’ai un double rêve pour le Web. D’une part, je le vois devenir un moyen très puissant de coopération entre les êtres humains. Et dans un second temps, j’aimerais que ce soit les ordinateurs qui coopèrent. …] Quand mon rêve sera réalisé, le Web sera un univers où la fantaisie de l’être humain et la logique de la machine pourront coexister pour former un mélange idéal et puissant.
. Voici qui résume parfaitement la finalité du Web sémantique : rendre l’information disponible sur Internet accessible aux machines, en la structurant et en la qualifiant.
Un panel d’outils variés structurent le Web sémantique
XML, [RDF et OWL constituent les trois couches de base du Web Sémantique : XML est le support de sérialisation[[RDF et OWL ne sont, conceptuellement, que des représentations d’informations sous forme de graphe. On parle de sérialisation pour désigner la manière d’écrire sous forme de fichiers XML des graphes RDF]] sur lequel s’appuient RDF et OWL pour définir des structures de données et les relations logiques qui les lient. Concrètement, cela signifie qu’on peut exprimer et structurer des concepts complexes à l’aide de RDF et OWL, là où jusqu’à présent on avait recours aux bases de données relationnelles. RDF et OWL sont en effet deux langages XML, conçus spécialement pour l’énonciation de faits atomiques. Par exemple, l’expression du fait « Paris est en France » se fait par le biais de l’écriture d’un triplet RDF, que l’on peut représenter sous la forme d’un graphe sujet-prédicat-objet :
La sérialisation en RDF-XML de l’assertion « Paris est située en France » pourrait s’écrire de la manière suivante :
<rdf:Description about="#paris">
<schema:pays>France</schema:pays>
</rdf:Description>
OWL permet d’ajouter à cette assertion des contraintes logiques qualifiantes ; par exemple, le fait que le sujet associé au prédicat « est_situé_en » doit être une ville, et son objet un pays.
Par l’expression de nombreux faits simples tels que le triplet écrit ci-dessus, il est possible de décrire des ensembles d’informations très variés : les relations entre des individus, les produits d’un catalogue, des recettes de cuisine, etc. Reliés les uns aux autres, les différents triplets forment alors un graphe RDF, qui représente de manière extensible les informations d’un domaine donné de connaissance, et avec un niveau de précision optimisable à volonté. Il peut, par exemple, être intéressant de définir ensuite ce qu’est une ville (« une ville est une entité administrative », « une ville a un certain nombre d’habitants », etc), ou même de relier le concept de ville défini dans notre ontologie au même concept, mais décrit dans une autre ontologie déja existante.
En OWL, une manière simple de décrire le fait que la ville « Paris » se trouve dans le pays « France » pourrait être :
< !-- définition des classes "ville" et "pays" -->
<owl:Class rdf:ID="Ville" />
<owl:Class rdf:ID="Pays" />
< !-- définition de la propriété « se_trouve_en » -->
<owl:ObjectProperty rdf:ID="seTrouveEn">
<rdfs:domain rdf:resource="#Ville" />
<rdfs:range rdf:resource="#Pays" />
</owl:ObjectProperty>
< !-- création de "France" -->
<Pays rdf:ID="France">
<nomPays>France</nomPays>
</Pays>
< !-- création de "Paris", qui se trouve en France -->
<Ville rdf:ID="Paris">
<nomVille>Paris</nomVille>
<seTrouveEn rdf:resource="#France" />
</Ville>
Formaliser et organiser ses données
Même s’il est encore rare, l’emploi de langages du Web Sémantique au sein d’un site internet est d’autant plus pertinent que les données concernées sont de nature structurantes ou descriptives. Un bon exemple concerne les systèmes de tags[[Un tag est un mot-clé que l’on associe à une ressource donnée afin de la classifier ou la caractériser. Par exemple une photo de la Tour Eiffel pourra porter les tags « Tour », « Eiffel », « Paris », « monument ».]] présents sur les weblogs et dans diverses applications, comme par exemple le site de partage de photos numériques Flickr ou la plateforme de marque-pages collaborative Blogmarks, qui pourraient tout à fait être déclinés sous formes d’ontologies OWL. Un tel système permettrait de définir sans ambiguïté les notions utilisées pour taguer des ressources et, en allant plus loin, on pourrait même imaginer que les applications de tags reposent entièrement sur des ontologies, délaissant le modèle établi du recours aux bases de données relationnelles.
A l’inverse, on peut également s’interroger sur la pertinence du « tout sémantique » : s’il est douteux de faire un appel à outrance aux SGBD, certaines utilisations des outils du Web Sémantique ne sont pas adaptées. C’est notamment le cas du stockage de longs textes, ou de tout autre type de données non structurées.
Accéder aux données contenues dans un dépôt sémantique
RDF et OWL peuvent donc tout à fait servir de dépôts d’informations, par exemple au sujet de la structure d’un site internet, de ses rubriques, des tags qui y sont employés, des rédacteurs, des produits qui y sont proposés, etc. Reste encore à pouvoir manipuler avec aisance ces informations écrites sous formes de graphes RDF. C’est le rôle joué par SPARQL, dont l’objectif est de fournir un protocole et un langage de requêtes similaire à SQL, mais adapté à RDF. Bien qu’encore au stade de Candidate Recommandation, SPARQL fait déjà l’objet de nombreuses implémentations. Certaines comme ARQ [Voir la [page du projet Jena et la partie consacrée à ARQ.]], un processeur SPARQL pour Jena (Java), ou encore RAP « RDF API for PHP », sont très complètes et d’ores et déjà utilisables. Avec RAP, l’accès aux informations décrites dans une ontologie peut se faire de différentes manières ; depuis janvier 2006, une interface SPARQL est disponible. La portion de code suivante, par exemple, permet de lister les noms présents dans un annuaire vcard-rdf :
$data = ModelFactory ::getDefaultModel() ;
$data->load("./people.rdf") ;
$querystring = '
PREFIX vcard : <http://www.w3.org/2001/vcard-rdf/3.0#>
SELECT ?fullName
WHERE <em>?x vcard:FN ?fullName </em>' ;
$result = $data->sparqlQuery($querystring) ;
foreach ( $result as $line )
<em>$name = $line<a href="toString()."<br />" ;
</em>
else
<em>echo "unbound<br />" ;
</em>
}
D’autres langages de type SQL, comme RQL ou eRQL, ont également fait l’objet de développements, et sont généralement supportés par les gros frameworks sémantiques tels [Sesame->http://www.openrdf.org/ »>’?fullName’] ;
if ( $value != « » )
echo $value et Jena.
Sémantique, c’est bien, mais pourquoi ?
On peut cependant s’interroger sur l’intérêt de telles méthodes, alors que « la solution à base de SGBD fonctionne très bien ». Les réponses sont multiples, à commencer par l’extensibilité et la facilité de partage des sources de données RDF.
Prenons l’exemple d’une agence de voyages qui propose des séjours vers différentes régions du globe. Avec RDF et SPARQL, cette agence pourrait lier l’ontologie représentant son catalogue à d’autres ontologies libres, situées ailleurs sur internet, et décrivant les différentes destinations. Les possibilités sont multiples, les données disponibles sur Internet sous forme d’ontologies ne formant plus qu’une immense et unique base de données, comme l’explique Tim Berners Lee dans « Weaving the Web » : RDF, schema, and inference languages will make all the data in the world look like one huge database.
[Lire [« Weaving the Web », de Tim Berners Lee.]]
Par ailleurs, à l’opposé des bases de données relationnelles qui stockent les informations de manière binaire, des fichiers RDF sont directement lisibles et, surtout, peuvent profiter de tout l’écosystème logiciel XML existant. Édition, transformations, travaux d’inférence[Une inférence est un processus de raisonnement qui s’appuie sur des connaissances acquises, et qui s’articule autour de règles fondamentales pour permettre d’obtenir de nouvelles informations. Pour simplifier, on peut considérer que l’inférence est un mode de raisonnement.]] et d’enrichissement sont ainsi possibles avec peu d’efforts, en s’affranchissant des problématiques de transfert de bases, de corruption de données ou de formats de bases incompatibles.
Un écosystème logiciel encore jeune
Malgré les gros efforts menés autour du Web Sémantique par les milieux universitaires et les centres de recherche, la sphère logicielle professionnelle reste encore assez restreinte. Certains éditeurs, spécialisés dans la manipulation de thésaurus et de bases de connaissances, se sont lancés sur le créneau, mais leurs solutions sont encore marginales, et paradoxalement peu orientées Web. Les applications les plus abouties, pour l’instant, concernent surtout la construction et la maintenance des ontologies, rôle qu’assument parfaitement [Protégé ou Mondeca. Cela s’explique sans doute par la jeunesse des recommandations, et notamment de SPARQL, clé de voute de tout développement {end-user concernant le Web Sémanique.
Le web sémantique sur votre site, pas à pas
Le formalisme introduit par RDF, OWL et les autres langages du Web sémantique permet sans doute de mieux structurer les données présentées sur le Web, mais produire des graphes RDF pour représenter des données diverses et variées n’est pas encore rentré dans les habitudes. Outre le manque d’outils réellement matures pour tous les publics, adopter une démarche sémantique dans l’organisation et la présentation de ses données nécessite des changements assez importants dans la gestion des flux informationnels, ce qui est rarement simple à mettre en œuvre. Ouvrir son système d’informations au Sémantique devrait donc se faire par étapes, en profitant par exemple de l’existence de langages tels les microformats pour amorcer la transition.
Les microformats sont des ensembles de conventions permettant d’ajouter des notions sémantiques aux documents HTML, tout en évitant le recours à de nouveaux langages. Evidemment, leur puissance est donc très limitée par rapport au couple RDF/SPARQL, et se limite bien souvent à un domaine donné. Par exemple, XFN[Voir [http://gmpg.org/xfn/.]], même s’il soulève quelques critiques, permet d’exprimer des relations simples entre individus. [rel-tag->http://microformats.org/wiki/rel-tag], pour sa part, fournit un moyen rapide d’attacher des tags à un document.
Le niveau d’expression des microformats reste, cependant, un ton en dessous de celui de RDF. Si RDF et OWL ont pour objectif de rendre le Web intelligible aux machines, les microformats, eux, sont avant tout destinés aux humains, et peinent donc à lever les ambiguïtés qui persistent sur le Web. Il est par exemple difficile, avec rel-tag, de partager un même tag entre divers sites Web, ou même de décrire l’équivalence de deux tags.
Des enjeux stratégiques naissants
Au final, le Web Sémantique semble sans doute d’un interêt encore limité pour les petites organisations qui ne manipulent qu’une quantité très limitée de données privées. Mais, pour les structures amenées à manipuler des données diverses, ou pour celles qui souhaitent partager leurs données, le Web sémantique soulève à coup sûr des enjeux stratégiques majeurs et immédiats : celui de pouvoir lier les informations les unes aux autres, pour créer de la nouvelle information, celui de créer plus simplement des services intégrés à destination des internautes, et surtout celui d’enfin disposer d’une représentation pérenne et extensible des informations. Les possibilités offertes par le Web Sémantique sont encore loin d’être exploitées à leur plein potentiel et, même si l’écosystème logiciel professionnel du WS demeure restreint, il y a fort à parier que le recours à RDF, OWL et SPARQL s’accentuera avec la maturation de ces différents outils.
Francois Martinier
27 janvier 2008
Je voulais juste vous remercier pour cette explication très simple. Je cherchais depuis quelques temps une réponse à « Que m’apporte Semantic Web par rapport à une DB ? » sans avoir aucune réponse sur différents forums. Ce problème est réel car beaucoup utilise le SW comme une XML database sans valeur ajoutée.
En tout cas, merci
CHARFI Sofien
28 mars 2008
Bonjour merci pour cette explication. Mais je pense maintenant l’utlisation des ontologies dans les entreprises n’est pas encore tres utulisé.Je pense c l’avenir pour le partage d’information et avec l’utilisaion de l’internet des objets
sidi
21 avril 2008
merci pour ces explications, je pense que pas mal d’entreprises ont commencé à s’interessé a ce domaine
fatma
4 février 2009
au fait je suis sur un projet dans une entreprise dans un cadre d’élaboration de plateforme d’indexation en utilisant le web sémantique.la question qui se pose est ce qu’on peut faire le lien entre le relationnel et web sémantiques?est ce que les réponses aux requêtes sont fiables?
ozone
7 février 2009
bonjour fatma,
en fait la lecture des triplets rdf se fait par le biais de SPARQL, mais on peut aussi utiliser en parallele MySQL il me semble?
Pascal
13 mai 2009
Ozone > en fait il n’y a pas trop d’intêret à utiliser SQL pour faire des requêtes étant donné que SPARQL est un langage de requête plus poussé (notamment pour toutes les requêtes SQL compliquées, avec jointure par exemple, ou même parfois impossibles).
Ce que tu voulais peut-être dire, c’est qu’il y a des triple-sorte (i.e des bases de données de triples, c’est à dire qui stockent le contenu des RDFs) qui sont basés sur Mysql, mais aussi PostgreSQL, Oracle … Bien que le stockage en base de données n’est pas obligatoire, c’est parfois (je pense) plus performant.
one place
15 mars 2012
retrouvez tous les acteurs du WEB 3.0 sur le TIME2MARKET, le salon du Mkt 3.0 et de l’hypermkt.
http://www.time2market.fr
salonT2M@one-place.fr