Les petites cases

Open Graph Protocol : Facebook se met au Web sémantique ?

Retour le 21 avril au soir : Facebook organise l'événement F8 au cours duquel il va annoncer les évolutions de sa plate-forme à destination des développeurs. A titre personnel, je n'ai pas vu l'annonce dont je n'ai a priori rien à attendre. Un premier twitt de Nicolas attire mon œil :

« Mark Zuckerberg - 3 fois le mot semantic par phrase.. des graphs dans tous les sens avec des connections avec d'autres sites. hmm.. »

Attiré, certes, mais sans grand espoir, je continue à vaquer à mes occupations numériques. Quelques minutes plus tard, première annonce concrète, Facebook met à disposition une « Graph API ». Alors que Régis a l'air enthousiaste, je partage la déception de Nicolas :

« Facebook propose une "Graph API" mais le format = JSON, les bras m'en tombent... http://graph.facebook.com/ via @rgaidot et @cyno »

Ce dernier essaye de me faire voir le bon côté des choses. Il a raison car les annonces ne sont pas terminées et quelques minutes plus tard, Manu Sporny relance nos espoirs en attirant l'attention sur un header de page HTML avec un encodage RDFa montré lors de la conférence :

« I think Facebook just announced RDFa support (the Open Graph Protocol) at F8: http://ow.ly/1Bm2g #rdfa #html5 #f8 (look at the attributes) »

Les soupçons sont rapidement confirmés, Facebook annonce Open Graph Protocol, un vocabulaire RDF très simple pour encoder en RDFa le titre de la page, le type de ressource décrite (vidéo, sport, entreprise, hôtel...), le titre du conteneur de la page et l'URL d'une image (et quelques autres choses..). Dans la foulée, Facebook annonce le support de ce protocole par plusieurs sites importants : IMDB, Microsoft, NHL, Posterous, Rotten Tomatoes...

