Les petites cases

Et le wiki devint sémantique

Au cours de précédents billets, j'ai à plusieurs reprises mentionné le projet de wiki sémantique autour du logiciel Mediawiki, le moteur de wiki qui fait tourner Wikipedia. A l'occasion de la sortie de la première release public (une version bêta) pendant le mois d'août, on a enfin pu constater que l'attente est à la hauteur des résultats.

J'avoue que j'ai été bluffé par cette application appelée Semantic Mediawiki et qui constitue une extension au logiciel Mediawiki. A la lecture du résumé de l'article, je m'attendais à un « simple » export des données d'un site utilisant Mediawiki (exemple au hasard : wikipedia !) vers RDF. Cela aurait été une première étape déjà intéressante, nous permettant de récupérer les liens sémantiques existants non typés entre les différentes définitions de la Wikipedia et ainsi de disposer d'un thésaurus dont j'ai rappelé il y a peu l'intérêt de la publication en RDF sur le Web. D'ailleurs, une société proposait depuis plusieurs mois un export mensuel des données de la Wikipedia anglophone et je me demandais ce que ce projet pouvait donner de plus.

En lieu et place du résumé, c'est le texte complet de la communication que j'aurais dû lire ce qui m'aurait renseigné sur la nature réelle des ambitions des développeurs. En réalité, grâce à ce logiciel, on voit les prémices de la réponse à la question systématique : « comment les utilisateurs pourront-ils ajouter des renseignements sémantiques ? Avec un minimum d'organisation ? en utilisant RDF, sa complexité et sa syntaxe barbare ? Et surtout facilement ? » Réponse élémentaire, mes chers lecteurs : avec la syntaxe wiki. A ce stade de ce billet, vous allez me rétorquer que c'est évident, d'accord et alors ?

Avant d'aller plus loin, je vous conseille la lecture du précédent billet si le concept de RDF n'est pas complètement clair pour vous.

Les apports de semantic Mediawiki sont de trois natures.

Les annotations

Cette partie constitue de mon point de vue la partie la plus novatrice de cet application, puisqu'elle comprend la syntaxe wiki pour écrire les déclarations RDF. Actuellement, dans Mediawiki, il existe le concept de catégorie pour rassembler les différents articles autour d'un sujet. Pour ce faire, il suffit d'ajouter cette notation à la fin de l'article [[Category:le_nom_de_la_catégorie]].

Semantic Mediawiki ajoute deux fonctionnalités pour lier les différents articles qui correspondent en fait aux deux types de propriété RDF :

  1. Relations : Conçues comme des catégories de liens, les relations sont utilisées pour décrire le type de lien qui unit deux articles. Habituellement, dans wikipedia, de nombreux liens hypertextes relient deux articles. Les relations vont permettre de typer ce lien hypertextuelle. Par exemple : Soit le texte suivant dans l'article Paris dans Mediawiki : « Paris est la capitale de la [[France]] », avec semantic mediawiki, nous pouvons écrire : « Paris est la capitale de la [[is capital of::France]] ». En typant la relation avec 'is capital of', on ajoute à l'ontologie du wiki, la propriété d'objet isCapitalOf.

  2. Attributes : ce type d'annotations constitue l'équivalent des propriétés de type de données, c'est à dire qu'elle lie l'article à une chaînes de caractères, dates, nombre entier... pour lesquels il est inutile de créer un article dans le wiki. Par exemple : « Paris a une population de 2 144 700 habitants », avec semantic mediawiki, on peut écrire « Paris a une population de [[population:=2 144 700 habitants]]

Avec ce système d'annotations, cet extension introduit simplement les syntaxes wiki nécessaires à l'élaboration des déclarations/triples RDF. De plus, les relations et les attributs renvoyant à des articles spéciaux du wiki, il est possible de la décrire de façon lisible par un humain. De plus, on peut importer dans le wiki des vocabulaires existants qui vont s'ajouter à l'ontologie du wiki et ainsi utiliser les propriétés définies dans ces vocabulaires. C'est le cas par défaut de FOAF ce qui permet d'écrire dans l'article, par exemple, sur François Ier : « François Ier avait fait venir en France [[foaf:knows::Léonard de Vinci]] ». On utilise alors les référentiels de propriétés que constituent les vocabulaires RDF existants.

Image1

Copie d'écran de l'interface d'édition de Mediawiki

Si vous voulez en savoir plus sur cette syntaxe, je vous conseille ce petit guide (en anglais) réalisé par Harry Chen : « Apprendre à éditer Semantic MediaWiki en 10 minutes ».

La recherche et la navigation

Elle est composée principalement de deux fonctionnalités :

La factbox constitue un résumé sous forme de tableau de l'ensemble des propriétés et de leurs valeurs introduites dans l'article en Wiki. On visualise alors rapidement toutes les déclarations qui ont été faites dans l'article. Surtout, les propriétés et les liens vers d'autres articles sont cliquables, ce qui permet aussi d'introduire une véritable navigation sémantique.

Image2

