Démystification #4: RDF et OWL, l’avenir technologique du web

posted on novembre 19th, 2007 ·

Chose promise, chose due, voici l’article de démystification des deux technologies web qui seront les pierres angulaires du web 3.0, rien que ça! Les technologies web se compliquent d’année en année pour fournir au final de nouveaux outils et une meilleur expérience utilisateur. XHTML, CSS, RSS et AJAX en sont les meilleurs exemples. Je vais cependant essayer de rendre accessible cet article aux néophytes en expliquant simplement ce que sont RDF et OWL. Pour bien aborder cet article je vous recommande de relire mon introduction au web sémantique. Il est également conseillé de savoir ce qu’est l’HTML et l’XML serait un plus 😉

RDF et OWL sont deux technologies complémentaires ayant des objectifs différents. Nous allons commencer par RDF, qui signifie Resource Description Framework. Un fichier RDF est un fichier XML contenant des informations structurées. Voici un exemple de fichier RDF contenant toutes les informations me concernant. Ce fichier contient également la liste des personnes que je connais. Mes amis sont identifiés par leur e-mail, mais ils pourraient tout aussi bien être identifiés par un lien vers leur fichier RDF perso. Je vous propose de faire une première pause sur ce fichier pour comprendre les possibilités liées à ce format. Tout d’abord on s’aperçoit que les balises utilisent un schéma RDF spécifique définit par le préfix FOAF. Exemple: <foaf:nom_de_la_balise>. Le nom de la balise n’a au final aucune importance s’il n’est pas lié à un schéma qui en définit le sens.

C’est là qu’OWL intervient. OWL signifie Web Ontology Language. Pour bien commencer voici la définition d’une ontologie sur wikipedia:

En informatique et en science de l’information, une ontologie est un ensemble structuré de concepts permettant de donner un sens aux informations. Elle est aussi un modèle de données qui représente un ensemble de concepts dans un domaine et les rapports entre ces concepts. Elle est employée pour raisonner au sujet des objets dans ce domaine.

Le fichier RDF n’est donc au final que le lieu de stockage de l’information. Le sens de chaque balise étant défini de façon externe dans un fichier OWL séparé. Je vous invite à jeter un oeil au fichier OWL définissant nos balises préfixées FOAF (si vous tombez sur une page blanche, utilisez le clic-droit pour afficher la source). Ce fichier définit de façon technique cette page, vous préférerez nettement lire cette dernière (même si en anglais). Ce fichier OWL définit de façon très précise les relations entre chaque objet et chaque propriété. Voici quelques exemples:

  • Une personne peut-elle avoir deux pères ? NON.
  • Une personne doit-elle avoir un pays ? OUI.
  • Un homme peut-il avoir deux femmes ? OUI si il vit en Gambie, NON si il est français.
  • Etc.

La description des objets est une chose, les lier en est une autre. RDF comme OWL héritent des fondamentaux des technologies du W3C. L’utilisation de l’XML comme support et l’utilisation des URIs (Uniform/Unique Resource Identifier) comme identifiant. Chaque objet ayant un identifiant unique il devient très facile de les lier les uns aux autres. Revenons à l’exemple de tout à l’heure avec le fichier RDF me décrivant. Imaginons que je rentre dans mon fichier RDF une balise qui décrit ma voiture. Je pourrais très bien ajouter un lien pointant sur le fichier RDF décrivant le model de ma voiture. Ce fichier pourrait se trouver sur le site internet du constructeur. Une fois que toutes ces informations sont liées nous sommes capables d’exécuter la requête suivante: « Quel est la taille de la voiture de l’auteur du blog nicolas.cynober.fr/blog/ ? ».

Je sais, cette requête ne sert à rien, mais imaginez les possibilités qui s’offrent à nous. Le Web se transforme alors en une gigantesque base de données ouverte ou chacun est libre de créer des données (RDF) et des ontologies (OWL) interconnectées. Voici quelques exemples d’ontologies:

  • FOAF (Friend-of-a-friend): Décrit une personne et ses connaissances.
  • RSS (RDF Site Summary): Décrit un flux d’information (Et oui vous utilisez déjà RDF sans le savoir).
  • DC (Dublin Core): Ontologie très généraliste.
  • Mais vous pouvez aussi trouver des ontologies décrivant toutes les espèces d’oiseaux ou les caractéristiques d’un médicament. N’importe qui peut créer et publier une ontologie.