Voilà, c'est fait. En une soirée, Facebook vient de changer la donne et de lancer un énorme pavé dans la mare de Google, Yahoo et consorts : le moteur de recommandation (peut-on encore appeler cela « de recherche » dans ce cas ?) de demain trouve sa pertinence dans quatre métadonnées encodées en RDFa (soit quatre triplets RDF) placées automatiquement par les producteurs de sites dans les pages Web et sur les humains rassemblés au sein de la masse du réseau social qui vont cliquer sur les boutons « Like/J'aime » disséminés à travers le Web et non uniquement dans les algorithmes.
Et, au passage, le nombre de triplets RDF disponibles sur le Web augmente de façon exponentielle grâce à RDFa et Open Graph Protocol (et dire que dans la même journée une interview pitoyable sur Clubic titrait « Le Web sémantique, c'est une utopie », certaines coincidences peuvent parfois faire très mal...).

Les débats (l'hystérie ?) peuvent commencer.

Avant de s'intéresser aux débats, que propose réellement Facebook ?

  • Graph API, une API sous la forme d'un Web service RestFull et qui délivre un flux Json pour accéder aux différentes données de facebook. Il faut l'avouer, à tous les points de vue, c'est simple, propre et séduisant ;
  • Social plugins, une série de Widgets pour intégrer très simplement des fonctionnalités en rapport avec Facebook dans un site Web. Parmi ces widgets, on trouve le bouton « Like/J'aime ». Il permet aux utilisateurs d'agréger et de partager des pages Web sur leur profil Facebook.
  • Open Graph Protocol, un vocabulaire RDF à intégrer dans une page Web avec RDFa pour enrichir dans le profil Facebook l'affichage de la page Web sélectionné avec le bouton « Like/J'aime » et, si on reprend le discours de Facebook, afin de transformer la page Web en nœuds/objets/entités d'un graphe.

L'image proposé sur la documentation de Facebook résume parfaitement l'objectif :

Objectifs d'Open Graph Protocol en une image

Quant aux débats qui en ont découlé, il me semble qu'on peut globalement les résumer en deux questions :

  • Avec ces nouvelles fonctionnalités, Facebook n'empiète-t-il pas encore un peu (un gros ?) plus sur notre vie privée qu'il va s'empresser de monétiser ?
  • Les intentions de Facebook vis-à-vis du Web sémantique sont-elles louables et pour reprendre la question posée par Alex Iskold sur Read Write Web : « Facebook veut-il réellement un Web sémantique ? ».

Concernant la première question, même si j'ai un avis personnel, je ne me prononcerai pas sur ce blog, n'étant pas spécialiste de l'étude des impacts sociaux des technologies. Néanmoins, je vous renvoie vers cet excellent article de Fabrice Epelboin qui est en grande partie un traduction d'un article sur Read Write Web d'Alex Iskold. Outre le fait qu'il offre un tour complet des changements introduits par les annonces de Facebook et de leurs impacts, il donne à lire une position très mesurée et, il me semble, dépassionnée de la problématique de la protection de la vie privée, en mettant les utilisateurs en face de leur responsabilité.

Quant à la seconde question, je souscrirais plus volontiers à la position de Mark Birbeck ou de Zach Beauvais face à celle d'Alex Iskold (qui, au passage, n'est pas forcément objectif puisqu'Open Graph Protocol me semble entrer d'une certaine manière en concurrence avec GetGlue, le produit de sa société).
Effectivement, le but de Facebook n'est pas de prendre part au mouvement du Linked Data pour améliorer la structuration des données à travers le Web grâce aux technologies du Web sémantique, mais bien de monétiser leur service, à savoir agréger les activités numériques des millions d'Internautes inscrits sur sa plate-forme pour vendre « vos goûts et vos couleurs » à tous les services "Marketing" qui n'attendent que cela.
Mais plutôt que d'avoir réinventé une technologie ou une syntaxe d'expression des métadonnées dans une page Web, il faut reconnaître à Facebook le fait qu'ils se sont inspirés et appuyés sur des standards existants. Conséquence, les millions de triplets RDF encodés en RDFa avec Open Graph Protocol peuvent être crawlés par n'importe qui. Par ailleurs, si on peut regretter la légèreté du vocabulaire, je souscris à l'idée de Zach Beauvais dans l'article cité précédemment : on peut aussi espérer que cette légèreté simplifiera l'appropriation et amènera les utilisateurs à faire preuve de curiosité pour aller plus loin que la proposition de Facebook.

Si vous souhaitez faire le tour des questions et des positions sur ce sujet, vous pouvez consulter le thread dédié sur la liste « Semantic Web » du W3C.

Du point de vue des technologies du Web sémantique, j'adresserais deux reproches à Facebook :

  • les URIs du vocabulaire d'Open Graph Protocol ne sont pas déraférençables/adressables, c'est-à-dire qu'il n'existe pas pour le moment (?) l'expression des classes et des propriétés en RDFs ou en OWL ;
  • la sérialisation en Json de Graph API ne suit pas précisément le modèle RDF.

Pour autant, il n'a pas fallu longtemps à la communauté du Web sémantique pour pallier à ces deux défauts.

Lors du LODCamp qui a eu lieu à l'occasion de WWW 2010, David Recordon, développeur chez Facebook, a fait une présentation de l'Open Graph Protocol. Elle a été suivie par une séance de travail qui a abouti à l'élaboration d'un vocabulaire RDFs (voir aussi sur GitHub) aligné avec RDFS, FOAF, Vcard, Geo, SIOC et Dublin Core et à certaines améliorations apportées par Facebook. Cerise sur le gâteau, suite à différentes discussions, Fabien Gandon a mis au point un profil de transformation GRDDL pour extraire les triplets RDF d'une page encodée avec l'Open Graph Protocol.

Suite à l'événement F8, je posais la question suivante :

« bon même si je râle, c'est qd même un progrès notable dans la récupération des données de Facebook, qq'un pour un wrapper RDF ? »

La première proposition dans ce sens est venu de Li Ding, chercheur au laboratoire Tetherless World Constellation dirigé par James Hendler, avec le service Linking Facebook Data. Il propose une "simple" conversion des données du Graph API selon les principes du Linked Data.

Et maintenant ?

Difficile d'évaluer les conséquences des annonces de Facebook : les boutons « Like » se multiplient à travers le Web et Facebook semble gagner son pari : son système est simple, efficace et adopté. Pour le Web sémantique, il est trop tôt pour tirer des conclusions : il faudra plusieurs mois pour évaluer les impacts. Quant aux concurrents, il va leur falloir réagir : Amazon a déjà mis en place un bookmarklet ouvrant sa « wishlist » à tous les sites Web, des systèmes concurrents décentralisés voient le jour comme LikeFeature ou Diaspora, Twitter prépare un mécanisme d'annotations et Google se convertit doucement mais sûrement à l'utilisation des données structurées.

Les prochains mois risquent d'être très intéressants dans ce domaine qui semble devenir le nouvel enjeu des « Majors » du Web. Gageons que les technologies du Web sémantique auront un rôle à jouer.

Vous pouvez retrouver tous les liens de ce billet sur Pearltrees, en cliquant sur la perle :

Open Graph Protocol
Web Causeries Indexation RDFa Linked Data —