The Ticle project is going on. It tries to add semantic abilities to Plone. But do the Ticle guys realize that they are kind of reinventing RDF ? or is it just me ? Wouldn’t they better rely on an existing RDF implementation as the ROPE project is trying to do on a lower layer (trying to equip Zope instead of Plone) ? I’m confused… and impatient to see a semantic Plone (or even Zope) in action ! Anyway, keep on the enthusiastic work guys !
Archives pour la catégorie Web sémantique
Semantic aggregator based on cache management
Here is the latest item for my wishlist for next Christmas presents : I would like to get a semantic aggregator based on cache management.
Usages des technologies du web sémantique
L’éditeur Intellidimension (dont on peut regretter que les très intéressants produits constituent une offre tellement fermée qu’elle ambitionne de remplacer les environnements d’exécution du type PHP), présente un rapide panorama des principaux usages des technologies du Web Sémantique : l’intégration de l’information d’entreprise (EII), les portails d’information d’entreprise (EIP), la GED, la business intelligence, la syndication de contenus, l’agrégation d’actualités, les carnets Web, les outils de Personal Information Management.
Communauté francophone du Web Sémantique
La communauté francophone du Web Sémantique, c’est sur http://websemantique.org/. Enfin, il paraît ! On y retrouve en tout cas Charles Nepote (et son grandiose prototype de wiki sémantique), Karl Dubost (du grandissime W3C), Eric van der Vlist (du fameux xmlfr.org). Faudra que j’y fasse un tour un de ces quatre pour voir ce qui s’y dit.
Le plan du métro des méta-données
Vous évoluez parmi les méta-données et autres normes RDFisantes ? Vous vous y perdez ? Mais avez-vous pensé à prendre avec vous le plan du métro ? Descendez-donc à la prochaine station du réseau MetroMeta, consultez-y le plan puis reprenez la ligne du web sémantique.
Ontology Works
« Ontology Works » fait partie de ces quelques éditeurs de logiciels pionniers dans l’intégration sémantique de données. Cette société commercialise une boîte à outils composée de :
- un environnement intégré de développement d’ontologies
- un « fédérateur » dont la fonction est de router des requêtes vers les différentes bases de données intégrées dans le dispositif, à la manière d’un « bus de connaissances »
- un système de base de données dit « déductif » (et non relationnel) privilégiant la flexibilité et le support des natifs des ontologies à la performance
- un générateur de schémas de données pour bases relationnelles de manière à rigidifier sous une forme performante (relationnel) un modèle de donnée incarnant des ontologies et donc accessible facilement depuis le « bus de connaissances »
- un « médiateur » rendant une base relationnelle existante accessible depuis le fédérateur de requêtes (bus)
Cette boîte à outils est un étrange mélange entre d’une part des outils ressemblant aux modélisateurs et générateurs de code à la Rational Rose et d’autre part des composants rappelant les moteurs de jointure et connecteurs des méta-annuaires.
Je regrette qu’il ne s’agisse que d’une boîte à outils « pour l’entreprise » qui suppose notamment que l’entreprise utilisatrice hiérarchise ses ontologies comme autant d’extensions locales d’une ontologie globale. Le dispositif n’est pas apparemment pas conçu pour faciliter le traitement des incohérences ou des contradictions entre ontologies. Par ailleurs, Ontology Works semble faire un usage abusif du terme « OWL ». Chez eux, OWL désigne un « Ontology Works Language » qui n’a peut-être rien à voir avec le « Ontology Web Language » du W3C. De plus, l’offre de cette société semble s’ancrer directement sur XML, sans passer par la case RDF. Ceci explique-t-il cela ?
Pour en savoir plus sur l’offre d’Ontology Works et les concepts tels que le « bus de connaissances », l’intégration sémantique de données, les caractéristiques des bases de données déductives et le rôle de la gestion d’ontologies dans l’entreprise, la foire aux questions de cette société se révèle une source d’information très didactique.
Semantic Wiki
This is an attempt to translate this other post into English
Charles Nepote, as he notified me, builta prototype of a wiki engine based on some of the semantic web technologies and providing some somewhat « semantic » features. I appreciated this prototype a lot. It lets me imagine how the wiki of the future would look like. Here are some pieces of a dream on this topic. The wikis of tomorrow would…
- …provide the semantic features of Charles Nepote’s prototype : complying to the REST style, one URL for every page, publishing both HTML and RDF representations of this page (it would be better to provide RDF within XHTML rather than beside, would’n it ?)
- … be Blikis (also known as Wikilogs) with pingback and/or trackback and so on
- …implement syndication of recent changes ; therefore they should produce distinct URLs for every update (every « diff » : as an example with URL like http://www.monsite.toto/2004/01/01/12/WikiPage for the 12th modification of the WikiPage, on 1st January 2004, whereas the URL of the WikiPage still remains http://www.monsite.toto/WikiPage).
- …« wikify » remote semantic data ; thus the page http://www.monsite.toto/DcTitle would contain a RDF statement (an OWL one ?) that would mean that this URL is the equivalent to the dc:title property of the Dublin Core
- …allow users to easily produce metadata with the help of an extension of the Wiki syntax ; as an example, when a WikiPage contains the statement « DcKeywords::MyKeyword », the wiki engine automatically adds the RDF triplet with subject being the page itself (its URL), predicate being the URL of the « keywords » property as defined by the Dublin Core and object being the URL http://www.monsite.toto/MyKeyword.
- …have search engine allowing users to explore the Wiki with a navigation mode similar to sourceforge’s Trove Map based on the semantic data published by the Wiki ; as an example, the user will be able to display all the pages that are related to MyKeyword and are written in French (because they contain the RDF statements equivalent to the following explicit statement made by users within the page : DcKeyword::MyKeyword and IsWritten::InFrench)
- …have search engines allowing users to save their queries and explorations as agents (with their own WikiNames) so that other users can browse the same path of exploration as the user who defined the agent
I implemented these two last features as a draft of micro-application pompously called RDFNavigator for Zope, and base don the RDFGrabber product. It is very drafty so it is very incomplete, not documented, instable (because RDFGrabber is not particularly stable itself in my environement), so it may be difficult to make it run. Nevertheless, if someone dares trying it, I am eager to hear comments and critics ! :) By the way, I hope some day to make a more honorable product based on the integration of rdflib into Zope, i.e. based on Rope unless the Ticle project quickly provides a similar result within Plone.
Wiki Sémantique
Charles Nepote, ainsi qu’il me l’avait signalé, a réalisé un prototype de moteur de moteur de Wiki s’appuyant sur certaines des technologies du Web Sémantique et donc implémentant certaines fonctionnalités à caractère « sémantiques ». J’ai trouvé ce prototype particulièrement intéressant. Il me laisse entrevoir ce que pourraient être les wiki du futur. Voici quelques tranches de rêves à ce sujet. Les wiki du futur…
- …auront les fonctionnalités sémantiques du prototype de Charles Nepote : conformément au style REST, une URL pour chaque page associant représentation HTML et représentation RDF (il serait d’ailleurs préférable d’avoir le RDF dans du XHTML plutôt que à côté, dans une autre URL, non ?)
- … seront des Blikis (également appelés Wikilogs) avec pingback et/ou trackback et tout le tintouin
- …implémenteront la syndication des changements récents et, pour cela, produiront des URL distinctes pour chaque mise à jour de page (chaque « diff » : par exemple avec des URL du type http://www.monsite.toto/2004/01/01/12/WikiPage pour la douzième modification de la WikiPage, le premier janvier 2004, alors que l’URL de la WikiPage reste http://www.monsite.toto/WikiPage).
- …permettront de « wikifier » des données sémantiques distantes ; ainsi la page http://www.monsite.toto/DcTitle contiendra une donnée RDF (ou plutôt OWL ?) qui dira que cette URL est équivalente à celle de la propriété dc:title du Dublin Core
- …permettront aux utilisateurs de produire simplement des méta-données grâce à une extension de la syntaxe Wiki ; par exemple, lorsqu’une WikiPage contiendra la phrase « DcKeywords::MonMotClef », le moteur wiki lui ajoutera automatiquement le triplet RDF ayant pour sujet la page elle-même (son URL), pour prédicat l’URL de la propriété keywords définie par le dublin core et pour objet l’URL http://www.monsite.toto/MonMotClef.
- …disposeront de moteurs de recherche internes permettant de les explorer avec le même mode de navigation que la Trove Map de sourceforge rien qu’en s’appuyant sur les donnéees sémantiques produites par le Wiki ; par exemple, l’utilisateur pourra afficher toutes les pages relatives à MonMotClef en ajoutant un filtre de manière à ce que n’apparaissent que les pages qui sont écrites en français (car elles contiennent quelque chose du genre IsWritten::InFrench)
- …disposeront de moteurs de recherche permettant à l’utilisateur d’enregistrer l’une de ses requêtes sous la forme d’un agent ayant son propre WikiName de manière à ce que d’autres utilisateurs puissent parcourir le même chemin d’exploration que l’utilisateur ayant défini l’agent
J’ai implémenté ces deux dernières fonctionnalités sous la forme d’un brouillon de micro-application pompeusement intitulé RDFNavigator pour l’environnement Zope, en me basant sur le produit RDFGrabber. C’est très brouillonesque donc très incomplet, non documenté, instable (car RDFGrabber n’est pas lui-même exemplaire en la matière) et donc difficile à faire tourner. Mais bon, si quelqu’un a le courage d’essayer, je suis friand de commentaires et critiques ! :) Par ailleurs, j’ai l’espoir un jour d’en faire un produit plus honorable en me basant sur l’intégration de rdflib dans Zope, c’est-à-dire sur Rope à moins que le projet Ticle ne fournisse rapidement un résultat similaire sous Plone.
RSS number One
L’article le plus apprécié de toute l’année, parmi les publications de O’Reilly, est celui qui présente le format de syndication RSS 1.0, conforme à RDF et extensible.
Information Architecture
Le concept d’EIA (Enterprise Information Architecture, à ne pas confondre avec EAI = Enterprise Application Integration) est un concept marketing qui désigne un ensemble d’activités informatiques prenant une importante croissante dans l’entreprise : la mise en place de référentiels de données communs à l’ensemble des fonctions, entités, divisions et systèmes d’une même entreprise. Ce concept s’applique dans le cadre de projets liés aux technologies de méta-annuaires (pour constituer et faire vivre des référentiels d’identités de personnes et/ou de structures), aux technologies d’EAI (pour intégrer des systèmes applicatifs transactionnels les uns aux autres, tels qu’un système de prise de commande et un système de pilotage de la production ou de gestion des stocks), et aux technologies de datawarehouse (pour regrouper en un même lieu et sous une forme cohérente les données produites par tous les systèmes informatiques de l’entreprise de manière à produire des tableaux de bord par exemple).
Avec l’émergence des technologies du Web Sémantique, ce concept d’EIA se décline en SIA, comme Semantic Information Architecture. Cet article explique en quoi une activité de SIA permet, par une meilleure compréhension des données de l’entreprise, de créer de la valeur pour celle-ci.
rdflib and ROPE
I just blog this Bob DuCharme article so that I can remember where practical information about rdflib can be read.
By the way, I have tested the very pre-pre-release of Reinout’s ROPE (see ROPE = Rdflib + zOPE). And I could install it on a Zope 2.7.0b3 fresh install. It was quite easy to install it. But, as Reinout said, it is still a very early release and, as you can see on the attached screenshot, there is much work to be done before it is really usable. This screenshot is just a hint for Reinout : if you add several namespaces into a rdfstore (shouldn’t you name it a « rope » ?), they end up displayed one next to another instead of being options of the same HTML select widget. Anyway, I am looking forward further releases of Rope.
Produit pour la gestion sémantique de contenu
La société Voquette offre une technologie nommée SCORE, qui prétend faciliter la gestion sémantique de contenu. Cette publication auprès de l’IEEE présente leur vision du web sémantique.
Les activités commerciales que Voquette identifie dans le domaine du Web Sémantique portent sur le développement de taxonomie ou d’ontologies ainsi que de standards de méta-données pour l’entreprise, l’organisation de contenus selon ces taxonomies, l’annotation de contenu avec ces méta-données, l’analyse de contenu à la recherche de « motifs » (patterns), le « data mining » pour identifier les relations implicites entre des données provenant de sources différentes. Les principales applications actuelles du Web Sémantique concernent la recherche et la personnalisation, l’organisation du contenu et des portails d’entreprise, la syndication de contenus. Les technologies du Web Sémantique trouvent leurs débouchés dans les marchés de la gestion de contenu et de la gestion des connaissances (knowledge management). Voquette définit plusieurs concepts relatifs à l’usage de ces technologies.
La recherche sémantique et la personnalisation sémantique consistent, pour un produit logiciel, à différencier un mot selon ce qu’il désigne. Par exemple, le mot « palm » tel qu’employé par l’utilisateur désigne-t-il un produit matériel (« Palm Pilot »), un produit logiciel (« Palm OS »), une société (« Palm ») ou encore un élément d’anatomie humaine (la paume de la main) ? Un moteur de recherche sémantique saura distinguer ces concepts et aider ainsi son utilisateur à préciser ses requêtes ou bien à ne considérer que les résultats pertinents sur le plan conceptuel.
La gestion des méta-données sémantique permet d’organiser un contenu, par exemple documentaire, non seulement en fonction de méta-données syntaxiques (longueur d’un document, date de création, format du fichier) mais aussi en fonction des concepts auxquels ce document est lié (le groupe d’auteurs qui l’ont écrit, sa thématique principale, la raison pour laquelle il a été écrit, …)
La normalisation sémantique consiste à établir des relations d’équivalence entre différentes formes syntaxiques désignant une même entité comme par exemple, pour désigner le PDG d’une société, le nom de celui-ci, son surnom, sa fonction (« PDG de telle société »), etc. La normalisation sémantique implique généralement le choix d’une forme canonique pour identifier le concept désigné (une norme consistant par exemple à prendre le prénom plus le nom de famille d’un individu).
L’association sémantique consiste à établir des recommandations (recommander un contenu pour une personne donnée), des évaluations de pertinence (établir la force du lien sémantique entre un contenu et une requête) ou, d’une manière plus générale, estimer la probabilité qu’une entité donnée soit liée à une deuxième entité par une association logique donnée.
L’architecture du système SCORE est composée d’agents extracteurs de contenus, paramétrés à l’aide d’une « boîte à outils d’extraction ». Ces agents permettent à la fois d’alimenter et de faire évoluer un modèle de référence et d’alimenter un corpus de contenus faisant référence à ce modèle par le biais de relations sémantiques (annotations sémantiques). Ces relations sémantiques sont enrichies automatiquement par le biais d’un composant capable de procéder à ces catégorisations automatiques. Ensuite, un « moteur sémantique » permet de puiser dans le modèle et dans le corpus les contenus pertinents. SCORE fournit une application de « tableau de bord sémantique » qui s’appuie sur ce moteur ainsi qu’une API qui permet au développeur de construire ses propres applications sémantiques de gestion de contenu. Les caractéristiques principales qu’ont recherché les concepteurs de SCORE sont sa performance et sa capacité de montée en charge plutôt que la sophistication de ses mécanismes d’inférence. Le moteur permet donc uniquement de parcourir les relations sémantiques établies et n’offre pas de capacité d’inférence similaires à celles d’un moteur de raisonnement logique (systèmes experts, …). Enfin, il convient de noter que le composant de catégorisation automatique s’appuie sur une combinaison de plusieurs méthodes de catégorisation : probabilistique (bayésienne), par apprentissage (modèles markoviens) et par approche formelle.
Débat au sujet du Web Sémantique
Voici une présentation synthétique et illustrée du débat qui a récemment animé la blogosphère au sujet du Web Sémantique. Le fond est intéressant pour comprendre ce concept de Web Sémantique. La forme est intéressante pour structurer des débats en ligne.
Comment le Web Sémantique se construit
Burningbird expose sa vision des dynamiques de construction du Web Sémantique : un mouvement bottom-up et progressif plutôt qu’un deus ex machina avec éclairs, tonnerre et fanfare, un mouvement par lequel on verra apparaître non pas le Web Sémantique mais un web sémantique. Son idée est que le bidouilleur qui veut publier des données sur le Web sous une forme digestible pour d’autres systèmes informatiques adoptera peu à peu le modèle de données RDF pour des motifs économiques.
En effet, grâce à ce modèle, le jour où il voudra réutiliser ses données pour les intégrer avec celles du voisin et construire une nouvelle application, « il n’aura plus qu’à » ajouter des règles logiques par-dessus. Celles-ci s’appliqueront sans douleur car le modèle RDF est conçu pour l’application de règles de ce type et préserve, pour ce faire, l’identité des sources de données. Ainsi, ces règles logiques pourront simplement dire des choses du genre : « Selon la source C, la ressource XYZ au sens que lui confère la source A est équivalente à la ressource 123 au sens que lui confère la source B ». Chaque source (chaque « auteur » de données) peut donc faire coexister ses données avec celles de ses voisins, qu’elles soient ou non cohérentes avec celles-ci. Les systèmes à base de règles sont là pour recoller les morceaux a posteriori et sans douleur. Cela suppose simplement que le bidouilleur ait adopté le bon modèle de donnée a priori.
Par contre, si le concepteur n’a pas anticipé ce besoin de réutilisation de données et s’est par exemple contenté d’adopter un vocabulaire XML spécifique, il devra souffrir à chaque fois qu’il voudra les intégrer avec celle du voisin car il devra alors développer et redévelopper des moulinettes spécifiques de transformation de ses données (XSLT, …). Investir dans l’adoption d’un modèle « universel » de données tel que RDF se révèlerait donc rentable dès que les réutilisations de données se multiplient.
Qu’est-ce que OWL ?
L’Ontology Web Language (OWL) du W3C est clairement et françaisement expliqué sur XMLfr
Tout est connecté
Cette présentation lors d’un atelier universitaire donne une vision didactique et pragmatique des ambitions du Web Sémantique. Les fonctionnalités que l’on peut attendre d’une application Web s’appuyant sur le Web Sémantique sont par exemple :
- proposer des rubriques pertinentes en réponse à une recherche en texte libre (proposer des contextes pertinents) : Tiger l’animal ? ou bien Tiger Woods le joeur de golf ?
- recommander des contenus pertinents (dans le même contexte que la donnée actuellement traitée)
- proposer des ressources associées à une ressource donnée : pour une personne donnée (le joueur de golf Tiger Woods), proposer les lieux sur lesquels il a été actif, les tournois auxquels il a participé, les joueurs auxquels il s’est confronté…
- mener un raisonnement compliqué portant sur de multiples ressources décrites par des sources hétérogènes : quels sont les sites de constructions les plus proches de nos usines, sachant que les risques sismiques doivent être prises en compte
- limiter la surcharge d’information des utilisateurs en ne leur proposant que les informations relatives à des concepts effectivement associés à leur centre d’intérêt
Le chef indien Seattle, en 1854, a dit :
L’humanité n’a pas tissé la toile de la vie. Nous ne sommes qu’un fil de celle-ci. Quoique nous fassions à la toile, nous le faisons à nous-mêmes. Tout est connecté.
Etat de l’art du Web Sémantique
La RoadMap technique du projet de recherche OntoWeb présentait un état de l’art des technologies avancées du Web Sémantique. J’en retiens les technologies suivantes :
- ProPer, une « ontologie pour l’entreprise », propose à travers un outil de démonstration une manière d’améliorer la gestion des connaissances par les directions des ressources humaines en s’appuyant sur la technologie OntoBroker. Les individus et leurs compétences peuvent être identifiées à partir des documents bureautiques qu’ils ont produits lorsque ceux-ci ont été annotés conformément à une ontologie de gestion des ressources humaines. Bien entendu, cela suppose non seulement des coûts de gestion de cette ontologie mais surtout que les documents en question soient assidument annotés !
- Methontology est une méthodologie pour construire et gérer des ontologies en partant de rien ou bien à partir d’ontologies existantes ; cette méthodologie est en partie implémentée dans WebODE, environnement de développement d’ontologies ; elle a été utilisée dans le secteur de la chimie, de la gestion des produits polluant, de la gestion informatique matérielle et logicielle, du domaine des ions mono-atomiques, des silicates, … ; il s’agit de la plus éprouvée des méthodologies de construction d’ontologies.
Les outils et environnements de gestion d’ontologie (et notamment de construction) fournissent une interface graphique pour « ontologistes ». Leurs critères différenciateurs sont notamment leur capacité à gérer des ontologies multilingues et leur richesse en fonctionnalités de travail collaboratif. Certains outils (ou extensions) sont spécifiquement destinés à la fusion ou l’intégration d’ontologies existantes. D’autres, directement liés au contexte du Web Sémantique, sont destinés à l’annotation de ressources Web selon des ontologies données. Enfin, certains outils ont pour fonction de permettre la résolution de requêtes sur des ontologies ; il s’agit peu ou prou de moteurs d’inférence.
- CO4 (Cooperative Construction of Consensual knowledge bases) est un produit de l’INRIA qui permet à des utilisateurs de former des groupes qui permettent la gestion, par consensus, des propositions d’évolution des bases de connaissance qui leur sont propres (l’unanimité est requise pour accepter une évolution) ; les groupes d’utilisateurs peuvent également souscrire à des ontologies gérées par d’autres groupes (autres domaines de compétences).
- IODE (Integrated Ontology Development Environment) est une suite commerciale d’outils de gestion d’ontologie
- JOE (Java Ontology Editor) est un outil Java de construction et de visualisation d’ontologies conçu par une université américaine
- OntoMarkup Annotation Tool, comme son nom l’indique, est un outil facilitant l’annotation sémantique de documents
- OntoMat est un outil Web d’annotation DAML+OIL.
- Cerebra est un moteur d’inférence RDF commercial.
- Extensible Open RDF (EOR) est un outil open source de gestion de bases RDF
- Jena est une collection d’outils RDF implémentés en Java par HP
- OntoBroker est un moteur d’inférence utilisé par le W3C comme implémentation de référence pour le Web Sémantique
- rdfDB est une base de données RDF open source simple mais évolutive
- RDF Gateway est un service de requête RDF ainsi qu’un moteur d’inférence commercial
- RDFStore est un ensemble de modules Perl open source pour la gestion de bases de données RDF
- RedLand est une autre API de haut niveau pour la gestion de bases et modèles RDF
- Triple est un moteur de requête DAML+OIL
Les outils les plus souvent cités pour la gestion d’ontologies sont OntoEdit, Protégé2000 et WebODE. Ils sont appréciés pour leur architecture n-tiers et leur support de bases de données sous-jacentes (il s’agit donc de surcouches), leur support d’ontologies multilingues et leur support de méthodologies de construction d’ontologies. Un autre document du projet de recherche OntoWeb examine plus en détails les qualités, caractéristiques et fonctionnalités à comparer lors du choix de tels outils.
Voici quelques exemples de projets d’application de ces technologies :
- Le service de recherche sémantique du Marchmont Observatory propose un outil de recherche sémantiquement enrichie dans une base de données de « bonnes pratiques » relatives à la formation continue
- MyPlanet est une application Web destinée à permettre à un laboratoire de recherche de mettre en forme et de publier des scénarii de manière à constituer des propositions d’actions de recherche.
- Le projet On-To-Knowledge (OKT) cherche à faciliter les démarches de knowledge management dans les grandes organisations
- OntoWeb cherche à faciliter la communication entre les différents groupes d’individus impliqués dans des recherches relatives aux technologies du Web Sémantiques, notamment à travers une application de recensement de technologies, l’ OntoRoadMap
- PlanetOnto est une application de portail d’organisation permettant une gestion personnalisée et appuyée sur des ontologies, de la publication, de la diffusion et de la recherche d’actualités et de documents
- La plate-forme SMART-EC est sensée assurer la gestion du cycle de vie d’offres de services combinées entre plusieurs fournisseurs et un consommateur, depuis la définition du service jusqu’aux transactions de distribution du service, avec pour finalités l’implémentations d’applications de e-commerce permettant un achat unique d’objets multiples fournis par des sites de e-commerce distincts
- WebKB-2 est une application pour la construction collaborative de catalogues « pages jaunes »
- Community-Web (C-Web) est une application Web dont l’objectif est la constitution de bases de connaissances centrées sur des communautés d’intérêts
- SEAL (SEmantic portAL) est une approche pour la gestion et l’exploitation de sites portails sur la base de méta-données
Mapping relationnel-RDF
D2R Map est un langage XML permettant d’établir la correspondance (« mapping ») entre un modèle de données relationnel et le modèle de données en graphe du Web Sémantique (triplets RDF + ontologies OWL). Les inventeurs de D2R Map en proposent une implémentation Java qui permet donc d’exporter en RDF les données de n’importe quelle base accessible via JDBC ou ODBC.
Devriez-vous utiliser RDF ? Un exemple concret
Enfin un exemple complet de raisonnement sur l’opportunité d’adopter la technologie RDF, sur un cas réel ! Le cas en question concerne un projet relatif à l’agrégation de contenu : « Atom ». L’article commence par un point sur les quatre piliers actuels des technologies du Web Sémantique ainsi que les critiques dont chacun peut parfois être l’objet :
- le modèle de données RDF ; mais est-il pertinent ? est-il suffisament spécifique ?
- la syntaxe de sérialisation de RDF en XML (XML/RDF) ; mais n’est-elle pas trop complexe ? à quoi sert-elle puisqu’elle n’est pas vraiment lisible par un être humain ?
- les outils RDF tels que rdflib pour Python ; mais en existe-t-il assez ? sont-ils assez murs ?
- la vision du Web Sémantique ; mais est-elle réaliste ?
Le projet Atom cherche à créer un format de syndication / agrégation de contenu et une API distribuée (service Web) pour l’exploiter. Les membres de ce projet ont pesé le pour et le contre des 4 séries d’arguments et de contre-arguments sur l’utilisation des technologies du Web Sémantique. Ils en ont conclu que le modèle est particulièrement intéressant car, contrairement à XML seul, il impose d’expliciter les collections d’objets (il faut créer un « conteneur » pour pouvoir énumérer des objets). En cela, ce modèle est plus rigoureux qu’une utilisation d’un modèle XML spécifique. Il apporte une valeur ajoutée certaine pour le cas d’Atom.
Par contre, la syntaxe XML/RDF est beaucoup trop complexe là où une syntaxe XML spécifique offre une meilleure lisibilité. L’intérêt de la syntaxe XML/RDF est qu’elle explicite les namespaces auxquels on fait référence et facilite ainsi la fusion de données RDF provenant de sources hétérogènes. Intégrer des données XML non RDF de sources hétérogènes impose de définir des correspondances (mapping) entre ces données une à une. Cependant, l’objet du projet Atom est justement d’homogénéiser un périmètre restreint de données (les données de gestion de contenu de sources d’actualités) et non de permettre l’intégration de ces données dans des périmètres plus larges (intégrer des actualités et des données d’une application comptable par exemple). L’intérêt de la syntaxe XML/RDF n’a donc pas été jugé suffisant. Les personnes qui voudront aggréger des données au format XML Atom à d’autres sources de données via des mécanismes de Web Sémantique (ontologies) sont invitées à employer XSLT pour ramener les données Atom dans un format RDF.
Cependant, c’est tout de même dommage de se priver de cette opportunité d’intégrer des données Atom dans le Web Sémantique. C’est pourquoi la syntaxe officielle d’Atom certes relèvera d’un modèle XML spécifique, mais la transformation XSLT d’Atom vers XML/RDF sera inclue dans la spécification d’Atom. Ainsi, les férus du Web Sémantique n’auront pas besoin de réinventer la roue chacun de leur côté. Ces derniers disposent certainement d’outils RDF tels que rdflib, et ces outils fournissent des moteurs XSLT qui leur permettront donc d’agréger de manière quasi-transparente les données d’Atom pour les rendre exploitables dans leur API RDF préférée.
En fait, le projet Atom aurait sans doute adopté RDF comme modèle ET comme syntaxe si la communauté d’utilisateurs de RDF avait été plus mure et donc plus grande. Etant encore relativement réduite, Atom préfère rester simple et n’adopter que le modèle (et non la syntaxe), tout en prévoyant une passerelle syntaxique vers le Web Sémantique grâce à XSLT.
Tim Berners-Lee à la Société Royale
L’inventeur du Web Sémantique (et du Web tout court) a présenté son invention à la Société Royale des sciences en Grande-Bretagne. Et si le Web devenait une base de données géante, reliant à la fois des documents lisibles par les êtres humains et des données compréhensibles par les machines, d’une manière utile à la fois aux humains et aux machines ?
Selon Tim Berners-Lee, le Web Sémantique couvre une partie de la problématique d’EAI (Enterprise Applications Integration) mais avec une approche qui consiste non pas à essayer d’intégrer des applications (c’est l’approche des Services Web sur le mode RPC tels que SOAP) mais surtout à intégrer les données produites ou consommées par ces applications. Les produits logiciels exploitant le modèle de données RDF (« tout est un triplet ») permettent de constituer des hubs de données qui relient entre eux des documents (les fameux « contenus ») et des données de bases de données relationnelles existantes. Ces hubs permettent de traiter l’ensemble de ces données en faisant abstraction de leur forme originale.