Ou en sommes nous à l’heure actuelle ? A la différence de SVG et SMIL, RDF et OWL ne sont pas dépendant d’une technologie tierce (comme un browser), tout est déjà là. Les technologies sont matures et les premières applications commencent à naitre. Pour l’instant RDF et OWL sont principalement utilisés dans les domaines de haute technologie et tout particulièrement dans le monde des sciences médicales (recherches, médicaments, etc.). Les ontologies sont extrêmement appréciées dans les systèmes d’information ayant une logique métier complexe. Pour ce qui est du Web, les choses avancent plus doucement. Le web utilise majoritairement l’XHTML pour diffuser du contenu, même si aujourd’hui une partie de cette information est échangée avec d’autres formats comme RSS ou SOAP. Il y a donc deux possibilités d’utilisation pour RDF. La première est la création de fichiers RDFs complémentaires aux pages webs ou alors d’embarquer directement RDF dans les pages XHTML, on parle alors d’RDFa (ambed RDF), standardisé il y a peu par le W3C. Dans tous les cas les fichiers OWL restent indépendants. Voici quelques sites utilisant RDF et qu’il faudra suivre de près: Freebase (sorte de wikipedia sémantisé), Powerset (moteur de recherche), TrueKnowledge (moteur de recherche) et bien sûre Twine (sémantisation de vos données personnelles).

Voila, je pense que ca suffit pour le moment et que vous entrevoyez l’objectif de ces technologies. Je ne suis pas vraiment rentré dans les détails et j’ai essayé de garder ça le plus simple possible, quitte à froisser les fanatiques du web sémantique. Le web 2.0 était principalement une révolution au niveau des usages, le web 3.0 reposera sur des avancées technologiques. Le web sémantique n’est certes qu’une des facettes du web 3.0, une facette cachée aux utilisateurs, mais qui au final sera ressentie de tous. La propagation du web sémantique se heurte à un environnement encore très systémique, la libération viendra-t-elle d’une première killer-application ? Qui a dit Twine ?

→ 5 CommentsCatégories: Démystification · FOAF · OWL · RDF · RDFa · Twine · W3C · Web 2.0 · Web 3.0 · Web Sémantique

Démystification #3: SVG et SMIL, la mort de flash?

posted on novembre 13th, 2007 ·

Voici la présentation de deux technologies du W3C qui devraient signer l’arrêt de mort de Flash, et des technologies propriétaires du même type.

Tout d’abord pourquoi remplacer Flash ? Car, comme le dit Mike, Flash pue. Cet article et ses 327 commentaires résument très bien les principaux problèmes liés à cette technologie. Le premier problème est lié à un format propriétaire et opaque. SWF, le format de fichier d’une application flash, n’est pas compréhensible par une machine, c’est à dire que la machine ne comprend pas le sens des données présentes dans le fichier. A la différence des formats comme l’XML et l’XHTML qui sont complètement ouverts. Cette opacité implique deux problèmes majeurs dans le web. Le premier est l’impossibilité de référencer une application Flash en fonction de son contenu (puisque que Google ne comprend pas le contenu du fichier SWF). Le deuxième est l’accessibilité de ces applications qui tombe à zéro (puisque les logiciels pour handicapés ne comprenne pas ce même contenu). Heureusement le W3C standardise depuis quelques temps maintenant des solutions pérennes de substitution. SVG pour ce qui est des animations vectorielles et SMIL pour la manipulation et la synchronisation de contenus multi-médias.

