TUTORIELS 
RDF et OWL pour donner du sens au Web

Page 1 | 2

Deux des principaux langages du futur "Web intelligent" ou "Semantique" : le Resource Description Framework et le Web Ontology Language.
 (22 mars 2004)
 
Forums
* Discutez en sur les forums
Un peu de concret
Tout cela reste encore très théorique : passons à des exemples, en commençant par RDF.

Nous allons par exemple représenter l'auteur de cet article en RDF. Découpons en plusieurs entités :

  • Notre article a un auteur.
  • Notre article est publié sur Journal du Net Développeurs
  • L'auteur est Xavier Borderie
  • Xavier Borderie est rédacteur.
  • Xavier Borderie travaille au Journal du Net Développeurs
  • Le Journal du Net Développeurs se trouve à l'adresse http://www.journaldunet.com/developpeur

Nous voyons bien la simplification en triplet sujet - verbe - complément. Utilisons maintenant une pseudo-syntaxe :

  • <article040322> <a pour auteur> <Xavier Borderie>
  • <article040322> <est publié par> <Journal Du Net Développeurs>
  • <Xavier Borderie> <est> <Rédacteur>
  • <Xavier Borderie> <travaille chez> <Journal Du Net Développeurs>
  • <Journal Du Net Développeurs> <a pour adresse web> "http://www.journaldunet.com/developpeur"

La syntaxe n'est pas standard, mais est celle généralement utilisée (elle se rapproche de la syntaxe n3, plus simple que RDF/XML mais que nous ne verrons pas ici). On se rend rapidement compte qu'il sera difficile de gérer les informations si tout le monde peut définir des "verbes" comme il le souhaite, aussi des initiatives ont été lancées pour créer une liste précise et exhaustive de verbes à utiliser au sein de RDF, comme Dublin Core ou plus récemment FOAF. Pour les usages internes, il est aussi possible de créer ses propres verbes, mais c'est a priori à éviter pour le Web Sémantique…

Un document RDF/XML est une suite de "nœuds" en rapport avec le sujet : <?xml version="1.0"?>
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc= "http://purl.org/dc/elements/1.1/">
  <rdf:Description rdf:about="http://www.journaldunet.com/developpeur">
    <dc:title>PHP, Java, XML... : Tutoriels JDNet Développeurs</dc:title>
    <dc:contributor>Xavier Borderie</dc:contributor>
</rdf:RDF>

Nous voyons ici que le propriété "contributor" de la ressource "http://www.journaldunet.com/developpeur" prend la valeur "Xavier Borderie", et sa propriété "title" prend la valeur "PHP, Java, XML... : Tutoriels JDNet Développeurs". Grâce à l'utilisation de l'espace de nom "dc:", nous pouvons utiliser les propriétés définie par le Dublin Core au sein de notre fichier… mais nous pourrions en utiliser d'autres pareillement. Nous en resterons là pour le moment. RDF-Schema (ou RDF-S) nous permet, tout comme XML-Schema, de définir des classes de documents RDF et de tester la valididité de ces documents par rapport au modèle qui constitue le schéma.

Venons-en à OWL, devant étendre RDF d'un niveau sémantique supplémentaire. Là où RDF nous laisse savoir qu'une information existe et ses propriétés, OWL nous permet de préciser si deux informations (ou "Classes") sont les mêmes, si les propriétés peuvent avoir plusieurs valeurs (plus d'un auteur pour un article, plus d'un site pour un auteur), quels sont les rapports entre deux classes, ou encore de savoir, lorsque l'on a deux triplets ("A est B" et "B est C"), s'il existe une relation de transitivité ("A est C") ou de symétrie ("B est A").
Les constructions du OWL Lite comprennent ainsi, entre autres, subClassOf, equivalentClass, sameAs, inverseOf, Individual…
OWL a pour tâche de donner du sens aux informations, et de rendre ce sens accessible aux machines, afin de construire le Web Sémantique.

Construire le Web Sémantique
Aujourd'hui, en tant que développeur Web, il n'y a pas beaucoup de possibilités de "participer au Web Sémantique", sinon en introduisant des balises de méta-données dans ses pages Web (les balises META permettent déjà d'assigner de nombreuses propriétés à une page).
Les ontologies permettront à terme de "marquer" les pages Web pour les rendre utiles aux machines, en utilisant un vocabulaire précis au sein de HEAD (donc invisible à l'utilisateur). Ces machines se serviront d"Agents, des programmes automatisés qui parcourront le Web afin de regrouper ces méta-données et ainsi de construire le Web Sémantique. Les "bots" des moteurs de recherche comme Google peuvent être vus comme des agents très simple, et (a priori) non sémantique.

Le Web Sémantique viendra petit à petit, et connaître RDF et OWL permettra de mieux s'y préparer. Nous y reviendrons donc.

Page 1 | 2

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page