La seconde fonctionnalité n'est à mon avis pas encore tout à fait mature, mais est pleine de promesses. Il s'agit d'un formulaire de recherche dans les déclarations/triples RDF. Vous pouvez, par exemple, rechercher tous les articles contenant une propriété définie. Là où le bat blesse, c'est qu'un utilisateur ne connaîtra pas forcément les propriétés utilisés dans un Wiki et surtout il faudra rendre le formulaire un peu moins geek. Donc, un peu d'ajax par exemple, changer les noms qui pourraient faire peur et ce sera parfait.

Image3

Utilisation des technos du Web sémantique

Évidemment, l'intérêt d'ajouter ces syntaxes à l'intérieur de mediawiki n'est pas simplement d'améliorer la recherche ou la navigation du Wiki, mais surtout de permettre la réutilisation des données grâce à l'export RDF des articles. Celui-ci constitue donc la principale fonctionnalité du troisième apport de Semantic Mediawiki. Chaque article peut être visible en RDF et donc lié par un autre fichier RDF, réutilisé dans une autre page Web ou dans un logiciel de gestion des connaissances. L'intérêt dans ce cas est le même que celui que j'avais expliqué pour les thésaurus, les informations sont à un endroit et nous les réutilisons plutôt que de les répéter. On pourrait alors constituer à peu de frais des moteurs sémantiques performant. Dans le cadre de pages Web, imaginez un petit javascript ou une extension Firefox (un script GreaseMonkey ?) à la manière d'Alexandria qui offre la possibilité en double-cliquant sur un mot d'en avoir la définition. Il sera alors possible d'accéder à l'ensemble des connaissances rassemblées dans Wikipedia. On pourra faire des mashups proprement hallucinants avec tout ce stock de données qui nous sera ouvert.

Mais, l'utilisation des technologies du Web sémantique ne s'arrête pas là, puisque, en dehors de la possibilité d'importer un vocabulaire RDF existant signalée plus haut, semantic mediawiki dispose d'un point externe qui permet d'effectuer des requêtes Sparql sur le wiki. Grâce au protocole défini dans la norme de Sparql, nous pourrons très facilement récupérer les données. Bref, enjoy !!

Bien-sûr, les possibilités de cette extension sont rapidement visibles pour Wikipedia, mais il me semble que les spécialistes de KM tiennent aussi là un outil assez génial pour faire saisir par les utilisateurs les informations et ensuite les exploiter dans d'autres applications qui réutiliseraient ces données.

Si vous êtes comme moi convaincus par Semantic Mediawiki, vous pouvez visiter le wiki de test Ontoworld dont je me suis abondamment inspiré pour écrire ce billet. En tout cas, il me semble bien qu'avec cette application la révolution du Web sémantique est réellement en marche. Qu'en pensez-vous ?

RDF Sparql Wiki Wikipedia Geekeries — 

Commentaires

Le monde des wikis sémantiques bouge très fort en ce moment ! J'ai rédigé plusieurs articles sur la question dont : -- http://rn7.net/b/wiki-semantique -- http://rn7.net/b/bientot-les-wikis-semantiques Si tu es intéressé, tu peux rejoindre le projet francophone de wiki sémantique, linuxpedia. ce projet a été lancé au dernier BarCampParis : http://barcamp.org/Linuxpedia Si le thème Linuxpedia ne te passionne pas, je souhaiterai également envisager un autre thème afin d'avancer concrètement sur ce sujet. N'hésite pas à me contacter.
(Petite suggestion : ton site mériterait une feuille de style pour l'impression... tes articles passionnants sont plus agréables à lire imprimés, à tête reposée.)
Merci pour les liens. Dès que mon emploi du temps se calme un peu, je ne manquerai pas de vous contacter, ce sera avec plaisir.
Pour la feuille d'impression, il faudrait que je trouve le temps (tjs la même chose...) et j'avoue ne pas y avoir pensé vivant sans imprimante depuis quelques années ;-)
un autre projet qui semble intéressant à surveiller : SweetWiki http://wiki.ontoworld.org/index.php/SweetWiki
Bonjour, désolé, je serai ironique - une machine ou un algorythme intelligent, c'est la découverte du siècle - rajouter une couche subjective pour rendre intelligente une machine, c'est à peu près ça. La geekerie qui découvre les joies du thésaurus, l'université doit bien rigoler.
Vous êtes assez mal tombé... Visiblement, vous n'avez pas dû faire un tour sur ce blog. Mais, je suis moi aussi dans la recherche universitaire (alors évidemment, je ne suis qu'un pauvre ingénieur...). Si vous aviez lu les autres billets de ce blog, vous vous seriez aperçu que le thésaurus n'est pas un mot que je découvre tout à coup. Et, si vous aviez suivi les liens, vous vous seriez aperçu que la mise en place de semantic mediawiki est faite dans le cadre d'une thèse. Visiblement, vous n'avez rien compris à ce billet.
Ce qui me rassure dans votre commentaire, c'est que les pratiques des geeks ne vous sont pas étrangères, vous manipulez le troll à la perfection. Sur ce, comme on dit, il ne faut pas alimenter le troll, je m'arrêterai donc là...
Un peu tard - j'ai découvert ce billet hier seulement - un petit rebond dans la série "chronique d'un mariage annoncé". http://mondeca.wordpress.com/2006/11/10/wiki-et-semantique-marions-les-m...
J'ai trouvé cet article très intéressant, j'en ai parlé sur le forum MediaWiki France :)
Merci !