SVG est une des technologies actuellement développées au sein du W3C. Comme la majorité de ces technologies, SVG est un langage ouvert basé sur l’XML. L’XML vous connaissez ? C’est ces balises du type <a href= » »>…</a>. D’ailleurs l’HTML est aussi un dérivé de l’XML, on l’appelle alors l’XHTML. Comme SVG est un langage ouvert il n’est pas sujet aux mêmes problèmes que Flash que je citais plus haut. Mais ces avantages sont bien plus importants. Comme l’HTML et SVG utilisent la même base il est très facile de transformer une page HTML en une animation SVG. Voici une petite application que j’ai réalisée, elle utilise 3 fichiers:

  • Un fichier XML qui contient une liste de livres (ces livres pourraient être aussi bien contenu dans un tableau HTML).
  • Un fichier XML contenant un descriptif de ma bibliothèque (avec la taille des étagères).
  • Un fichier XSLT qui va générer le fichier SVG représentant le rangement des livres.

La démo est visible ici (clic-droit, enregistrez sous), chez moi elle ne tourne que sur Internet Explorer avec SVG Viewer et en local, je veux bien votre feedback. Alors, que manque-t-il à SVG pour devenir un standard comme XHTML et RSS ?

  • Un IDE aussi puissant que Flash CS3.
  • Plus de sites internet utilisant SVG (comme le fait déjà Wikipedia).
  • Plus d’outils aussi géniaux que VectorMagic.

SMIL est une autre technologie complémentaire, elle aussi se base sur XML. SMIL, prononcer « smile », permet de créer très facilement du contenu syncronisé mélangeant différents médias comme de la vidéo, de l’HTML et des animations SVG. Le plus gros problème de SMIL est qu’il est toujours en gestation au sein du W3C et pour l’instant aucun navigateur de l’a encore implémenté. Firefox attend la version 3.0 de SMIL qui devrait être standardisée courant 2008. Cependant SMIL est déjà très utilisé dans les cercles proches du W3C. Voici une présentation du web sémantique utilisant SMIL. Vous pouvez la lire avec real player (le seul lecteur « réputé » ayant implémenté SMIL). Et voici la source du fichier (XML). Je vous conseil de vous donner la peine de regarder cette vidéo, très intéressante au niveau du contenu et de la forme.

On reproche souvent au W3C son inactivité et son manque de réaction. Je suis d’accord sur le second point, le W3C ne répond pas immédiatement aux besoins du Web mais réfléchit et conçoit les technologies de demain, peut on parler de technologies éthiques? Tiens, citons quelques technologies réalisées par le W3C et généralisées sur le web: HTML, XML, CSS, RSS, PNG (qui remplace le GIF).

→ 11 CommentsCatégories: Accessibilité · Démystification · Flash · SMIL · SVG · Vidéo · W3C

La première vidéo de Twine

posted on novembre 12th, 2007 ·

Pour ceux qui n’ont pas lu cet article et celui ci, Twine est un service web vous aidant à manager vos informations ou les informations appartenant à un groupe. Tout ce que vous stockez et marquez dans Twine est analysé et enrichi avec les technologies du web sémantique. Voici ce qu’on apprend de nouveau dans cette vidéo:

  • Twine est un service web multi-plateforme. On voit sur la vidéo l’utilisation d’un plugin Firefox qui va faciliter l’intégration de données sur Twine. Il y a de très fortes chances que Twine propose également un client lourd (programme à installer sur votre machine) pour faciliter la mise en ligne de vos documents (word, excel, etc.).
  • Le service permet de lier très facilement des pages webs et du contenu à votre Twine (un Twine est le nom donné à un espace perso ou à celui d’un groupe). Twine attaque ici de front del.icio.us.
  • Dès que vous créez de l’information, sur votre disque dur, sur le web ou sur un e-mail, Twine vous propose de sémantiser cette information, de l’enrichir et de la lier à d’autres informations présente sur votre Twine perso ou sur un autre Twine. Je trouve géniale le fait de rajouter Twine en champ « Cc » dans vos e-mails. Tous vos e-mail vont se retrouver sémantisé dans votre Twine. Y’a-t-il un moyen de mettre Twine par défaut dans le champ « Cc » de Gmail ? Bientôt j’espère …

Un bref petit mot sur TrueKnowledge, nouvelle startup du web sémantique, spécialisée dans la recherche et donc concurrent de PowerSet. Je suis actuellement sur la beta de PowerSet et je suis un peu dessus pour l’instant, est ce que TrueKnowledge peut faire mieux ?

→ 2 CommentsCatégories: Twine · Vidéo · Web 3.0 · Web Sémantique