<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.lespetitescases.net" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>RDF</title>
 <link>http://www.lespetitescases.net/index308</link>
 <description>The taxonomy view with a depth of 0.</description>
 <language>fr</language>
<item>
 <title>Du Web sémantique au web de données, 2ème partie : retour sur un des articles de Roger T. Pédauque</title>
 <link>http://www.lespetitescases.net/Du-Web-semantique-au-web-de-donnees-2</link>
 <description>&lt;p&gt;Dans un &lt;a href=&quot;http://blogues.ebsi.umontreal.ca/jms/index.php/2008/02/14/427-xml-10-ans-d-une-revolution-documentaire&quot;
            &gt;billet récent&lt;/a&gt; écrit à l&#039;occasion des dix ans de XML, Jean-Michel Salaün regrettait que les pistes esquissés dans
         le second texte de l&#039;initiative Roger T. Pédauque intitulé «&amp;nbsp;&lt;a
            href=&quot;http://archivesic.ccsd.cnrs.fr/sic_00001401/fr/&quot;&gt;Le texte en jeu. Permanences et transformations du
         document&lt;/a&gt;&amp;nbsp;» n&#039;aient pas été suivies. Et, pour cause me semble-t-il, si ce deuxième article, comme les deux
         autres d&#039;ailleurs, apporte incontestablement des pistes de réflexion et certaines idées intéressantes, il comprend des
         contre-sens et des erreurs si manifestes qu&#039;il n&#039;est possible de s&#039;en servir comme base de travail qu&#039;après une critique
         attentive, sans compter sur le style que Jean-Michel Salaün lui-même dans le billet cité plus haut qualifie
         «&amp;nbsp;d&#039;un peu abscons&amp;nbsp;» et que je qualifierais plus volontiers de charabia jargonnant. &lt;/p&gt;
      &lt;p&gt;A l&#039;heure où le Web sémantique pointe avec &lt;a href=&quot;http://www.lespetitescases.net/du-web-semantique-au-web-de-donnees-1&quot;
            &gt;plus de prégnance le bout de son nez&lt;/a&gt;, il n&#039;est pas inutile de revenir sur ce texte, comme sur les deux autres,
         pour construire une nouvelle réflexion. C&#039;était d&#039;ailleurs leur but&amp;nbsp;: susciter le débat et la réflexion, sans
         présager des évolutions futures et selon l&#039;état de l&#039;art du moment. Or, il semble bien qu&#039;une nouvelle étape est sur le
         point d&#039;être franchie, si ce n&#039;est pas déjà le cas. A titre personnel, si, à l&#039;époque de rédaction du texte, je n&#039;étais
         pas en mesure de m&#039;immiscer dans le débat, j&#039;espère, aujourd&#039;hui, pouvoir apporter ma pierre à l&#039;édifice.&lt;/p&gt;
      &lt;p&gt;Avant d&#039;entrer dans le vif du sujet, je voudrais rappeler, pour mémoire, que cette initiative avait été lancée par le
         réseau thématiques pluridisciplinaires dédié au document, le &lt;a href=&quot;http://rtp-doc.enssib.fr/&quot;&gt;RTP-DOC&lt;/a&gt; d&#039;où le
         pseudonyme Roger T. Pédauque pour signer les textes collectifs, placé sous le patronage de feu le département STIC du
         CNRS. L&#039;objectif était de réfléchir selon une approche pluridisciplinaire à la notion de document dans le contexte des
         changements induits par le numérique.&lt;/p&gt;
&lt;!--break--&gt;
      &lt;h1&gt;1- Retour sur la notion de texte et son analyse&lt;/h1&gt;
      &lt;p&gt;Si je souscris totalement à la méthodologie initiale annoncée, à savoir repartir de la notion de texte pour redéfinir le
         concept de document, il est erroné d&#039;affirmer que cette notion n&#039;a pas été étudiée par les chercheurs, en particulier les
         linguistes, lorsque les premières DTD ont été créés pour SGML au début des années 1990 en vue d&#039;encoder des textes . &lt;/p&gt;
      &lt;p&gt;Il existe des références incontournables dans la littérature anglo-saxonne, à commencer par l&#039;article fondamental de
         Steven DeRose, David Durand, Elli Mylonas et Allen Renear, «&amp;nbsp;&lt;a
            href=&quot;http://delivery.acm.org/10.1145/270000/264843/p1-derose.pdf?key1=264843&amp;amp;key2=4476372611&amp;amp;coll=&amp;amp;dl=ACM&amp;amp;CFID=15151515&amp;amp;CFTOKEN=6184618&quot;
            &gt;What is text, really&lt;/a&gt;&amp;nbsp;?&amp;nbsp;» paru en 1990 dans la revue &lt;i&gt;Journal of Computing in Higher
         education&lt;/i&gt;. Je vous engage à relire cet article, écrit au moment où l&#039;initiative de la &lt;a href=&quot;http://www.tei-c.org/&quot;
            &gt;TEI&lt;/a&gt; n&#039;en est qu&#039;à ses balbutiements, tant il reste encore d&#039;actualité&lt;a class=&quot;sdfootnoteanc&quot;
            name=&quot;sdfootnote1anc&quot; href=&quot;#sdfootnote1sym&quot;&gt;
            &lt;sup&gt;1&lt;/sup&gt;
         &lt;/a&gt;. Les auteurs démontrent la pertinence du modèle de construction hiérarchique de la structure logique d&#039;un texte
         qu&#039;ils nomment le modèle OHCO (Ordered hierarchy of content object) et qui constitue la base des langages à balise, de
         SGML et, donc de XML. A travers différents exemples, ils montrent l&#039;apport de ce modèle pour l&#039;exploitation informatique
         du texte.&lt;/p&gt;
      &lt;p&gt;Évidemment, le modèle du codex imprimé est encore très présent dans les idées exposées, mais cet article dont il faut se
         souvenir de la date de rédaction constitue une base indéfectible et citée encore régulièrement par les spécialistes de
         l&#039;encodage. Les auteurs ont précisé certaines idées dans un second article&amp;nbsp;: «&amp;nbsp;&lt;a
            href=&quot;http://www.stg.brown.edu/resources/stg/monographs/ohco.html&quot;&gt;Refining our Notion of What Text Really Is: The
            Problem of Overlapping Hierarchies&lt;/a&gt;&amp;nbsp;», revenant sur le problème bien connu de &lt;a
            href=&quot;http://www.lespetitescases.net/les-realites-dans-l-encodage-xml&quot;&gt;l&#039;overlapping&lt;/a&gt;, problématique absente,
         malheureusement, de l&#039;article de Roger.&lt;/p&gt;
      &lt;p&gt;De même, il n&#039;est pas une présentation, formation, tutoriel sur la TEI, sans retour initial sur la notion de textes. Il
         suffit pour s&#039;en convaincre de parcourir &lt;a href=&quot;http://www.tei-c.org/Support/Learn/tutorials.xml&quot;&gt;les documents mis à
            disposition sur le site du consortium&lt;/a&gt;. M&#039;inspirant modestement de ces documents pour &lt;a
            href=&quot;http://www.lespetitescases.net/la-tei-principes-et-fonctionnements&quot;&gt;ma présentation de la TEI à l&#039;ADBS&lt;/a&gt;, il y
         a quelques semaines, j&#039;avais proposé cette définition à la notion de texte&amp;nbsp;:&lt;/p&gt;
      &lt;p&gt;«&amp;nbsp;Un texte est la représentation sur un support d’une construction logique de phrases formant une
         unité.&amp;nbsp;»&lt;/p&gt;
      &lt;p&gt;Elle n&#039;est évidemment ni complète, ni parfaite, à commencer par l&#039;utilisation de la notion de phrase que je remplacerais
         par «&amp;nbsp;portions d&#039;information&amp;nbsp;». En effet, et c&#039;est une seconde erreur de l&#039;article de Roger, les DTD
         créées pour encoder le texte ne reposent pas sur le concept de phrases, mais sur un concept plus générique de divisions
         ou blocs d&#039;information, la fameuse balise &amp;lt;div&amp;gt; que l&#039;on retrouve aussi bien dans TEI, &lt;a
            href=&quot;http://www.docbook.org/&quot;&gt;docbook&lt;/a&gt; que HTML et, à un niveau de granularité plus restreint, au concept de
         chaînes de caractères référencées (inline element), qui prend la forme de la balise &amp;lt;rs&amp;gt; et dérivés
         (persName, geoName, hi, emph...) dans la TEI ou &amp;lt;span&amp;gt; en HTML. L&#039;erreur des auteurs de l&#039;article repose,
         mais peut-être que je me trompe, sur l&#039;idée que ces différentes &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/Document_Type_Definition&quot;&gt;DTD&lt;/a&gt; ont été construites par des linguistes. Si on ne
         peut nier leur apport, il ne faut pas oublier que la TEI a été créée par des chercheurs issus de toutes les disciplines
         des sciences humaines, que Docbook a été créé par &lt;a href=&quot;http://norman.walsh.name/&quot;&gt;Norm Walsh&lt;/a&gt; qui, aux dernières
         nouvelles, n&#039;est pas linguiste, et que HTML a été créé par Tim Berners-Lee, qu&#039;on ne présente plus.&lt;/p&gt;
      &lt;p&gt;Ainsi, si le postulat de départ est bon, l&#039;état de l&#039;art ne semble pas complet&lt;a class=&quot;sdfootnoteanc&quot;
            name=&quot;sdfootnote2anc&quot; href=&quot;#sdfootnote2sym&quot;&gt;
            &lt;sup&gt;2&lt;/sup&gt;
         &lt;/a&gt; ce qui entraîne des fausses affirmations et, aussi, peut-être, une mauvaise interprétation du but et du rôle de XML
         dans l&#039;exploitation informatique des textes ce que viennent, d&#039;ailleurs, confirmer les deux problèmes suivants.&lt;/p&gt;
      &lt;h1&gt;2- La fausse croyance de la prévalence du fond sur la forme&lt;/h1&gt;
      &lt;p&gt;Voilà, un argument maintes fois entendu, l&#039;utilisation de XML étant basé sur la séparation entre la structure logique du
         texte (désigné par les termes «&amp;nbsp;fond&amp;nbsp;» et «&amp;nbsp;contenu&amp;nbsp;» dans l&#039;article) et sa structure
         physique (sa mise en forme), l&#039;apport de la forme (mise en page, graphisme, design) à l&#039;appréhension et à la
         compréhension du texte serait nié par les mécanismes d&#039;encodage. Il existerait une prévalence implicite du fond sur la
         forme. Il me semble que cet argument est le signe d&#039;une incompréhension des raisons qui ont poussé à cette séparation et
         d&#039;une méconnaissance du fonctionnement concret de XML.&lt;/p&gt;
      &lt;p&gt;Repartons, si vous le voulez bien, des buts qui ont vu la mise en place de la TEI, qui constitue la première DTD pour
         encoder les textes et une source d&#039;inspiration pour les suivantes. Le but initial était de partager une syntaxe et des
         règles communes de balisage en vue de l&#039;échange des corpus informatisés. Cette idée est d&#039;ailleurs toujours présente dans
         la TEI, puisque le guidelines a pour titre, &lt;a href=&quot;http://www.tei-c.org/release/doc/tei-p5-doc/en/html/index.html&quot;&gt;
            &lt;i&gt;Guidelines for Electronic text encoding and Interchange&lt;/i&gt;
         &lt;/a&gt;. Dans ce contexte, l&#039;encodage de la structuration logique du texte assurait l&#039;échange du texte dans une version
         facilement exploitable par des logiciels et des applications. &lt;b&gt;La séparation entre structure logique et structure
            physique ne relève donc pas d&#039;une quelconque posture épistémologique, mais constitue plutôt un moyen d&#039;assurer
            l&#039;échange et l&#039;exploitation du texte encodé dans des contextes différents&lt;a class=&quot;sdfootnoteanc&quot;
               name=&quot;sdfootnote3anc&quot; href=&quot;#sdfootnote3sym&quot;&gt;
               &lt;sup&gt;3&lt;/sup&gt;
            &lt;/a&gt;.&lt;/b&gt;&lt;/p&gt;
      &lt;p&gt;Pour autant, structure logique ne signifie pas forcément que les caractéristiques physiques d&#039;un texte ne sont pas
         encodées. Cela dépend tout simplement du &lt;a href=&quot;http://www.lespetitescases.net/encodage-en-question&quot;&gt;but poursuivi&lt;/a&gt;
         et des besoins de traitement du texte. C&#039;est d&#039;ailleurs la raison pour laquelle j&#039;ai conservé la notion de
         «&amp;nbsp;support&amp;nbsp;» dans ma définition du texte. La TEI offre précisément les moyens d&#039;encoder toutes les
         caractéristiques physiques du texte traité, dans la mesure où ils font partie intégrante de son appréhension et méritent,
         à ce titre, un traitement particulier. Citons, par exemple, le changement de ligne (&amp;lt;lb/&amp;gt;), le changement
         de page (&amp;lt;pb/&amp;gt;), le changement de mains dans un document manuscrit (&amp;lt;handSchift/&amp;gt;), ou encore
         les abréviations (&amp;lt;abbr&amp;gt;) pour rester dans le registre de la paléographie.&lt;/p&gt;
      &lt;p&gt;Par ailleurs, la TEI offre avec l&#039;attribut &lt;a
            href=&quot;http://www.tei-c.org/release/doc/tei-p5-doc/en/html/ref-att.global.html&quot;&gt;rend&lt;/a&gt; disponible pour tous les
         éléments la possibilité d&#039;indiquer le rendu/la mise en forme de la portion encodée. L&#039;attribut style joue exactement le
         même rôle pour HTML. De plus, toujours en HTML, toutes les pages possèdent un lien vers une feuille de style qui exprime
         la mise en forme de la page grâce au langage &lt;a href=&quot;http://fr.wikipedia.org/wiki/Feuilles_de_style_en_cascade&quot;&gt;CSS&lt;/a&gt;,
         format tout aussi pérenne, ouvert et libre que XML. Ce mécanisme de lien est très clairement exprimé dans les
         recommandations de HTML. D&#039;ailleurs, la montée en puissance, ces dernières années, du couple HTML-CSS est une preuve que
         la séparation n&#039;est pas vécue comme un abandon de la forme, mais plutôt comme un moyen de rationaliser le développement
         de sites Web, d&#039;en assurer un suivi, une maintenance et une évolution simplifiés, tout en économisant de la bande
         passante.&lt;/p&gt;
      &lt;p&gt;Enfin, un dernier exemple démontre l&#039;irrecevabilité de cet argument&amp;nbsp;: la mise au point récente et l&#039;utilisation
         de schémas XML pour décrire les documents issus d&#039;un traitement de texte. Dans ce cas, le fichier XML comprend des
         informations de mise en forme physique du texte ce qui démontre bien que cette séparation n&#039;est pas à faire sur le
         contenu lui-même, mais sur la structure logique. Or, dans ce cas, la mise en forme participe de la structure logique du
         texte, c&#039;est pourquoi la plupart des informations de mise en forme sont présents directement dans le fichier XML.&lt;/p&gt;
      &lt;h1&gt;3- XML et la grammatisation du document&lt;/h1&gt;
      &lt;p&gt;Cette connaissance approximative du rôle et du fonctionnement de XML apparaît de manière encore plus explicite dans la
         thèse qui sous-tend l&#039;ensemble de l&#039;article, à savoir les rapports entre XML et l&#039;évolution de la &lt;i&gt;grammatisation&lt;/i&gt;
         du document. &lt;/p&gt;
      &lt;p&gt;Les auteurs appliquent, à l&#039;évolution des langages documentaires utilisant XML, le concept de
         «&amp;nbsp;grammatisation&amp;nbsp;» forgé par Sylvain Auroux, à la suite de Jacques Derrida, et qui désigne la
         matérialisation de «&amp;nbsp;la substance d&#039;une expression en éléments matériels discrets et manipulables&amp;nbsp;». Ce
         faisant, ils distinguent trois postures dans l&#039;utilisation de la syntaxe XML marquant un contrôle de plus en plus accru
         du contenu du texte&amp;nbsp;:&lt;/p&gt;
      &lt;ul&gt;
         &lt;li&gt;«&amp;nbsp;DTD&amp;nbsp;», dont le but est d&#039;annoter et de manipuler des documents&amp;nbsp;; &lt;/li&gt;
         &lt;li&gt;«&amp;nbsp;Schémas&amp;nbsp;», dont le but est d&#039;échanger des données entre applications&amp;nbsp;; &lt;/li&gt;
         &lt;li&gt;«&amp;nbsp;RDF/S, Ontologies/OWL&amp;nbsp;» dont le but est d&#039;effectuer des inférences formelles sur le contenu.
         &lt;/li&gt;
      &lt;/ul&gt;
      &lt;p&gt;Or, cette analyse pose plusieurs problèmes. En premier lieu, elle traduit une confusion de taille entre la syntaxe XML et
        le modèle d&#039;encodage de l&#039;information sous-tendu par XML, à savoir un arbre. Si les deux premières postures utilisent à fois
         XML en tant que syntaxe et en tant que modèle, la troisième posture a pour base le modèle de graphes, sous-tendu par
         l&#039;utilisation de RDF, et &lt;b&gt;peut se traduire par une syntaxe XML, mais aussi d&#039;autres syntaxes&lt;/b&gt;&amp;nbsp;: Turtle,
         N-triples ou N3.&lt;/p&gt;
      &lt;p&gt;L&#039;information encodée grâce aux DTD et aux Schémas forme un arbre dont les nœuds sont constituées par les différents
         éléments ou balises utilisés. Dans le cas de RDF, l&#039;information encodée forme un graphe, selon le schéma
         «&amp;nbsp;sujet-prédicat-objet&amp;nbsp;» et constitue un modèle plus générique d&#039;encodage de l&#039;information, l&#039;arbre
         étant un type particulier de graphes.&lt;/p&gt;
      &lt;p&gt;Cette distinction entre modèle et syntaxe est d&#039;autant plus importante que les deux premières postures n&#039;ont pas le même
         rôle que la troisième. Les DTD et les &lt;a href=&quot;http://fr.wikipedia.org/wiki/Sch%C3%A9ma_XML&quot;&gt;schémas&lt;/a&gt; définissent un
         cadre ou une grammaire pour valider la structure de l&#039;information encodée en vue de son échange et/ou d&#039;une
         transformation, qui, au passage, ne pose aucun problème grâce à l&#039;utilisation de XSL&lt;a class=&quot;sdfootnoteanc&quot;
            name=&quot;sdfootnote4anc&quot; href=&quot;#sdfootnote4sym&quot;&gt;
            &lt;sup&gt;4&lt;/sup&gt;
         &lt;/a&gt;. &lt;a href=&quot;http://fr.wikipedia.org/wiki/RDF_Schema&quot;&gt;RDF schéma&lt;/a&gt; et &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/Web_Ontology_Language&quot;&gt;OWL&lt;/a&gt; permettent de définir les relations entre différents
         types de ressources (document, page Web, objet, personne, concept...) pour échanger des données hétérogènes et y
         appliquer des inférences. Par exemple, une ontologie définie selon RDFS ou OWL permet de définir qu&#039;une ressource de type
         «&amp;nbsp;Personne&amp;nbsp;» entretient une relation de nature «&amp;nbsp;connaît&amp;nbsp;» avec une autre ressource
         de type «&amp;nbsp;Personne&amp;nbsp;». Ils ne servent en aucun cas à valider un document RDF. Ils offrent
         «&amp;nbsp;simplement&amp;nbsp;» un vocabulaire commun pour exprimer des prédicats sur des types de ressources.&lt;/p&gt;
      &lt;p&gt;De plus, la structuration d&#039;information en XML selon un cadre défini dans une DTD ou un schéma dépend d&#039;un contexte
         précis et se pense sur l&#039;ensemble de l&#039;information encodée. Ainsi, une même information peut être encodée de manière
         complètement différente tout en restant valide selon un schéma et sans que la nature du message soit différente. La
         structuration d&#039;information en RDF se conçoit, quant à elle, au plus proche de la donnée elle-même dans le contenu même
         du message véhiculé par l&#039;information.&lt;/p&gt;
      &lt;p&gt;De ce point de vue, le modèle exprime une idée tout à fait juste, à savoir que ces trois postures constituent une
         évolution dans l&#039;exploitation de différents niveaux de granularité de l&#039;information, pour en arriver à l&#039;exploitation par
         une machine du message véhiculé par l&#039;information. Pour autant, si les «&amp;nbsp;Schémas&amp;nbsp;» constituent bien une
         évolution des «&amp;nbsp;DTD&amp;nbsp;», offrant la possibilité de contrôler les types de données comme une date, une
         chaîne de caractères, un booléen.., la troisième posture relève d&#039;un paradigme différent et ne peut être assimilé à une
         évolution, mais plutôt à un complément. &lt;/p&gt;
      &lt;p&gt;D&#039;ailleurs, les deux aspects ont évolué de façon concomitante ces dernières années. La communauté XML a mis au point des
         technologies telles que &lt;a href=&quot;http://www.relaxng.org/&quot;&gt;Relax NG&lt;/a&gt; ou &lt;a href=&quot;http://www.schematron.com/&quot;
         &gt;schematron&lt;/a&gt; pour mieux contrôler et valider la structure des données, offrant les outils pour vérifier ce que les
         auteurs nomment la «&amp;nbsp;validité sémantique&amp;nbsp;», tandis que la communauté RDF a amélioré les moyens de
         définir une ontologie avec OWL mais aussi d&#039;autres systèmes d&#039;organisation des connaissances, comme les thésaurus avec &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/SKOS&quot;&gt;SKOS&lt;/a&gt;. De même, deux langages de requêtes spécifiques ont été développées,
            &lt;a href=&quot;http://fr.wikipedia.org/wiki/Xquery&quot;&gt;Xquery&lt;/a&gt; pour XML et &lt;a href=&quot;http://fr.wikipedia.org/wiki/SPARQL&quot;
            &gt;SPARQL&lt;/a&gt; pour RDF ce qui démontre bien que les deux modèles sont différents.&lt;/p&gt;
      &lt;p&gt;Enfin, un aspect essentiel a été occulté dans cette analyse. A aucun moment, les auteurs n&#039;introduisent le rôle joué par
         le protocole &lt;a href=&quot;http://fr.wikipedia.org/wiki/Http&quot;&gt;HTTP&lt;/a&gt; et le concept des &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/URI&quot;&gt;URI&lt;/a&gt; dans cette évolution. Or, l&#039;échange de données entre les applications
         n&#039;est possible que dans la mesure où nous disposons à la fois avec XML d&#039;une syntaxe indépendante des plates-formes et
         des logiciels, mais aussi d&#039;une couche de transport, un protocole de communication commun, HTTP et dans ce réseau, un
         moyen normalisé d&#039;identifier et de localiser une ressource grâce aux URI. Ainsi, XML schéma représente bien une évolution
         naturelle dans les outils de validation et de contrôle de l&#039;information encodée, mais il ne saurait être dissocié de
         HTTP, s&#039;il est conçu dans le cadre des échanges de données entre applications. Or, si les grands éditeurs (IBM, Sun,
         Microsoft, Oracle, SAP et consorts) se sont rués sur XML et en ont fait la base des architectures SOA, c&#039;est précisément,
         parce que le couple HTTP+XML constituait la réponse à la problématique des &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/Intergiciel&quot;&gt;middlewares&lt;/a&gt; et de &lt;a
            href=&quot;http://fr.wikipedia.org/wiki/Enterprise_Application_Integration&quot;&gt;l&#039;EAI&lt;/a&gt;, très en vogue à l&#039;époque et
         largement remis en cause aujourd&#039;hui.&lt;/p&gt;
      &lt;h1&gt;4- Le Web sémantique ne se limite pas aux ontologies&amp;nbsp;!&lt;/h1&gt;
      &lt;p&gt;La confusion évoquée précédemment provient certainement d&#039;une mauvaise interprétation des buts poursuivis par le Web
         sémantique et, dans ce cadre, du rôle précis de RDF et des ontologies. De ce point de vue, cet article constitue un bon
         exemple des méprises &lt;a href=&quot;http://www.lespetitescases.net/du-web-semantique-au-web-de-donnees-1&quot;&gt;dont je parlais dans
            un précédent billet&lt;/a&gt;. &lt;/p&gt;
      &lt;p&gt;Ainsi, pour les auteurs, le Web sémantique vise à «&amp;nbsp;construire un métalangage, fondé sur les ontologies,
         représentant de façon formelle le contenu des documents qui pourra donc servir de base à des modélisations
         informatiques&amp;nbsp;». Or, les ontologies ne constituent pas la base du Web sémantique, mais elles y participent,
         constituant une des briques. C&#039;est RDF, dont il est fait malheureusement trop peu allusion dans l&#039;article, qui constitue
         la base des technologies du web sémantique. En limitant le Web sémantique aux ontologies, les auteurs ont naturellement
         porté le débat sur les problématiques déjà connus dans l&#039;intelligence artificielle, à savoir, pour faire court, la
         dangerosité de modéliser l&#039;ensemble des connaissances du monde selon une ontologie imposée et unique ce qui réduit
         inévitablement le sens porté par un texte à une interprétation. De ce point de vue, la partie intitulée
         «&amp;nbsp;Questionner le Web sémantique&amp;nbsp;» est un conglomérat de tous les fantasmes véhiculés par cette idée
         d&#039;ontologie universelle.&lt;/p&gt;
      &lt;p&gt;Or, comme le rappelle James Hendler dans &lt;a href=&quot;http://www.mindswap.org/blog/2007/11/21/shirkyng-my-responsibility/&quot;
            &gt;cette réponse à Clay Shirky&lt;/a&gt;, au contraire de systèmes traditionnelles de représentation de la connaissance (les
         bases de connaissances auxquels fait allusion l&#039;article) centralisés et imposant de partager la même définition des
         concepts communs, le Web sémantique est plus flexible et n&#039;impose pas l&#039;utilisation d&#039;une seule ontologie, les mécanismes
         étant suffisamment puissants pour introduire des inférences entre deux données qui n&#039;utilisent pas la même ontologie.
         Cette puissance est offerte par le modèle de base qui sous-tend tout l&#039;édifice du Web sémantique, à savoir RDF. Ainsi,
         contrairement à ce qu&#039;affirment l&#039;article et les tenants du concept de Web socio-sémantique, &lt;a
            href=&quot;http://www.slideshare.net/fabien_gandon/le-web-smantique-nest-pas-antisocial-version-de-2006&quot;&gt;le Web sémantique
            n&#039;est pas anti-social&lt;/a&gt; et ne dépendrait pas d&#039;une communauté ou d&#039;un contexte social donné et imposé.&lt;/p&gt;
      &lt;p&gt;Même si les technologies du Web sémantique offrent le moyen de représenter «&amp;nbsp;de manière formelle des contenus
            &lt;i&gt;[nda&amp;nbsp;: est-ce à assimiler à la notion de texte&amp;nbsp;?]&lt;/i&gt; via les ontologies&amp;nbsp;» en vue d&#039;une
         exploitation par une machine, le but initial du Web sémantique est plutôt d&#039;échanger à une très large échelle des données
         de nature hétérogènes, ce que ne permet pas XML qui impose l&#039;utilisation de schémas identiques ou une transformation
         préalable, et, éventuellement, grâce aux systèmes des ontologies, d&#039;y appliquer des mécanismes simples d&#039;inférence.
         Ainsi, le Web sémantique ne s&#039;intéresse pas directement au texte en lui-même, mais aux données qui le décrivent ou le
         caractérisent, ce qu&#039;on appelle communément les métadonnées, ou à des données précises à l&#039;intérieur du texte comme le
         permet RDFa.&lt;/p&gt;
      &lt;h1&gt;5- Évolution du Web sémantique depuis l&#039;écriture de l&#039;article&lt;/h1&gt;
      &lt;p&gt;L&#039;article constitue un bon point de repère pour évaluer l&#039;évolution du Web sémantique et son appropriation. Les
         différentes briques et technologies du Web sémantique sont habituellement représentées sous la forme d&#039;un cake. Or, au
         gré des recherches, ce cake évolue et la dernière version est largement différente de la version proposée par l&#039;article.&lt;/p&gt;
      &lt;p&gt;&lt;img src=&quot;http://www.w3.org/2007/03/layerCake.png&quot; alt=&quot;layer cake of semantic Web&quot;/&gt;
&lt;/p&gt;&lt;p&gt;Dans cette
         nouvelle version, à la base, nous trouvons toujours les URI qui permettent d&#039;identifier les ressources (sujet ou,
         éventuellement, objet d&#039;un triple) et les prédicats. RDF est le modèle de base pour l&#039;échange des données et peut
         éventuellement s&#039;appuyer sur XML, dans le cas de l&#039;utilisation de la syntaxe RDF/XML. Au-dessus, on trouve SPARQL pour
         effectuer des requêtes, RDFS et OWL pour définir des vocabulaires RDF, assimilables à des ontologies et RIF, un langage
         de définition de règles. XML schema et les namespaces ont complètement disparus du cake, englobés dans la brique XML.&lt;/p&gt;
      &lt;p&gt;De même, si, à terme, les technologies du Web sémantique devrait améliorer la recherche d&#039;information par une meilleure
         caractérisation des données et des relations qu&#039;elles entretiennent entre elles, nous savons aujourd&#039;hui que cela n&#039;est
         pas son but initial, mais plutôt une conséquence. Ainsi, à une vision top-down qui a longtemps été l&#039;axe privilégié par
         les recherches sur le Web sémantique, il se substitue peu à peu, entre autres par l&#039;écosystème initié par le Web 2.0, une
         approche bottom-up dans lequel ce sont les annotations portés par l&#039;utilisateur ou les données structurés qu&#039;ils génèrent
         qui sont exploitées par les technologies du Web sémantique. De ce point de vue, Dbpedia est un exemple parfait. Partant
         du contenu mis à disposition sur wikipedia, le projet Dbpedia vise à mettre à disposition cette masse d&#039;informations en
         RDF pour une meilleure exploitation par les machines de ce gisement de données.&lt;/p&gt;
      &lt;h1&gt;6- Retour sur l&#039;exemple donnée en annexe de l&#039;article&lt;/h1&gt;
      &lt;p&gt;En annexe du document, un exemple illustre les trois postures abordés dans l&#039;article. Malheureusement, il comprend un
         certain nombre d&#039;erreurs. Ainsi, le manque de maîtrise des technologies dont il est fait preuve pourrait expliquer en
         partie les contre-sens de l&#039;article. &lt;/p&gt;
      &lt;p&gt;L&#039;exemple utilisant une DTD ne pose pas de problèmes particuliers, si ce n&#039;est qu&#039;il aurait mérité un balisage plus fin.
         Si, à première vue, le schéma semble bien défini dans le second exemple, sa déclaration est complètement
         fausse. Dans le cas d&#039;un schéma, il ne faut pas utiliser de doctype, le schéma étant déclaré dans l&#039;élément racine du
         fichier XML. De plus, il est obligatoire de déclarer l&#039;espace de nom par défaut correspondant au schéma XML ce qui nous
         donne&amp;nbsp;: &lt;/p&gt;
      &lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;CRH &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns=&amp;quot;http://www.rogerpedauque.fr/casclinique/ns/&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xsi:schemaLocation=&amp;quot;http://www.rogerpedauque.fr/casclinique/ns/ &lt;a href=&quot;http://www.rogerpedauque.fr/casclinique/ns/casclinique.xsd&amp;quot;&amp;gt;&lt;br /&gt;&quot; title=&quot;http://www.rogerpedauque.fr/casclinique/ns/casclinique.xsd&amp;quot;&amp;gt;&lt;br /&gt;&quot;&gt;http://www.rogerpedauque.fr/casclinique/ns/casclinique.xsd&amp;quot;&amp;gt;&lt;br /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [...]&lt;br /&gt;&amp;lt;/CRH&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/code&gt;&lt;/div&gt;
      &lt;p&gt;L&#039;exemple de RDF est complètement faux et démontre une incompréhension totale de son fonctionnement&amp;nbsp;: les
         espaces de noms ne sont pas déclarés, il met en lumière la confusion entre le modèle XML et le modèle RDF. Voici
         approximativement ce qu&#039;il pourrait obtenir&amp;nbsp;:&lt;/p&gt;
      &lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;rdf:RDF &lt;br /&gt;&amp;nbsp;&amp;nbsp; xmlns:rdf=&amp;quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;quot; &lt;br /&gt;&amp;nbsp;&amp;nbsp; xmlns:rdfs=&amp;quot;http://www.w3.org/2000/01/rdf-schema#&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; xmlns:med=&amp;quot;http://www.rogerpedauque.fr/casclinique/&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rdf:Description rdf:about=&amp;quot;urn:hopital-toto:patient/1050&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:poids&amp;gt;78&amp;lt;/med:poids&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:taille&amp;gt;169&amp;lt;/med:taille&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:tension&amp;gt;14-8&amp;lt;/med:tension&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:saturation&amp;gt;98&amp;lt;/med:saturation&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:symptome_constate rdf:resource=&amp;quot;urn:hopital-toto:symptome/030&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rdf:Description rdf:about=&amp;quot;urn:hopital-toto:symptomes/030&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rdfs:label&amp;gt;Douleurs thoraciques&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:maladie rdf:resource=&amp;quot;urn:hopital-toto:maladie/100&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;rdf:Description rdf:about=&amp;quot;urn:hopital-toto:maladie/100&amp;quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rdfs:label&amp;gt;Péricardite&amp;lt;/rdfs:label&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;med:symptome rdf:resource=&amp;quot;urn:hopital-toto:symptome/030&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/rdf:Description&amp;gt;&lt;br /&gt;&amp;lt;/rdf:RDF&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/code&gt;&lt;/div&gt;
      &lt;p&gt;
         &lt;img src=&quot;images/graphe.png&quot; alt=&quot;Graphe correspondant au code RDF/XML&quot; /&gt;
      &lt;/p&gt;
      &lt;h1&gt;En guise de conclusion&lt;/h1&gt;
      &lt;p&gt;Outre les contre-sens relevés, il me semble que l&#039;analyse et la réflexion n&#039;ont pas été menées à son terme. C&#039;est finalement le plus
         frustrant dans cet article, ses conclusions ne sont pas à la hauteur de ses ambitions. Ainsi, il n&#039;aboutit à aucune
         définition concrète et simple de la notion de texte au point même que l&#039;interrogation initiale disparaît peu à peu et,
         lorsqu&#039;il aborde les pistes les plus intéressantes, il ne la poursuit pas. Or, une phrase et une idée me paraît essentiel
         dans cet article&amp;nbsp;: «&amp;nbsp;On peut se demander dans ce modèle &lt;i&gt;[nda&amp;nbsp;: le Web sémantique]&lt;/i&gt; si la
         notion de &lt;i&gt;document&lt;/i&gt; a encore un sens&amp;nbsp;». Voilà, précisément, la question essentielle à se poser&amp;nbsp;!&lt;/p&gt;
      &lt;h2 class=&quot;notes&quot;&gt;Quelques notes en passant&lt;/h2&gt;
      &lt;div id=&quot;sdfootnote1&quot;&gt;
         &lt;p class=&quot;sdfootnote&quot;&gt;&lt;a class=&quot;sdfootnotesym&quot; name=&quot;sdfootnote1sym&quot; href=&quot;#sdfootnote1anc&quot;&gt;1&lt;/a&gt;Les auteurs de l&#039;article
            étaient d&#039;ailleurs pour la plupart impliqués dans l&#039;élaboration de la TEI.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div id=&quot;sdfootnote2&quot;&gt;
         &lt;p class=&quot;sdfootnote&quot;&gt;&lt;a class=&quot;sdfootnotesym&quot; name=&quot;sdfootnote2sym&quot; href=&quot;#sdfootnote2anc&quot;&gt;2&lt;/a&gt;Pour connaître certains
            des auteurs de l&#039;article de Roger, je sais pertinemment qu&#039;il connaisse parfaitement les deux articles d&#039;Allen Renear
            et alii.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div id=&quot;sdfootnote3&quot;&gt;
         &lt;p class=&quot;sdfootnote&quot;&gt;&lt;a class=&quot;sdfootnotesym&quot; name=&quot;sdfootnote3sym&quot; href=&quot;#sdfootnote3anc&quot;&gt;3&lt;/a&gt;Le principe est le même
            pour LaTeX et je ne crois pas avoir entendu cet argument le concernant, tant il tomberait très rapidement à l&#039;eau vu
            le profil des développeurs originaux de ce logiciel.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div id=&quot;sdfootnote4&quot;&gt;
         &lt;p class=&quot;sdfootnote&quot;&gt;&lt;a class=&quot;sdfootnotesym&quot; name=&quot;sdfootnote4sym&quot; href=&quot;#sdfootnote4anc&quot;&gt;4&lt;/a&gt;p. 22, les auteurs
            affirment&amp;nbsp;: «&amp;nbsp;en l&#039;état actuel de la technologie, peu de langages transformationnels sont capables
            de garantir l&#039;invariance de niveau 1 (le résultat ne sera pas nécessairement bien formé) et aucun ne préserve le
            niveau 2 [nda&amp;nbsp;: la validité de l&#039;encodage de l&#039;information selon un schéma]&amp;nbsp;», alors que XSL qui
            date de 1999 garantit précisément ces deux niveaux de validité...&lt;/p&gt;
      &lt;/div&gt;</description>
 <comments>http://www.lespetitescases.net/Du-Web-semantique-au-web-de-donnees-2#comments</comments>
 <category domain="http://www.lespetitescases.net/taxonomy/term/69">Structuration</category>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index354">XML</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/76">Indexation</category>
 <category domain="http://www.lespetitescases.net/index360">Moteur de recherche</category>
 <category domain="http://www.lespetitescases.net/index379">OWL</category>
 <category domain="http://www.lespetitescases.net/index102">TEI</category>
 <category domain="http://www.lespetitescases.net/index361">Validation</category>
 <category domain="http://www.lespetitescases.net/index364">XHTML</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/68">Xquery</category>
 <category domain="http://www.lespetitescases.net/index368">XSLT</category>
 <pubDate>Tue, 04 Mar 2008 02:13:18 +0100</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">1058 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Stocker les triples</title>
 <link>http://www.lespetitescases.net/node/988</link>
 <description>&lt;p&gt;Dans un &lt;a href=&quot;http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data&quot;&gt;précédent
billet&lt;/a&gt;, Iamhondjack notait avec justesse en &lt;a href=&quot;http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data#comment-325&quot;&gt;commentaire&lt;/a&gt;
qu&#039;il ne fallait pas dissocier SPARQL et SQL de manière aussi
stricte que je pouvais le faire. Il appuie son propos sur
l&#039;expérience de &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/&quot;&gt;D2R
server&lt;/a&gt; qui permet d&#039;interroger une base de données
relationnelles en SPARQL grâce à un mapping entre la
modélisation de la base de données relationnelles et le
modèle de graphe. Dans &lt;a href=&quot;http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data#comment-32&quot;&gt;la
foulée&lt;/a&gt;, Christian pose la question essentielle à
savoir la performance et le temps de réponse.&lt;/p&gt;
&lt;p&gt;Il semble que la question du stockage
des triples RDF soit dans l&#039;air du temps ce qui est logique, eu
égard, à l&#039;intérêt grandissant du &lt;em&gt;Web
of data&lt;/em&gt;. Ainsi, même si Tim Berners-Lee donnait déjà
des premiers éléments de réponse dès 1998
dans un document intitulé &lt;a href=&quot;http://www.w3.org/DesignIssues/RDB-RDF.html&quot;&gt;Relational
Databases and the Semantic Web (in Design Issues)&lt;/a&gt;, un &lt;a href=&quot;http://www.w3.org/2007/03/RdfRDB/&quot;&gt;workshop
organisé par le W3C et intitulé «&amp;nbsp;RDF Access
to Relational Databases&amp;nbsp;»&lt;/a&gt; a permis de faire récemment
le point sur la question. &lt;a href=&quot;http://www.openlinksw.com/weblog/oerling/?id=1274&quot;&gt;Une
des conclusions de ce workshop&lt;/a&gt; est la nécessité de
mettre au point une procédure normalisée de benchmark
pour les triple store RDF sur &lt;a href=&quot;http://www.tpc.org/&quot;&gt;le modèle
de TPC&lt;/a&gt; pour les bases de données relationnelles.&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;Force est de constater que nous
disposons que peu de recul aujourd&#039;hui sur la question, quelques
ressources traînent à droite à gauche sur le
sujet&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;sur le &lt;a href=&quot;http://esw.w3.org/topic/FrontPage&quot;&gt;ESW
	wiki du W3C&lt;/a&gt;, on trouve une &lt;a href=&quot;http://esw.w3.org/topic/LargeTripleStores&quot;&gt;liste
	de triple store&lt;/a&gt; indiquant le nombre de triples pouvant être
	stocké et une &lt;a href=&quot;http://esw.w3.org/topic/TripleStoreScalability&quot;&gt;liste
	d&#039;articles&lt;/a&gt; présentant des rapports sur l&#039;extensibilité
	des triple store&amp;nbsp;;
	&lt;/li&gt;&lt;li&gt;Un thésard propose &lt;a href=&quot;http://cweiske.de/tagebuch/SPARQL%20Engines%20Benchmark%20Results.htm&quot;&gt;les
	résultats d&#039;un benchmark&lt;/a&gt; des moteurs SPARQL qu&#039;il a
	effectué dans le cadre de sa &lt;a href=&quot;http://cweiske.de/tagebuch/With%20SPARQLing%20eyes.htm&quot;&gt;thèse&lt;/a&gt;.
	&lt;/li&gt;&lt;li&gt;Dans &lt;a href=&quot;http://www.mit.edu/people/dna/abadirdf.pdf&quot;&gt;un
	article très complet&lt;/a&gt;, l&#039;équipe du CSAIL du MIT, à
	l&#039;origine de &lt;a href=&quot;http://db.lcs.mit.edu/projects/cstore/&quot;&gt;C-store&lt;/a&gt;,
	propose une comparaison entre le stockage de RDF dans une base de
	données relationnelles et la solution choisie pour C-Store.
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mise à jour 26/11/2007&lt;/strong&gt; : &lt;a href=&quot;http://agraph.franz.com/allegrograph/agraph_bench_lubm50.lhtml&quot;&gt;Benchmarck pour AllegroGraph&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mise à jour 2/12/2007&lt;/strong&gt; (cf. les commentaires) : &lt;a href=&quot;http://swat.cse.lehigh.edu/projects/lubm/&quot;&gt;the Lehigh University Benchmark (LUBM)&lt;/a&gt;, le benchmark pour AllegroGraph cité précédemment suit cette procédure, je vous conseille aussi la lecture de ce &lt;a href=&quot;http://www.ontotext.com/publications/ScalableReasoningTargets_nov07ak.pdf&quot;&gt;document&lt;/a&gt; qui analyse des résultats du LUBM d&#039;Oracle, AllegroGraph, DAML DB, OpenLink Virtuoso et BigOWLIM (Via &lt;a href=&quot;http://morenews.blogspot.com/2007/11/present-and-future-scalability.html&quot;&gt;More News&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Or, il s&#039;agit d&#039;une question cruciale
dans la perspective de l&#039;industrialisation du modèle RDF et de
la dissémination des technologies Web sémantique. Même
si certaines personnes dont je fais partie pensent que &lt;a href=&quot;http://www.mit.edu/people/dna/vldb07hstore.pdf&quot;&gt;le
modèle relationnel atteint aujourd&#039;hui ses limites&lt;/a&gt;, le
modèle de graphe à la base de RDF ne pourra s&#039;imposer
que dans la mesure où il aura été prouvé
que les outils permettant de l&#039;exploiter présentent des
performances supérieures. La mise au point d&#039;un benchmark
représente donc une étape essentielle.&lt;/p&gt;
&lt;p&gt;Les benchmark devront rapidement
dégager les avantages et inconvénients de chacun des
trois modèles de stockage qui se dégage actuellement&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Le mapping à la volée
	d&#039;une modélisation d&#039;une base de données
	relationnelles et du modèle de graphe. Ce modèle est
	celui des outils &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/d2r-server/&quot;&gt;D2R
	server&lt;/a&gt; ou &lt;a href=&quot;http://jena.sourceforge.net/SquirrelRDF/&quot;&gt;SquirellRDF&lt;/a&gt;,
	par exemple.
	&lt;/li&gt;&lt;li&gt;Le &lt;a href=&quot;http://www.w3.org/2001/sw/Europe/reports/scalable_rdbms_mapping_report/&quot;&gt;stockage
	dans une base de données relationnelles dont la modélisation
	permet le stockage direct sous forme de triples&lt;/a&gt;, par exemple&amp;nbsp;:
	&lt;a href=&quot;http://www.aktors.org/technologies/3store/&quot;&gt;3store&lt;/a&gt;, &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/rdfapi/&quot;&gt;RAP&lt;/a&gt;
	ou &lt;a href=&quot;http://arc.semsol.org/&quot;&gt;ARC&lt;/a&gt; reposant sur MySQL,
	&lt;a href=&quot;http://virtuoso.openlinksw.com/wiki/main/Main/&quot;&gt;Virtuoso&lt;/a&gt;,
	&lt;a href=&quot;http://www.openrdf.org/&quot;&gt;Sesame&lt;/a&gt; ou &lt;a href=&quot;http://razor.occams.info/code/semweb/&quot;&gt;Semantic
	Web/RDF Library for C#/.NET&lt;/a&gt; 
	
	&lt;/li&gt;&lt;li&gt;Les entrepôts qui stockent
	de façon native les triples RDF, par exemple&amp;nbsp;:
	&lt;a href=&quot;http://agraph.franz.com/allegrograph/index.lhtml&quot;&gt;AllegroGraph&lt;/a&gt;,
	&lt;a href=&quot;http://www.ontotext.com/owlim/big/&quot;&gt;BigOWLIM&lt;/a&gt; qui peut
	être une des solutions de stockage et d&#039;inférence pour
	Sesame, &lt;a href=&quot;http://www.oracle.com/technology/tech/semantic_technologies/pdf/semantic11g_dataint_twp.pdf&quot;&gt;Oracle
	11g&lt;/a&gt;, &lt;a href=&quot;http://mulgara.org/&quot;&gt;Mulgara&lt;/a&gt;. Les deux
	derniers n&#039;offrent pour l&#039;instant qu&#039;un support limité de
	SPARQL.
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Il semble d&#039;ors et déjà
acquis que le premier modèle ne sera pertinent que dans la
phase de transition, que nous vivons aujourd&#039;hui. En effet, il ne
répond que partiellement aux besoins des utilisateurs comme
l&#039;explique &lt;a href=&quot;http://www.w3.org/2007/03/RdfRDB/papers/d2rq-positionpaper/&quot;&gt;cet
article des développeurs de D2R server&lt;/a&gt;, qui sont les mêmes
que Dbpedia pour lequel ils ont utilisé Virtuoso.&lt;/p&gt;
</description>
 <comments>http://www.lespetitescases.net/node/988#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/geekeries">Geekeries</category>
 <pubDate>Sun, 25 Nov 2007 21:14:31 +0100</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">988 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Naviguer et rechercher dans le Web of data</title>
 <link>http://www.lespetitescases.net/naviguer-et-rechercher-dans-le-web-of-data</link>
 <description>&lt;p&gt;Preuve supplémentaire de la maturité du Web of data, nous disposons, à l&#039;instar de son grand frère le Web, de navigateurs et de moteurs de recherche spécialisés ne requérant aucune compétence particulière. &lt;/p&gt;
&lt;p&gt;Petite revue de détail, en commençant par les navigateurs.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A tout seigneur, tout honneur, le premier d&#039;entre eux mis au point par Tim Berners-Lee et son équipe : &lt;a href=&quot;http://dig.csail.mit.edu/2005/ajar/ajaw/tab.html&quot;&gt;Tabulator&lt;/a&gt; développé en Javascript (Attention, ne fonctionne qu&#039;avec Firefox). Outre la possibilité de naviguer dans des sources en RDF, il offre un moteur SPARQL, la possibilité d&#039;afficher les données géographiques sur une carte, les événements sur un agenda ou une frise chronologique. C&#039;est certainement le plus complet, mais aussi le plus geeky.&lt;/li&gt;
&lt;li&gt;Dans le même ordre d&#039;idée et proposant des fonctionnalités à peu près équivalentes, &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;OpenLink RDF browser&lt;/a&gt;, qui sert de démonstration au produit &lt;a href=&quot;http://virtuoso.openlinksw.com/&quot;&gt;Virtuoso server&lt;/a&gt; qui intègre, entre autres, un RDF store et sparql end point, de l&#039;éditeur &lt;a href=&quot;http://openlinksw.com/&quot;&gt;Open link software&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Plus simple et plus accessible, &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/rdf_browser/&quot;&gt;Disco hyperdata Browser &lt;/a&gt; mis au point par l&#039;équipe de Dbpedia (ces types ne s&#039;arrêtent jamais). L&#039;interface est, disons, épurée, mais efficace. Fonctionnalité intéressante, il intègre un cache qui permet de disposer de tous les triples consultés récemment par les utilisateurs pour naviguer dans les sources RDF.&lt;/li&gt;
&lt;li&gt;Pour finir, celui qui me semble le plus prometteur : &lt;a href=&quot;http://browser.zitgist.com/&quot;&gt;Zitgist browser&lt;/a&gt; mis au point par &lt;a href=&quot;http://fgiasson.com/fr/&quot;&gt;Frederik Giasson&lt;/a&gt;. Aussi simple que Disco, mais avec une interface très agréable.&lt;/li&gt;
&lt;/ul&gt;
&lt;!--break--&gt;
&lt;p&gt;Côté moteurs de recherche, leur mise à disposition est plus récente et ils sont encore largement expérimentaux. &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.sindice.com&quot;&gt;Sindice&lt;/a&gt; est mis au point par le DERI (Digital Enterprise Research Institute). Il permet d&#039;interroger en &lt;a href=&quot;http://www.sindice.com/query/lookup?keyword=Harry+Potter&quot;&gt;texte intégral les données RDF indexées&lt;/a&gt;, de &lt;a href=&quot;http://www.sindice.com/query/lookup?uri=http%3A%2F%2Fdbpedia.org%2Fresource%2FParis&quot;&gt;rechercher toutes les ressources qui comporte une URI&lt;/a&gt; ou &lt;a href=&quot;http://www.sindice.com/query/lookup?property=http%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2Fmbox&amp;object=mailto%3Atimbl%40w3.org&quot;&gt;un sujet en donnant un prédicat et un objet&lt;/a&gt;. Il propose une interface REST qui permettra de relier les données distribuées. C&#039;est évidemment une version bêta qui référence 11 millions de documents RDF dont Dbpedia, ce qui correspond à environ 981.4 million d&#039;URIs et 3.1 milliards de triples.&lt;/li&gt;
&lt;li&gt;Sur le même modèle, l&#039;institut of Web science de l&#039;université Southeast en Chine a annoncé la sortie de &lt;a href=&quot;http://iws.seu.edu.cn/services/falcons/objectsearch/index.jsp&quot;&gt;Falcons Object Search&lt;/a&gt;. Il intègre aussi une fonctionnalité de navigation et revendique 17,5 millions de ressources, mais je ne sais pas à quoi cela correspond.&lt;/li&gt;
&lt;li&gt;Pour finir, le précurseur : &lt;a href=&quot;http://swoogle.umbc.edu/&quot;&gt;Swoogle&lt;/a&gt; qui mériterait un petit ravalement de façade est certainement le plus spécialisé et le moins accessible, mais aussi le plus complet en termes de données. Gageons que l&#039;Ebiquity group va nous proposer rapidement une nouvelle version. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Petite précision : ces moteurs recherchent dans les données disponibles en RDF, ils ne sont pas à confondre avec un moteur sémantique dont le but est de rechercher sur le Web, mais éventuellement en s&#039;appuyant sur les technologies du Web sémantique pour offrir de nouvelles fonctionnalités. De ce point de vue, vous entendrez peut-être parler de &lt;a href=&quot;http://www.trueknowledge.com/&quot;&gt;True Knowledge&lt;/a&gt; ou de &lt;a href=&quot;http://www.powerset.com/&quot;&gt;PowerSet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Vous n&#039;aurez à présent plus d&#039;excuses pour consulter toutes les données RDF à notre disposition et consulter le Web of data.&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/naviguer-et-rechercher-dans-le-web-of-data#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <category domain="http://www.lespetitescases.net/index360">Moteur de recherche</category>
 <category domain="http://www.lespetitescases.net/index351">Navigateur</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/67">Linked Data</category>
 <pubDate>Sun, 11 Nov 2007 22:31:01 +0100</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">986 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Retour sur Freebase à la lumière du Web of data</title>
 <link>http://www.lespetitescases.net/retour-sur-freebase-a-la-lumiere-du-web-of-data</link>
 <description> &lt;p&gt;Au mois de mars, &lt;a href=&quot;http://query.nytimes.com/gst/fullpage.html?res=9B06E3D81231F93AA35750C0A9619C8B63&quot;&gt;Tim
      O&#039;Reilly&lt;/a&gt; repris par &lt;a href=&quot;http://www.internetactu.net/?p=6902&quot;&gt;Internet Actu&lt;/a&gt; définissait ainsi le but de &lt;a
         href=&quot;http://www.freebase.com/&quot;&gt;Freebase&lt;/a&gt;&amp;nbsp;: «&amp;nbsp;&lt;em&gt;Créer les synapses du cerveau
      global&lt;/em&gt;&amp;nbsp;». On y voyait les prémices de la première application concrète et accessible à tous du Web sémantique.
      Six mois plus tard, je vous propose d&#039;y revenir, alors que le concept de &lt;a
         href=&quot;http://www.lespetitescases.net/Data-web-of-data-hyperdata-vivent-les-donn%C3%A9es&quot;&gt;Web of data&lt;/a&gt; et &lt;a
         href=&quot;http://dbpedia.org/&quot;&gt;Dbpedia&lt;/a&gt; ont fait leur apparition.&lt;/p&gt;
   &lt;p&gt;Dans &lt;a href=&quot;http://www.internetactu.net/?p=6902&quot;&gt;l&#039;article d&#039;Internet actu&lt;/a&gt;, Hubert citait Denny Vrandecic, concepteur
      de &lt;a href=&quot;http://www.lespetitescases.net/et-le-wiki-devint-semantique&quot;&gt;Semantic Mediawiki&lt;/a&gt;&amp;nbsp;:&lt;/p&gt;
   &lt;blockquote&gt;«&amp;nbsp;Metaweb [nda&amp;nbsp;: le concepteur de Freebase et par extension le logiciel qui fait tourner
      freebase] vient du monde des données structurées, même si la structure est ici flexible et changeante. Semantic Media Wiki
      vient du monde des données non structurées, qui peuvent être améliorées par quelques éléments de structure pour mettre en
      relation plusieurs éléments non structurés.&amp;nbsp;». &lt;/blockquote&gt;
   &lt;p&gt; Cette analyse me paraît excellente, car elle pose tous les enjeux de Freebase et son mode de fonctionnement. Si on voulait
      caricaturer, je dirais que Freebase est un wiki structuré OU une base de données dont la modélisation peut changer à la
      demande de l&#039;utilisateur qui peut librement saisir les données. Choisissez votre camp en fonction de votre
      origine&amp;nbsp;: données non structurées ou données structurées. &lt;/p&gt;
   &lt;p&gt; Concrètement, Freebase est organisée sous la forme d&#039;une taxonomie thématique (arts et divertissements, Société, Sport...).
      Chaque thème comprend des types de ressource (film, acteur, opera, pièce de théâtre, Personne, ville...) auxquels sont
      rattachés des propriétés. Ces propriétés peuvent relier une ressource à une autre ressource ou à une donnée typée (chaîne de
      caractères, date, nombre entier...). Si vous suivez ce blog attentivement, vous aurez reconnu le principe d&#039;une &lt;a
         href=&quot;http://www.lespetitescases.net/definir-une-ontologie-avec-owl&quot;&gt;ontologie&lt;/a&gt; qui présente la particularité d&#039;une
      structure évolutive à la demande des utilisateurs. &lt;/p&gt;
   &lt;p&gt; Cerise sur le gâteau, Freebase propose pour gérer cette ontologie une interface très agréable, facile à manipuler et qui
      permet très simplement d&#039;éditer une donnée, d&#039;en ajouter, de relier une ressource à une autre. &lt;/p&gt;
   &lt;p&gt; Réaction immédiate&amp;nbsp;: c&#039;est génial, c&#039;est effectivement la première application du Web sémantique ! En apparence et
      au premier abord, tout y est et il faut l&#039;avouer, c&#039;est impressionnant. Mais, à y regarder de plus près, deux problèmes se
      posent&amp;nbsp;: l&#039;un est technologique et l&#039;autre est, je dirais, cognitif. &lt;/p&gt;
&lt;!--break--&gt;
   &lt;p&gt; Commençons par le problème technologique. Si Freebase est structuré avec une ontologie, il n&#039;utilise absolument aucune
      technologie du Web sémantique&amp;nbsp;: pas de RDF, pas de OWL et encore moins de SPARQL. Et, c&#039;est là que le bat blesse.
      Si je devais le classer parmi &lt;a href=&quot;http://www.christian-faure.net/2007/11/03/les-donnees-mises-a-nue/&quot;&gt;les visions du
         Web proposées par Christian&lt;/a&gt;, Freebase rentrerait dans la deuxième catégorie avec Google OpenSocial. En effet,
      Freebase propose une API pour accéder à ses données, mais avec un langage de requêtes «&amp;nbsp;maison&amp;nbsp;» &lt;a
         href=&quot;http://www.freebase.com/view/9202a8c04000641f800000000544e13e&quot;&gt;le MQL&lt;/a&gt; (Metaweb query language) basé sur la
      syntaxe Json. &lt;/p&gt;
   &lt;p&gt; Conséquence de ces choix&amp;nbsp;: &lt;/p&gt;
   &lt;ul&gt;
      &lt;li&gt;L&#039;utilisateur est tributaire de Metaweb pour l&#039;évolution de l&#039;API (vous allez me répondre que c&#039;est pareil pour toutes
         les API, c&#039;est vrai, mais ce n&#039;est pas une raison)&amp;nbsp;; &lt;/li&gt;
      &lt;li&gt;Le &lt;a href=&quot;http://www.freebase.com/view/queryeditor/&quot;&gt;MQL&lt;/a&gt; est assez limité et ne permet d&#039;interroger qu&#039;un type de
         ressource à la fois, c&#039;est dommage, alors qu&#039;ils ont construit Freebase avec une ontologie&amp;nbsp;; c&#039;est un peu comme
         acheter une Ferrari et être obligé de rouler à 130 km/h sur l&#039;autoroute...&amp;nbsp;; &lt;/li&gt;
      &lt;li&gt;Il est impossible de lier une donnée extérieure à Freebase à une donnée de Freebase et inversement. Il fonctionne en
         vase clos et ne correspond pas à l&#039;architecture distribuée et décentralisée du Web of data. &lt;/li&gt;
   &lt;/ul&gt;
   &lt;p&gt; Arrêtons-nous sur ce dernier point. Le principe du Web of data/Web de données/Web sémantique est de mettre à disposition
      des bases de données décentralisées, dont toutes les données (aussi bien les ressources, que les propriétés) sont
      accessibles via une URI (et même une URL), reliées entre elles par des liens typées, décrites selon le même cadre de
      description (RDF), interrogeables avec le même langage de requêtes et le même protocole, c&#039;est à dire la même API (SPARQL).
      Avec une architecture distribuée suivant les normes du Web sémantique, il est possible d&#039;interroger en &lt;a
         href=&quot;http://www.lespetitescases.net/dbpedia-en-action-la-suite#comment-284&quot;&gt;une requête deux bases distinctes&lt;/a&gt;. Au
      contraire, Freebase est basé sur un modèle centralisé, toutes les données doivent être dans Freebase pour y accéder et les
      interroger. D&#039;ailleurs, Hubert Guillaud et Daniel Kaplan avaient repéré cet obstacle&amp;nbsp;: &lt;/p&gt;
   &lt;blockquote&gt; «&amp;nbsp;la résistance des propriétaires de grandes bases de données (organismes scientifiques, entreprises,
      médias…) devant la perspective d’une mise en commun “profonde” de leurs informations&amp;nbsp;» &lt;/blockquote&gt;
   &lt;p&gt;
      Cet obstacle existe aussi avec l&#039;architecture décentralisée du Web sémantique, mais la réticence sera peut-être moins
         importante dans la mesure où les organismes pourront gérer et contrôler eux-mêmes la mise à disposition de leurs
      données.
   &lt;/p&gt;
   &lt;p&gt;
      Le second problème tient aux conséquences de la structuration forte des données. Le système contraint la contribution de
         l&#039;utilisateur qui est obligé de se conformer à la structure de la ressource. Il est possible d&#039;ajouter des propriétés,
         mais ce n&#039;est pas immédiat et le changement sera répercuté au niveau du type. De ce fait, les données sont parfaitement
         structurées et organisées, mais, à mon avis, nous n&#039;atteindrons jamais la richesse de Wikipedia, dont le principe de base
         est la liberté totale de l&#039;utilisateur. De ce fait, il est aussi peut-être moins agréable et enrichissant à naviguer pour
         un humain que Wikipedia. Freebase est plutôt fait pour les machines.
   &lt;/p&gt;
   &lt;p&gt; Sur ce point, il n&#039;est pas inintéressant de faire la comparaison avec Dbpedia. Ce dernier est construit, entre autres, à
      partir des info-box de Wikipedia et de la catégorisation des articles. Si &lt;a
         href=&quot;http://www.lespetitescases.net/dbpedia-en-action-la-suite&quot;&gt;les données sont d&#039;une très grande richesse&lt;/a&gt;, les
      défauts/manques de structuration de Wikipedia dûs à la liberté totale de l&#039;utilisateur apparaissent rapidement quand vous
      commencez à faire des applications avec Dbpedia. J&#039;avais déjà fait allusion à&lt;a
         href=&quot;http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data&quot;&gt; ce problème en ce qui concerne les propriétés
         relatives au lieu de naissance&lt;/a&gt;. Il m&#039;est apparu à une autre occasion. Suite à un &lt;a
         href=&quot;http://www.outilsfroids.net/news/wikipedia-l-encyclopedie-du-reel-et-de-l-imaginaire&quot;&gt;très beau billet d&#039;Outils
         froids sur Wikipedia&lt;/a&gt;, j&#039;ai voulu aller dans son sens en construisant une application exhibit listant tous les
      personnages de Dune ou de Star Wars à partir de Dbpedia. Malheureusement, après quelques tentatives, j&#039;ai dû me rendre à
      l&#039;évidence, il n&#039;existait aucune catégorie qui rassemble tous les personnages de ces univers, ils étaient dispatchés et leur
      structure n&#039;était pas assez stricte pour réussir à créer une application qui tienne la route. Bref, j&#039;ai fait l&#039;expérience
      que toutes personnes qui ont traité des données non structurées ont faite, à savoir la limitation des machines. &lt;/p&gt;
   &lt;p&gt; Finalement, si je devais conclure, je dirais qu&#039;aucun des deux modèles n&#039;est parfait et que chacun présente ses avantages
      et ses inconvénients. Les deux modèles doivent coexister. De plus, Freebase va s&#039;enrichir et, avec Dbpedia, il est possible de remédier aux
      problèmes de structuration de Wikipedia. J&#039;emmétrais quand même une réserve à l&#039;égard de Freebase, il serait quand même
      bienvenu qu&#039;ils changent leur architecture et qu&#039;ils ouvrent vraiment leurs données pour les intégrer au Web of data. Je
      pense même qu&#039;il en va de la pérennité de leur service. &lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/retour-sur-freebase-a-la-lumiere-du-web-of-data#comments</comments>
 <category domain="http://www.lespetitescases.net/index356">Management de l&amp;#039;information</category>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/71">Wikipedia</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/67">Linked Data</category>
 <pubDate>Sun, 11 Nov 2007 18:33:52 +0100</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">985 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Sparql, maillon essentiel du « Web of data »</title>
 <link>http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data</link>
 <description>&lt;p&gt;
  Avec l&#039;initiative &lt;a href=&quot;http://linkeddata.org/&quot;&gt;Linked data&lt;/a&gt; dont
  &lt;a href=&quot;http://dbpedia.org/&quot;&gt;Dbpedia&lt;/a&gt; est l&#039;exemple le plus représentatif,
  nous disposons d&#039;une masse de données structurées de plus en plus importantes.
  Peu à peu se constituent sur le Web des entrepôts de données décentralisées,
  mais reliées par l&#039;utilisation de RDF et de la propriété OWL
  «&amp;nbsp;sameAs&amp;nbsp;».
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Par exemple&lt;/strong&gt;&amp;nbsp;: la notice
  &lt;a href=&quot;http://dbpedia.org/resource/Paris&quot;&gt;Paris&lt;/a&gt; dans Dbpedia est reliée
  à la notice &lt;a href=&quot;http://sws.geonames.org/2988507/&quot;&gt;Paris&lt;/a&gt; dans Geonames
  via le triple suivant&amp;nbsp;:
&lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;rdf:Description rdf:about=&amp;quot;http://dbpedia.org/resource/Paris&amp;quot;&amp;gt;&lt;br /&gt;	&amp;lt;owl:sameAs rdf:about=&amp;quot;http://sws.geonames.org/2988507/&amp;quot;/&amp;gt;&lt;br /&gt;&amp;lt;/rdf:Description&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;
  De cette façon, vous pouvez interroger de toutes les informations de Dbpedia
  et de Geonames sur la ressource «&amp;nbsp;Paris&amp;nbsp;». Les applications sont
  très nombreuses, comme par exemple ma
  &lt;a href=&quot;http://www.lespetitescases.net/amusons-nous-avec-rdfa&quot;&gt;knowledge
  box&lt;/a&gt; (qui semble fonctionner cahin-caha, il faudra que je regarde cela) ou
  d&#039;autres, comme le montre
  &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~auer/publication/dbpedia.pdf&quot;&gt;cet
  article&lt;/a&gt;.
&lt;/p&gt;
&lt;!--break--&gt;
&lt;p&gt;
  &lt;strong&gt;Vous allez me dire&lt;/strong&gt;&amp;nbsp;: «&amp;nbsp;C&#039;est bien joli, mais quelle est la
  différence avec un Flick&#039;r, un Google Maps et autres services Web 2.0&amp;nbsp;?
  Ils exposent leurs données via des Web services qu&#039;on peut aussi réutiliser
  pour créer des Mashup.&amp;nbsp;»
&lt;/p&gt;
&lt;p&gt;
  C&#039;est entièrement vrai. Il existe néanmoins une différence et elle est de
  taille. Dans le cas des services Web 2.0 actuels, les Web services sont certes
  disponibles, mais ne sont pas normalisés, il faut donc connaître les méthodes
  du Web services et la structure des données pour les interroger. Ce n&#039;est pas
  le cas des entrepôts de données exposés en RDF, puisqu&#039;on dispose alors d&#039;un
  &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-query/&quot;&gt;langage de requêtes&lt;/a&gt; et
  d&#039;un &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-protocol/&quot;&gt;protocole
  unique&lt;/a&gt;&amp;nbsp;: le Sparql (prononcé «&amp;nbsp;sparkoeule&amp;nbsp;»), actuellement
  en cours de normalisation au W3C.
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Je vous entends d&#039;ici&lt;/strong&gt;&amp;nbsp;: «&amp;nbsp;Mais, tu nous répètes à longueur de
  billets que RDF, c&#039;est souple, générique et qu&#039;on peut associer autant de
  propriétés qu&#039;on veut à une ressource. Comment, dans ces conditions, peut-on
  connaître les propriétés utilisées dans tel ou tel entrepôt ou pour telle ou
  telle ressource&amp;nbsp;?&amp;nbsp;»
&lt;/p&gt;
&lt;p&gt;
  Très bonne remarque, cher lecteur, je vois que tu suis. C&#039;est là qu&#039;entre en
  jeu toute la puissance de Sparql. On n&#039;a pas besoin de connaître a priori la
  structure et le contenu des données pour pouvoir les interroger avec ce
  langage de requêtes. En effet, Sparql permet d&#039;interroger n&#039;importe quel
  composant d&#039;un triple qui, je le rappelle, ont la forme Sujet-Prédicat-Objet.
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Exemple&lt;/strong&gt;&amp;nbsp;: si vous voulez connaître tous les triples qui composent
  mon &lt;a href=&quot;http://www.lespetitescases.net/foaf_got.rdf&quot;&gt;fichier FOAF&lt;/a&gt;,
  sans rien connaître a priori des ressources décrites, des propriétés utilisés
  ou du contenu, on effectue la
  &lt;a href=&quot;http://dbpedia.org/sparql/?default-graph-uri=http://lespetitescases.net/foaf_got.rdf&amp;amp;should-sponge=grab-all&amp;amp;query=select+?sujet+?predicat+?objet+%0D%0A%7B%0D%0A+?sujet+?predicat+?objet%0D%0A%7D&amp;amp;format=text/html&amp;amp;debug=on&quot;&gt;requête
  suivante&lt;/a&gt;&amp;nbsp;:
&lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT ?sujet ?predicat ?objet &lt;br /&gt;{&lt;br /&gt;	?sujet ?predicat ?objet&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;
  &lt;strong&gt;Autre exemple&lt;/strong&gt;&amp;nbsp;: je veux connaître tous les
  &lt;a href=&quot;http://dbpedia.org/sparql/?default-graph-uri=http://dbpedia.org&amp;amp;should-sponge=&amp;amp;query=SELECT+DISTINCT+?predicat%0D%0A%7B%0D%0A+%09%7B%3Chttp://dbpedia.org/resource/Paris%3E+?predicat+?objet.%7D%0D%0A+UNION+%7B%0D%0A%09?sujet+?predicat+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0A%7D&amp;amp;format=text/html&amp;amp;debug=on&quot;&gt;prédicats/propriétés&lt;/a&gt;
  pour décrire la ressource Paris ou pour lesquels la ressource Paris est
  l&#039;objet dans Dbpedia&amp;nbsp;:
&lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT DISTINCT ?predicat&lt;br /&gt;{&lt;br /&gt; 	{&amp;lt;http://dbpedia.org/resource/Paris&amp;gt; ?predicat ?objet.}&lt;br /&gt; UNION {&lt;br /&gt;	?sujet ?predicat &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;
  &lt;strong&gt;Dernier exemple&lt;/strong&gt;&amp;nbsp;: maintenant que je connais les propriétés décrivant la
  ressource Paris, je veux connaître
  &lt;a href=&quot;http://dbpedia.org/sparql/?default-graph-uri=http://dbpedia.org&amp;amp;should-sponge=&amp;amp;query=SELECT+DISTINCT+?personne%0D%0A%7B%0D%0A+%09%7B?personne+%3Chttp://dbpedia.org/property/cityofbirth%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%7D%0D%0A+UNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/birthPlace%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0A+UNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/birthplace%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0AUNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/placeofbirth%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0AUNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/placeOfBirth%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0AUNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/placebirth%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0AUNION+%7B%0D%0A%09?personne+%3Chttp://dbpedia.org/property/placeBirth%3E+%3Chttp://dbpedia.org/resource/Paris%3E.%0D%0A%7D%0D%0A%7D&amp;amp;format=text/html&amp;amp;debug=on&quot;&gt;toutes
  les personnes qui sont nés à Paris&lt;/a&gt;&amp;nbsp;:
&lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;SELECT DISTINCT ?personne&lt;br /&gt;{&lt;br /&gt; 	{?personne &amp;lt;http://dbpedia.org/property/cityofbirth&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/birthPlace&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/birthplace&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/placeofbirth&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/placeOfBirth&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/placebirth&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;	UNION {&lt;br /&gt;	?personne &amp;lt;http://dbpedia.org/property/placeBirth&amp;gt; &amp;lt;http://dbpedia.org/resource/Paris&amp;gt;.&lt;br /&gt;	}&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;
&lt;p&gt;
  Cet exemple montre, au passage, qu&#039;il reste encore pas mal de travail à
  Dbpedia pour harmoniser les propriétés de leur entrepôt (cf. les commentaires pour plus de renseignements).
&lt;/p&gt;
&lt;p&gt;
  Je pense que vous avez compris le principe général. C&#039;est une véritable
  avancée par rapport au système des Web services &lt;del&gt;et encore plus au SQL qui ne
  permet pas de faire une requête du type «&amp;nbsp;SELECT * FROM *&amp;nbsp;» (ce
  serait en quelque sorte un équivalent)&lt;/del&gt; (MAJ. cf. le commentaire de Nicolas). De plus, Sparql
  peut renvoyer &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-XMLres/&quot;&gt;les réponses
  en XML selon un schéma normalisé&lt;/a&gt;, alors que chaque Web service définit son propre schéma XML pour répondre à une requête.
&lt;/p&gt;
&lt;p&gt;
  &lt;strong&gt;Et là, &lt;/strong&gt;&lt;a href=&quot;http://figoblog.org/&quot;&gt;&lt;strong&gt;Manue&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt; me
  dit&lt;/strong&gt;&amp;nbsp;: «&amp;nbsp;c&#039;est comme l&#039;OAI, tu peux savoir la structure de
  l&#039;entrepôt grâce aux verbes
  &lt;a href=&quot;http://www.openarchives.org/OAI/openarchivesprotocol.html#ListMetadataFormats&quot;&gt;ListMetadataFormats&lt;/a&gt;
  pour lister les schémas de métadonnées utilisées et
  &lt;a href=&quot;http://www.openarchives.org/OAI/openarchivesprotocol.html#ListSets&quot;&gt;ListSets&lt;/a&gt;
  pour lister les ensembles de l&#039;entrepôt OAI.&amp;nbsp;»
&lt;/p&gt;
&lt;p&gt;
  Le principe est à peu près équivalent, mais il va bien plus loin, puisque,
  dans le cas de Sparql, vous ne vous contentez pas de récupérer le nom du
  schéma de métadonnées et le lien vers sa grammaire, vous récupérez la
  structure complète. De même, vous n&#039;avez pas besoin de différents verbes qui
  sont limités à un seul type d&#039;actions, RDF pour exprimer les données et Sparql
  pour les interroger sont suffisamment puissants et génériques pour effectuer à
  peu près tous les types d&#039;interrogations sur un entrepôt de données avec une
  seule méthode et un seul langage de requêtes.
&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/sparql-maillon-essentiel-web-of-data#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/geekeries">Geekeries</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/67">Linked Data</category>
 <pubDate>Mon, 17 Sep 2007 08:43:18 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">974 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>RDF pour les nuls</title>
 <link>http://www.lespetitescases.net/rdf-pour-les-nuls</link>
 <description>&lt;p style=&quot;font-style:italic;margin-left:20px;margin-right:20px&quot;&gt;Préambule du 27 août 2007 : à la suite d&#039;un &lt;a href=&quot;http://www.biologeek.com/journal/index.php/rdf-pour-tous-du-publicateur-au-developpeur-web&quot;&gt;bon billet&lt;/a&gt; de David sur RDF, je voulais ajouter en commentaire la référence vers ce billet que j&#039;avais écrit le 8 septembre 2006 ; je me suis alors aperçu qu&#039;il n&#039;avait pas été récupéré lors de l&#039;import de mon ancien blog. Comme j&#039;avais un peu la flemme de rechercher dans mes archives persos, mon sauveur se nomme &lt;a href=&quot;http://www.archive.org/index.php&quot;&gt;Internet Archive&lt;/a&gt; dont le crawler salutaire avait indexé &lt;a href=&quot;http://web.archive.org/web/20061112121410/http://lespetitescases.net/rdf-pour-les-nuls&quot;&gt;cette page&lt;/a&gt;. Qu&#039;il en soit remercié. Le voici donc republié en l&#039;état, en espérant que les commentateurs de l&#039;époque m&#039;excuseront le fait que je ne récupère pas leur prose ;-).&lt;/p&gt;
&lt;p class=&quot;texte&quot;&gt;Pour vous faire apprécier pleinement toute la substantifique moelle du &lt;a href=&quot;http://lespetitescases.net/et-le-wiki-devint-semantique&quot;&gt;prochain billet&lt;/a&gt;, je me suis dit qu&#039;il serait peut-être utile de réexpliquer le principe général de RDF&lt;a class=&quot;footnotecall&quot; id=&quot;bodyftn1&quot; href=&quot;http://lespetitescases.net/rdf-pour-les-nuls#ftn1&quot;&gt;1&lt;/a&gt;. Je voulais rassembler toute cela en un billet, mais ça faisait un peu long, alors j&#039;ai séparé les choses. Donc, ceux qui ont déjà tout compris, vous pouvez attendre sagement le prochain billet (promis, il devrait arriver dans la foulée), pour ceux qui voudraient une piqûre de rappel voire plus, je vous invite à lire cet essai d&#039;explication pédagogique de RDF (vous me direz en commentaire si ça vous paraît clair).&lt;/p&gt;
&lt;!--break--&gt;&lt;p class=&quot;texte&quot;&gt;RDF n&#039;est pas un langage de programmation, ni même un langage à balises permettant de structurer une information. C&#039;est un modèle de description des données, c&#039;est d&#039;ailleurs le sens de l&#039;acronyme RDF : &lt;em&gt;Ressource description framework&lt;/em&gt;. Pour communiquer entre humains, nous disposons d&#039;un langage que l&#039;on qualifie de « naturel » pour le différencier avec les langages informatiques. RDF, c&#039;est un peu l&#039;équivalent de notre langage naturel pour permettre à des machines de communiquer entre elles. &lt;/p&gt;&lt;h1 id=&quot;heading1&quot;&gt;Une grammaire&lt;/h1&gt;&lt;p class=&quot;texte&quot;&gt;En langage naturel, pour décrire les données/choses/objets/concepts... on dispose des phrases qui sont composées de mots eux-mêmes constitués par l&#039;agencement de sons et organisés selon une grammaire (ouf !!). En RDF, ce sont les assertions, appelés aussi &lt;strong&gt;déclaration&lt;/strong&gt; dans la norme du W3C, qui jouent le rôle des phrase et qui possèdent une grammaire très simple : Sujet Prédicat Objet. En clair, faire du RDF consiste, en fait, « simplement » à écrire l&#039;équivalent de phrases simples pour que des machines (qui sont somme toute stupides) puissent se parler et échanger des données de façon intelligente. En multipliant ces phrases, on agrège de l&#039;information et on finit par créer des connaissances. Ces déclarations peuvent être représentées sous la forme d&#039;un graphe. Par conséquent, le RDF est un modèle de description de données sous forme de graphes. Donc &lt;strong&gt;premier élément&lt;/strong&gt; important : &lt;strong&gt;des phrases simples dites déclarations &lt;/strong&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;em&gt;statement&lt;/em&gt;&lt;/span&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt; dans la langue de Shakespeare)&lt;/span&gt;.&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;Évidemment, il n&#039;est pas possible d&#039;exprimer toutes les informations avec des phrases simples. C&#039;est pourquoi il existe en RDF des méthodes pour construire l&#039;équivalent de phrases plus complexes. Mais dans le cadre de cette explication, je vous propose d&#039;en rester là.&lt;/p&gt;&lt;h1 id=&quot;heading2&quot;&gt;Une syntaxe&lt;/h1&gt;&lt;p class=&quot;texte&quot;&gt;Pour inscrire le langage naturel sur un support en vue de son partage de façon asynchrone, nous disposons de l&#039;écriture constituant un système graphique d&#039;expression du langage. De la même façon, pour une machine, il est utile d&#039;exprimer les déclarations d&#039;une façon qu&#039;il sera capable de comprendre. Ainsi, on inscrit les déclarations/graphes RDF selon un système graphique, une syntaxe particulière. En fait, on peut même les écrire selon plusieurs syntaxes (un peu comme si on avait plusieurs types d&#039;alphabets différents). Il y a quatre syntaxes : XML, N3, N-triples, Turtle.&lt;/p&gt;&lt;h1 id=&quot;heading3&quot;&gt;Un référentiel commun&lt;/h1&gt;&lt;p class=&quot;texte&quot;&gt;Pour pouvoir communiquer et se comprendre, deux humains doivent utiliser un référentiel commun qui est exprimé dans un dictionnaire. C&#039;est le même principe en RDF, sauf qu&#039;en lieu et place du dictionnaire, nous disposons des URI qui peuvent être définis dans des vocabulaires RDF, d&#039;autres fichiers RDF comme des ontologies ou tout simplement une page Web. Par exemple, le vocabulaire FOAF définit le concept de personne. Si, dans un fichier RDF, le sujet décrit est de type personne, je vais le définir comme tel en utilisant l&#039;URI : &lt;a href=&quot;http://xmlns.com/foaf/0.1/Person&quot;&gt;http://xmlns.com/foaf/0.1/Person&lt;/a&gt;. &lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;Deux types d&#039;objets en RDF utilisent les URIs :&lt;/p&gt;&lt;ol style=&quot;list-style-type: disc;&quot;&gt;&lt;li&gt;&lt;p class=&quot;texte&quot;&gt;&lt;a href=&quot;http://www.la-grange.net/w3c/REC-rdf-syntax/#resource&quot;&gt;Une ressource&lt;/a&gt; qui correspond à toutes choses décrites par une expression RDF ;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class=&quot;texte&quot;&gt;&lt;a href=&quot;http://www.la-grange.net/w3c/REC-rdf-syntax/#property&quot;&gt;une propriété&lt;/a&gt; &lt;span style=&quot;font-style: normal;&quot;&gt;qui&lt;/span&gt; est un aspect, une caractéristique, un attribut, ou une relation spécifique utilisée pour décrire une ressource, en clair le prédicat&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p class=&quot;texte&quot;&gt;Exemple : « &lt;a href=&quot;http://lespetitescases.net/&quot;&gt;http://lespetitescases.net&lt;/a&gt; (ressource/sujet) &lt;a href=&quot;http://purl.org/dc/elements/1.1/author&quot;&gt;http://purl.org/dc/elements/1.1/title&lt;/a&gt; (propriété/prédicat) &#039;Les petites cases&#039;(objet) » est une déclaration RDF qui se traduit en langage naturel par : « le site Web dont l&#039;adresse est &lt;a href=&quot;http://lespetitescases.net/&quot;&gt;http://lespetitescases.net&lt;/a&gt; a pour titre les Petites cases ».&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;Comme on le voit à travers cet exemple, il est possible d&#039;indiquer l&#039;objet d&#039;une déclaration par une simple chaîne de caractère. On parle alors de litéral. Ce genre de propriété est appelé propriété de type de données. Mais, il est aussi possible de faire référence en objet à une ressource, on parle alors de propriété d&#039;objet.&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;Pour finir, voici un exemple compet&lt;a class=&quot;footnotecall&quot; id=&quot;bodyftn0&quot; href=&quot;http://lespetitescases.net/rdf-pour-les-nuls#ftn0&quot;&gt;2&lt;/a&gt; :&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;Je cherche à décrire ce site Web en RDF en utilisant la syntaxe XML :&lt;/p&gt;

&lt;pre&gt;&lt;p class=&quot;texte&quot;&gt;&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;&amp;lt;rdf:RDF xmlns:rdf=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;  xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;  &amp;lt;rdf:Description rdf:about=&quot;http://www.lespetitescases.net/&quot;&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;    &amp;lt;dc:title&amp;gt;Les petites cases&amp;lt;/dc:title&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;    &amp;lt;dc:author&amp;gt;Gautier Poupeau&amp;lt;/dc:author&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;    &amp;lt;dc:subject&amp;gt;Web sémantique&amp;lt;/dc:subject&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;    &amp;lt;dc:subject&amp;gt;XML&amp;lt;/dc:subject&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;    &amp;lt;dc:subject&amp;gt;Digital humanities&amp;lt;/dc:subject&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;  &amp;lt;/rdf:Description&amp;gt;&lt;/p&gt;&lt;p class=&quot;texte&quot;&gt;&amp;lt;/rdf:RDF&amp;gt;&lt;/p&gt;&lt;/pre&gt;&lt;p class=&quot;texte&quot;&gt;Voici la liste des assertions&lt;/p&gt;

&lt;table style=&quot;&quot;&gt;&lt;tbody&gt;&lt;tr style=&quot;&quot;&gt;&lt;td style=&quot;&quot;&gt;&lt;b&gt;Subject&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;&quot;&gt;&lt;b&gt;Predicate&lt;/b&gt;&lt;/td&gt;&lt;td style=&quot;&quot;&gt;&lt;b&gt;Object&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;&quot;&gt;&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://www.lespetitescases.net/&quot;&gt;http://www.lespetitescases.net/&lt;/a&gt;&lt;/td&gt;

&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://purl.org/dc/elements/1.1/title&quot;&gt;http://purl.org/dc/elements/1.1/title&lt;/a&gt;&lt;/td&gt;
&lt;td&gt;
&quot;Les petites cases&quot;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;&quot;&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://www.lespetitescases.net/&quot;&gt;http://www.lespetitescases.net/&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://purl.org/dc/elements/1.1/author&quot;&gt;http://purl.org/dc/elements/1.1/author&lt;/a&gt;&lt;/td&gt;

&lt;td style=&quot;&quot;&gt;
&quot;Gautier Poupeau&quot;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;&quot;&gt;

&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://www.lespetitescases.net/&quot;&gt;http://www.lespetitescases.net/&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://purl.org/dc/elements/1.1/subject&quot;&gt;http://purl.org/dc/elements/1.1/subject&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;
&quot;Web sémantique&quot;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;&quot;&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://www.lespetitescases.net/&quot;&gt;http://www.lespetitescases.net/&lt;/a&gt;&lt;/td&gt;

&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://purl.org/dc/elements/1.1/subject&quot;&gt;http://purl.org/dc/elements/1.1/subject&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;
&quot;XML&quot;
&lt;/td&gt;

&lt;/tr&gt;
&lt;tr style=&quot;&quot;&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://www.lespetitescases.net/&quot;&gt;http://www.lespetitescases.net/&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;&lt;a href=&quot;http://purl.org/dc/elements/1.1/subject&quot;&gt;http://purl.org/dc/elements/1.1/subject&lt;/a&gt;&lt;/td&gt;
&lt;td style=&quot;&quot;&gt;
&quot;Digital humanities&quot;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;p class=&quot;texte&quot;&gt;J&#039;aurais bien aimé vous proposer aussi le graphe de ces déclarations mais le RDF validator qui est censé le générer automatiquement est parfois un peu capricieux...&lt;/p&gt;				&lt;h2 class=&quot;notes&quot;&gt;Quelques notes en passant&lt;/h2&gt;

		
		&lt;p class=&quot;notebaspage&quot;&gt;&lt;a id=&quot;ftn1&quot; class=&quot;FootnoteSymbol&quot; href=&quot;http://lespetitescases.net/rdf-pour-les-nuls#bodyftn1&quot;&gt;1&lt;/a&gt; Zid, tu constateras avec plaisir que je suis tes conseils, je me répète ;-)&lt;/p&gt;&lt;p class=&quot;notebaspage&quot;&gt;&lt;a id=&quot;ftn0&quot; class=&quot;FootnoteSymbol&quot; href=&quot;http://lespetitescases.net/rdf-pour-les-nuls#bodyftn0&quot;&gt;2&lt;/a&gt; Cet exemple est inspiré de la présentation des résultats de le &lt;a href=&quot;http://www.w3.org/RDF/Validator/&quot;&gt;validateur RDF du W3C&lt;/a&gt;.&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/rdf-pour-les-nuls#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <pubDate>Mon, 27 Aug 2007 19:36:22 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">971 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Le Web sémantique rencontre....</title>
 <link>http://www.lespetitescases.net/le-web-semantique-rencontre</link>
 <description>&lt;p&gt;Preuve de la maturité des technologies et des standards du Web sémantique, les chercheurs et promoteurs du domaine vont à la rencontre d&#039;autres communautés pour leur proposer de nouvelles applications, des idées, des tutoriaux, leurs expertises... Bref, des rencontres se produisent qui amènent des projets qui montrent chaque jour un peu plus la pertinence du modèle. Voici une petite sélection repérée ces derniers jours.&lt;/p&gt;
&lt;h1&gt;Le semWeb rencontre les catalogues de bibliothèques&lt;/h1&gt;
&lt;p&gt;Comme tout le monde, je suis allé voir le projet &lt;a href=&quot;http://demo.openlibrary.org/&quot;&gt;Open Library&lt;/a&gt; lancé par Internet Archive. Quel ne fut pas ma déception de voir qu&#039;il n&#039;y avait dans le projet aucune réflexion autour de la modélisation des oeuvres avec FRBR, pas de notion d&#039;autorités, aucune relation entre les ouvrages... Bref, un bon vieux catalogue à la papa avec un formulaire de saisie bien rebutant. Quand on voit des initiatives comme &lt;a href=&quot;http://www.freebase.com&quot;&gt;Freebase&lt;/a&gt; (qui vient d&#039;ouvrir à tous, je vous conseille la visite) ou des sites comme &lt;a href=&quot;http://www.librarything.com/&quot;&gt;Library thing&lt;/a&gt;, comment peut-on encore faire des interfaces pareilles, sans même parler de Web sémantique ? Heureusement, Frédérik Giasson qui est un des développeurs de la &lt;a href=&quot;http://wiki.bibliontology.com/index.php/Main_Page&quot;&gt;Bibliographic ontology&lt;/a&gt; a &lt;a href=&quot;http://fgiasson.com/blog/index.php/2007/08/21/the-open-library-in-rdf-using-the-bibliographic-ontology/&quot;&gt;pris le taureau par les cornes&lt;/a&gt; (pas comme moi, qui me contente de jouer à l&#039;utilisateur grincheux...) et a contacté les promoteurs du projet pour transformer leurs données en RDF et les exposer via un Sparql endpoint. Me voilà ravi et un pas de plus entre le Web sémantique et les bibliothèques, dont la rencontre ne peut être que naturelle.&lt;/p&gt;
&lt;h1&gt;Le SemWeb rencontre les vocabulaires contrôlés&lt;/h1&gt;
&lt;p&gt;Plus qu&#039;une rencontre, ce couple s&#039;apparente plus à des parents. A l&#039;occasion de &lt;a href=&quot;http://www.dc2007.sg/&quot;&gt;DC 2007&lt;/a&gt; qui aura lieu la semaine prochaine, Alistaire Miles fera un tutoriel sur les vocabulaires contrôlés dont le &lt;a href=&quot;http://isegserv.itd.rl.ac.uk/public/ajm65/dc2007/tutorial.pdf&quot;&gt;diaporama&lt;/a&gt; est déjà disponible : objectifs, retour sur investissement, construction, comparaison avec les folksonomies, publication, &quot;skosification&quot;, extraction et alignement. Tout y est et c&#039;est très intéressant.&lt;/p&gt;
&lt;h1&gt;Le SemWeb rencontre le multimédia&lt;/h1&gt;
&lt;p&gt;Le &lt;a href=&quot;http://www.w3.org/2005/Incubator/mmsem/&quot;&gt;W3C multimedia Semantics incubator group&lt;/a&gt; a publié &lt;a href=&quot;http://www.w3.org/blog/SW/2007/08/20/reports_of_the_multimedia_semantics_incu&quot;&gt;une série de rapports&lt;/a&gt; faisant le point sur les normes et leurs équivalents existants en RDF/OWL pour décrire des objets multimédias (son, image, vidéo). Tout y passe : EXIF, MPEG 7... Cela pourra certainement vous donner des idées pour décrire vos objets en RDF.&lt;/p&gt;
&lt;h1&gt;Le SemWeb rencontre les utilisateurs d&#039;Excel&lt;/h1&gt;
&lt;p&gt;La syntaxe RDF/XML vous rebute, vous ne comprenez rien à Turtle ou N-Triples, mais vous êtes convaincu de l&#039;intérêt de RDF et vous avez une pléthore de fichier excel à convertir, alors &lt;a href=&quot;http://rdf123.umbc.edu/&quot;&gt;RDF123&lt;/a&gt; est fait pour vous. Ce logiciel transforme les données d&#039;un tableur en RDF et a été mis au point par &lt;a href=&quot;http://ebiquity.umbc.edu/blogger/2007/08/18/rdf123-maps-spreadsheet-data-to-rdf/&quot;&gt;Ebiquity group&lt;/a&gt;, déjà à l&#039;origine de &lt;a href=&quot;http://swoogle.umbc.edu/&quot;&gt;Swoogle&lt;/a&gt;, le moteur de recherche du Web sémantique.&lt;/p&gt;
&lt;h1&gt;Le SemWeb rencontre les moteurs de recherche&lt;/h1&gt;
&lt;p&gt;Henry Story de Sun explique dans ce &lt;a href=&quot;http://blogs.sun.com/bblfish/entry/sparqling_altavista_the_meaning_of&quot;&gt;billet&lt;/a&gt; que les requêtes des utilisateurs sur le moteur de recherche &lt;a href=&quot;http://altavista.com&quot;&gt;Altavista&lt;/a&gt; (j&#039;avoue que je ne savais pas qu&#039;Altavista existait toujours...) sont transformées en requête SPARQL dont les réponses au &lt;a href=&quot;http://www.w3.org/TR/rdf-sparql-XMLres/&quot;&gt;format XML ad-hoc&lt;/a&gt; sont transformés en XSL. Si j&#039;ai bien compris l&#039;intérêt de la méthode (mais je suis pas bien sûr sur ce coup-là), cela laisse entrevoir la possibilité de rendre transparent un formulaire Web pour une machine via sa modélisation en SPARQL. Cela signifie aussi qu&#039;on pourrait interroger le moteur via le protocole Sparql et si on étendait la méthode à tous les moteurs, oui, on obtiendrait un protocole unique pour interroger tous les moteurs. Et, ensuite, on pourrait relier les réponses avec les entrepôts RDF et puis.... Ho !! là, je m&#039;emballe, désolé...&lt;/p&gt;
&lt;p&gt;Et, pour finir, si vous vous demandez encore ce qu&#039;est le Web sémantique, son intérêt et vous y retrouvez entre RDF, OWL, RDFa, SPARQL et autres, je vous conseille cette &lt;a href=&quot;http://www.w3.org/2007/Talks/0831-Singapore-IH/Slides.pdf&quot;&gt;introduction au Web sémantique&lt;/a&gt; signée Ivan Herman du W3C faite à l&#039;occasion de &lt;a href=&quot;http://www.dc2007.sg/&quot;&gt;DC 2007&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Et, si après tout cela, vous n&#039;êtes pas encore convaincu que ça avance peu à peu et que le Web sémantique mérite votre attention, je ne sais que faire de plus ;-) Bonne lecture.&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/le-web-semantique-rencontre#comments</comments>
 <category domain="http://www.lespetitescases.net/index356">Management de l&amp;#039;information</category>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index355">Web sémantique</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/75">Folksonomie</category>
 <category domain="http://www.lespetitescases.net/index360">Moteur de recherche</category>
 <category domain="http://www.lespetitescases.net/index379">OWL</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/65">RDFa</category>
 <pubDate>Wed, 22 Aug 2007 22:56:52 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">967 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Le code de la knowledge box</title>
 <link>http://www.lespetitescases.net/code-knowledge-box</link>
 <description>&lt;p&gt;Plusieurs d&#039;entre vous m&#039;ont demandé le code de la &lt;a href=&quot;http://www.lespetitescases.net/amusons-nous-avec-rdfa&quot;&gt;&lt;em&gt;knowledge box&lt;/em&gt;&lt;/a&gt;. C&#039;est avec plaisir que je vous en fais part, mais autant vous prévenir tout de suite je suis un très mauvais codeur quand il s&#039;agit d&#039;utiliser un langage de programmation. Merci d&#039;avance pour votre indulgence à ce niveau ;-).
&lt;/p&gt;
&lt;p&gt;
Six parties composent la &lt;em&gt;knowledge box&lt;/em&gt; :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la classe PHP, RAP, RDF API for PHP mis au point par Chris Bizer, qui permet d&#039;interroger le SPARQL end point de Dbpedia ;&lt;/li&gt;
&lt;li&gt;Un script PHP qui utilise cette classe et qui rapatrie les données ;&lt;/li&gt;
&lt;li&gt;Un script javascript très très simple pour l&#039;AJAX ;&lt;/li&gt;
&lt;li&gt;Un bout de code PHP à introduire dans un bloc de Drupal ;&lt;/li&gt;
&lt;li&gt;les triples RDFa dans votre contenu ;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Pour RAP, il suffit de le télécharger et de le poser dans votre arborescence. Attention au chemin, il nous sera utile pour y faire référence dans le script PHP.
&lt;/p&gt;&lt;p&gt;
Le script PHP permet d&#039;interroger le serveur SPARQL de Dbpedia, de construire la requête et de formater la réponse qui revient en HTML zarbi... (j&#039;ai l&#039;impression qu&#039;il y a un bug à ce niveau chez Dbpedia).&lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;!--Le chemin vers RAP --&amp;gt;&lt;br /&gt;define(&amp;quot;RDFAPI_INCLUDE_DIR&amp;quot;, &amp;quot;./api/&amp;quot;);&lt;br /&gt;include(RDFAPI_INCLUDE_DIR . &amp;quot;RdfAPI.php&amp;quot;);&lt;br /&gt;&amp;lt;!--Ici on récupère l&amp;#039;argument URI dans l&amp;#039;URL qui correspond à l&amp;#039;objet du triple RDF, par exemple, http:/dbpedia.org/resource/Tim_Berners-Lee--&amp;gt;&lt;br /&gt;$uri=$_GET[&amp;#039;uri&amp;#039;];&lt;br /&gt;&amp;lt;!--J&amp;#039;instancie un appel au serveur SPARQL de Dbpedia--&amp;gt;&lt;br /&gt;	$client = ModelFactory::getSparqlClient(&amp;quot;http://dbpedia.org/sparql&amp;quot;);&lt;br /&gt;&amp;lt;!--Je demande les résultats au format XML, mais pour l&amp;#039;instant il semble qu&amp;#039;il y a un bug et c&amp;#039;est du HTML zarbi qui est renvoyé--&amp;gt;&lt;br /&gt;	$client-&amp;gt;setOutputFormat(&amp;quot;xml&amp;quot;);&lt;br /&gt;&amp;lt;!--La requête en SPARQL : concrètement, je récupère le résumé en français et le lien vers la page de la wikipedia francophone--&amp;gt;&lt;br /&gt;	$querystring = &amp;quot;&lt;br /&gt;	PREFIX owl: &amp;gt;http://www.w3.org/2002/07/owl#&amp;gt;&lt;br /&gt;	PREFIX xsd: &amp;gt;http://www.w3.org/2001/XMLSchema#&amp;gt;&lt;br /&gt;	PREFIX rdfs: &amp;lt;http://www.w3.org/2000/01/rdf-schema#&amp;gt;&lt;br /&gt;	PREFIX rdf: &amp;lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&amp;gt;&lt;br /&gt;	PREFIX foaf: &amp;lt;http://xmlns.com/foaf/0.1/&amp;gt;&lt;br /&gt;	PREFIX dc: &amp;lt;http://purl.org/dc/elements/1.1/&amp;gt;&lt;br /&gt;	PREFIX : &amp;lt;http://dbpedia.org/resource/&amp;gt;&lt;br /&gt;	PREFIX dbpedia2: &amp;lt;http://dbpedia.org/property/&amp;gt;&lt;br /&gt;	PREFIX dbpedia: &amp;lt;http://dbpedia.org/&amp;gt;&lt;br /&gt;	PREFIX skos: &amp;lt;http://www.w3.org/2004/02/skos/core#&amp;gt;&lt;br /&gt;	SELECT ?hasValue ?wikifr&lt;br /&gt;	WHERE {&lt;br /&gt;	{ &amp;lt;&amp;quot;.$uri.&amp;quot;&amp;gt; &amp;lt;http://dbpedia.org/abstract&amp;gt; ?hasValue.&lt;br /&gt;	&amp;nbsp; &amp;lt;&amp;quot;.$uri.&amp;quot;&amp;gt; &amp;lt;http://dbpedia.org/property/wikipage-fr&amp;gt; ?wikifr&lt;br /&gt;	 }&lt;br /&gt;	FILTER ( lang(?hasValue) = \&amp;quot;fr\&amp;quot; )&lt;br /&gt;	}&lt;br /&gt;	&amp;quot;;&lt;br /&gt;	$query = new ClientQuery();&lt;br /&gt;	$query-&amp;gt;query($querystring);&lt;br /&gt;	$result = $client-&amp;gt;query($query);&lt;br /&gt;	$result=&amp;quot;&amp;lt;div&amp;gt;&amp;quot;.$result.&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;&amp;lt;!--Mise en forme du résultat avec un peu de XPath et simpleXML de PHP5--&amp;gt;&lt;br /&gt;	$xml = new SimpleXMLElement($result);&lt;br /&gt;	if ($xml-&amp;gt;xpath(&amp;#039;/div/table/tr[2]&amp;#039;)) {&lt;br /&gt;		foreach($xml-&amp;gt;xpath(&amp;#039;/div/table/tr[2]&amp;#039;) as $line) {&lt;br /&gt;			echo &amp;quot;&amp;lt;span&amp;gt;&amp;quot;.$line-&amp;gt;td[0].&amp;quot;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;a href=&amp;quot;.$line-&amp;gt;td[1].&amp;quot;&amp;gt;En savoir plus&amp;lt;/a&amp;gt;&amp;quot;;&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;	else {&lt;br /&gt;		echo &amp;quot;pas d&amp;#039;informations&amp;quot;;&lt;br /&gt;	}&lt;/code&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;
Le script Javascript pour l&#039;AJAX est ultra simple (j&#039;ai repris le script AJAX pour débutants ;-) ). Il se contente de ramener la page Web query.php à laquelle je fais passer l&#039;argument URI :&lt;/p&gt;
&lt;pre&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;function objAjax(){&lt;br /&gt;	var xhr = null; &lt;br /&gt;	if(window.XMLHttpRequest) // Firefox et autres&lt;br /&gt;		xhr = new XMLHttpRequest(); &lt;br /&gt;	else if(window.ActiveXObject){ // Internet Explorer &lt;br /&gt;		try {&lt;br /&gt;			xhr = new ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;);&lt;br /&gt;		} catch (e) {&lt;br /&gt;			xhr = new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;	else { // XMLHttpRequest non supporté par le navigateur &lt;br /&gt;		alert(&amp;quot;Votre navigateur ne supporte pas les objets XMLHTTPRequest...&amp;quot;); &lt;br /&gt;		xhr = false; &lt;br /&gt;	} &lt;br /&gt;	return xhr&lt;br /&gt;	}&lt;br /&gt;/*** Méthode qui sera appelée sur le click du bouton*/&lt;br /&gt;function go(arg1){&lt;br /&gt;	var xhr = objAjax()&lt;br /&gt;	// On défini ce qu&amp;#039;on va faire quand on aura la réponse&lt;br /&gt;	xhr.onreadystatechange = function(){&lt;br /&gt;		if(xhr.readyState == 1) {&lt;br /&gt;			document.getElementById(&amp;#039;reponse&amp;#039;).innerHTML=&amp;quot;&amp;lt;img src=&amp;#039;http://www.lespetitescases.net/images/spinner.gif&amp;#039;/&amp;gt;&amp;quot;&lt;br /&gt;		}&lt;br /&gt;		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok&lt;br /&gt;		if(xhr.readyState == 4 &amp;amp;&amp;amp; xhr.status == 200){&lt;br /&gt;			var reponse=xhr.responseText.replace( /\\u0*([0-9A-F]*)/g, &amp;#039;&amp;amp;#x$1;&amp;#039; );&lt;br /&gt;			var reponse=reponse.replace(/\\n/g, &amp;#039;&amp;lt;br/&amp;gt;&amp;#039;);&lt;br /&gt;			document.getElementById(&amp;#039;reponse&amp;#039;).innerHTML=reponse;&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;	var url=&amp;quot;http://lespetitescases.net/essai/rapi/query.php?uri=&amp;quot;+arg1&lt;br /&gt;	xhr.open(&amp;quot;GET&amp;quot;,url,true);&lt;br /&gt;	xhr.send(null);&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;
Dans Drupal (je vous laisse adapter en fonction de votre CMS), il faut créer un nouveau bloc que j&#039;ai limité à un billet, pour l&#039;instant, avec ce code dont l&#039;idée est d&#039;analyser le contenu pour trouver les attributs RDFa (dans cet exemple, je me suis contenté de l&#039;attribut rel et de la valeur owl:sameAs) : &lt;/p&gt;
&lt;pre&gt;&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;if (arg(0) == &amp;#039;node&amp;#039; &amp;amp;&amp;amp; is_numeric(arg(1)) &amp;amp;&amp;amp; is_null(arg(2))) {&lt;br /&gt;&amp;nbsp; //Je récupère l&amp;#039;ID du node&lt;br /&gt;&amp;nbsp; $nid = (int)arg(1);&lt;br /&gt;&amp;nbsp; //Je vais récupérer le corps de ce node dans la base de données MYsql	&lt;br /&gt;&amp;nbsp; $sql = &amp;quot;SELECT title,body FROM node_revisions WHERE nid={$nid}&amp;quot;;&lt;br /&gt;&amp;nbsp; $result = db_query(db_rewrite_sql($sql));&lt;br /&gt;&amp;nbsp; while ($anode = db_fetch_object($result)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $content=$anode-&amp;gt;body;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $content=&amp;quot;&amp;lt;div&amp;gt;&amp;quot;.$content.&amp;quot;&amp;lt;/div&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $xml = new SimpleXMLElement($content);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Je fais une requête XPath pour trouver tous les noeuds qui comportent l&amp;#039;attribut rel avec la valeur owl:sameAs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ($xml-&amp;gt;xpath(&amp;#039;//node()[@rel=&amp;quot;owl:sameAs&amp;quot;]&amp;#039;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;&amp;lt;ul&amp;gt;&amp;quot;;&lt;br /&gt;	//Pour chacun de ces noeuds, je le mets en forme&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach($xml-&amp;gt;xpath(&amp;#039;//node()[@rel=&amp;quot;owl:sameAs&amp;quot;]&amp;#039;) as $triple) {&lt;br /&gt;	$url=$triple[&amp;#039;href&amp;#039;];&lt;br /&gt;	$string=$triple;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Je fais l&amp;#039;appel au javascript en passant en argument l&amp;#039;URI objet.&lt;br /&gt;	echo &amp;quot;&amp;lt;li&amp;gt;&amp;lt;a href=&amp;#039;#&amp;#039; onclick=&amp;#039;go(\&amp;quot;&amp;quot;.$url.&amp;quot;\&amp;quot;)&amp;#039;&amp;gt;&amp;quot;.$triple.&amp;quot;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;&amp;lt;/ul&amp;gt;&amp;lt;span id=&amp;#039;reponse&amp;#039;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;br/&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;&amp;lt;p&amp;gt;Pas de triplets RDFa dans ce billet&amp;lt;/p&amp;gt;&amp;quot;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;
Et pour finir, il faut introduire les triplets en RDFa dans votre contenu :&lt;/p&gt;
&lt;pre&gt;
&lt;div class=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;span id=&amp;quot;php&amp;quot; about=&amp;quot;#php&amp;quot; rel=&amp;quot;owl:sameAs&amp;quot; href=&amp;quot;http://dbpedia.org/resource/PHP&amp;quot;&amp;gt;PHP&amp;lt;/span&amp;gt;&lt;/code&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;p&gt;
Pour retrouver l&#039;URI, vous pouvez utiliser &lt;a href=&quot;http://dbpedia.org/snorql/?query=select+distinct+%3Fx%2C+%3Fy+where+%0D%0A%7B+%3Fx+dbpedia%3Aabstract+%3Fy+.+%0D%0A++%3Fy+bif%3Acontains+%22PHP%22.+%0D%0A+filter+%28lang%28%3Fy%29%3D%22fr%22%29+.+%0D%0A%7D&quot;&gt;l&#039;interrogation plein texte de Dbpedia&lt;/a&gt; avec bif:contains.
&lt;/p&gt;&lt;p&gt;
Comment améliorer cette knowledge box ? Je vois plusieurs pistes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Amélioration du code ;-)&lt;/li&gt;
&lt;li&gt;Permettre à l&#039;utilisateur de rapatrier d&#039;autres propriétés, c&#039;est à dire paramétrer la requête SPARQL&lt;/li&gt;
&lt;li&gt;Ne pas se limiter à Dbpedia, mais rapatrier des informations contenues dans un fichier FOAF, par exemple, ou dans un autre RDF triple Store&lt;/li&gt;
&lt;li&gt;Afficher une carte de Yahoo Maps ou de Google Maps quand le sujet est un lieu&lt;/li&gt;
&lt;li&gt;Et toutes vos idées...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Il n&#039;y a pas de licences, vu la bidouille de ce code, mais vous pouvez le récupérer, l&#039;adapter, le triturer, l&#039;améliorer...&lt;/p&gt;
&lt;p&gt;Bon amusement !!&lt;/p&gt;

&lt;p&gt;PS: j&#039;allais oublier que si quelqu&#039;un veut traduire en anglais ce billet et le précédent, ce sera aussi avec plaisir... &lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/code-knowledge-box#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index657">Sparql</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/66">Outils</category>
 <category domain="http://www.lespetitescases.net/index379">OWL</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/65">RDFa</category>
 <category domain="http://www.lespetitescases.net/geekeries">Geekeries</category>
 <pubDate>Sun, 15 Jul 2007 13:15:50 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">959 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>Quelles sont les éléments d&#039;une architecture documentaire ?</title>
 <link>http://www.lespetitescases.net/node/958</link>
 <description>&lt;p&gt;
  Dans une organisation, on crée et on échange de l&#039;information. Mais on n&#039;y
  accède pas de manière uniforme : selon les personnes qui veulent y accéder ou
  utiliser ces informations, selon leurs différentes fonctions dans
  l&#039;organisation, ils auront besoin d&#039;y accéder de manière différente, pour des
  besoins différents. Toutefois, l&#039;information, elle, reste toujours la même :
  c&#039;est sa présentation et son usage qui change, ce sont les différents services
  que l&#039;on construit au-dessus de cette information qui doivent changer suivant
  les besoins.
&lt;/p&gt;&lt;!--break--&gt;
&lt;p&gt;
  Comme l&#039;information ne change pas - seuls les usages qu&#039;on en fait changent -
  on a intérêt à la modéliser correctement. Pour cela, en fonction des
  différents besoins identifiés, on va définir des types d&#039;information et
  étudier leur structure de façon à pouvoir les encoder dans la syntaxe la plus
  appropriée, celle-ci étant indépendante des applications logicielles (au
  hasard, XML). Toutefois, cette information même structurée ne se suffit pas à
  elle-même : on a besoin de savoir comment la représenter, et pour cela on a
  besoin de savoir différentes choses : comment elle a été techniquement
  structurée, où elle est stockée, qui a le droit d&#039;y accéder, quand et
  pourquoi, quel est son contenu, quelle est sa relation avec l&#039;information
  voisine, etc. Tout ce contexte est indispensable à la compréhension et à la
  représentation de l&#039;information et peut être englobé sous le terme de
  «&amp;nbsp;description&amp;nbsp;» ou «&amp;nbsp;métadonnées&amp;nbsp;» et on utilise un modèle
  approprié pour le structurer et l&#039;encoder (au hasard, RDF). L&#039;information,
  accompagnée de sa description, devient une ressource et il ne nous manque plus
  qu&#039;un ingrédient pour pouvoir la manipuler dans le système : quelque chose qui
  va permettre de relier facilement l&#039;information à sa description, des
  informations entre elles, des descriptions entre elles. Pour cela elles ont
  besoin de s&#039;interpeller mutuellement, de se nommer, de s&#039;adresser. Bref, il
  nous faut des identifiants, des URI.
&lt;/p&gt;
&lt;p&gt;
  Maintenant il faut bien que cette ressource serve à quelque chose. On va
  l&#039;utiliser pour répondre aux besoins qu&#039;on avait identifié au début. Ce qui
  nous importe ici, c&#039;est le message qui circule entre l&#039;utilisateur et les
  informations elles-mêmes. Ce message doit aussi être exprimé dans une syntaxe
  indépendante des applications (au hasard, XML) et être véhiculé par un protocole indépendant des applications (au hasard, HTTP). Des services ou plutôt des Web-services  (qu&#039;ils suivent le principe de SOAP ou de
  &lt;a href=&quot;http://www.christian-faure.net/2007/06/22/restful-web-services/&quot;&gt;REST&lt;/a&gt;) vont ainsi être créés et, ainsi, alimentés des interfaces pour répondre aux besoins des utilisateurs
&lt;/p&gt;
&lt;p&gt;
  Autour de cette architecture, il est à présent possible de déployer des
  &lt;a href=&quot;http://fr.wikipedia.org/wiki/Enterprise_Service_Bus&quot;&gt;solutions&lt;/a&gt; et des interfaces. Mais, en maîtrisant le socle informationnel, vous
  possédez une indépendance par rapport à la solution implémentée, vous n&#039;êtes
  pas contraint et si vous devez la modifier, vous garderez la maîtrise de vos
  données. Par ailleurs, dans ces conditions, un moteur de recherche ou un outil
  de &lt;em&gt;text-mining&lt;/em&gt; s&#039;intégreront beaucoup mieux à cet écosystème
  informationnel, ils profiteront de la structuration et de la description de
  l&#039;information et ne seront plus des outils &quot;verrues&quot; et magiques, mais donneront
  tout leur potentiel.
&lt;/p&gt;
&lt;p&gt;
  Finalement, cette logique amène à se poser la question suivante&amp;nbsp;:
  «&amp;nbsp;dans un système d&#039;information, où se situe la valeur de l&#039;organisation,
  dans l&#039;information qui le compose ou dans l&#039;application qui manipule
  l&#039;information&amp;nbsp;?&amp;nbsp;»
&lt;/p&gt;
&lt;p&gt;PS&amp;nbsp;: Merci à &lt;a href=&quot;http://figoblog.org/&quot;&gt;Manue&lt;/a&gt; qui m&#039;a permis &quot;d&#039;accoucher&quot; sans douleur de ce billet, en mettant par écrit une partie de ces quelques idées qui sont autant les miennes que les siennes.&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/node/958#comments</comments>
 <category domain="http://www.lespetitescases.net/index356">Management de l&amp;#039;information</category>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index354">XML</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/64">Système d&amp;#039;information</category>
 <category domain="http://www.lespetitescases.net/causeries">Causeries</category>
 <category domain="http://www.lespetitescases.net/index360">Moteur de recherche</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/70">Web services</category>
 <pubDate>Sun, 08 Jul 2007 11:20:41 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">958 at http://www.lespetitescases.net</guid>
</item>
<item>
 <title>La pelote spéciale RDFa et autres</title>
 <link>http://www.lespetitescases.net/pelote-speciale-rdfa-et-autres</link>
 <description>  &lt;p&gt;   Pour finir (provisoirement) avec les billets sur RDFa, je vous propose une petite pelote sur le sujet qui vous prouvera que c&#039;est la techno qui monte et comme il faut vider l&#039;agrégateur, j&#039;y ajouterai deux-trois autres choses. &lt;/p&gt; &lt;p&gt;   Pour ceux qui s&#039;intéressent au RDFa, le site à ne pas louper : &lt;a href=&quot;http://rdfa.info/&quot;&gt;RDFa.info&lt;/a&gt;, tenu par Ben Adida (que je remercie au passage pour le &lt;a href=&quot;http://rdfa.info/2007/05/29/more-people-trying-rdfa-for-its-consistent-syntax/&quot;&gt;billet &lt;/a&gt; et le commentaire sur &lt;a href=&quot;http://lespetitescases.net/amusons-nous-avec-rdfa&quot;&gt;ma &lt;em&gt;ch&#039;tite&lt;/em&gt; knowledge box&lt;/a&gt;), Mark Birbeck, Steven Pemberton et Michael Hausenblas. Ce blog centralise toutes les informations qui sortent à droite à gauche sur le sujet (et du coup, la principale source de cette pelote). &lt;/p&gt; &lt;p&gt;   RDFa a fait parler de lui dans les différentes conférences &lt;a href=&quot;http://lespetitescases.net/il-est-venu-le-temps-des-conferences&quot;&gt;dont je vous ai déjà parlé&lt;/a&gt; : &lt;/p&gt; &lt;!--break--&gt;&lt;ul&gt;   &lt;li&gt;     A Xtech 2007, Elias Torres d&#039;IBM a fait le point sur les différentes syntaxes pour embarquer des métadonnées dans du code HTML (microformats, eRDF et RDFa) et sur le GRRDL pour les extraire dans sa communication &lt;a href=&quot;http://2007.xtech.org/public/schedule/paper/40&quot;&gt;Open data in HTML&lt;/a&gt;   &lt;/li&gt;   &lt;li&gt;     Pour &lt;a href=&quot;http://www2007.org/&quot;&gt;www2007&lt;/a&gt;, &lt;a href=&quot;http://rdfa.info/2007/05/21/several-rdfa-talks-at-www2007/&quot;&gt;RDFa.info a relevé toutes les communications&lt;/a&gt; qui abordait le sujet. Je vous recommande, entre autres, la lecture du superbe tutoriel de Dan Connolly et Harry Halpin qui, en terme plus geeky qu&#039;Elias, fait un point très complet sur les mêmes sujets et même plus : &lt;a href=&quot;http://www.w3.org/2001/sw/grddl-wg/tut7/gtut#%281%29&quot;&gt;Deploying Web-scale Mash-ups by linking Microformats and the Semantic Web&lt;/a&gt; en &lt;a href=&quot;http://www.w3.org/2001/sw/grddl-wg/tut7/gtut2.html#%281%29&quot;&gt;deux parties&lt;/a&gt;.   &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;   Côté implémentation et outils, ça bouge aussi et le mois qui vient de s&#039;écouler a été riche en annonce : &lt;/p&gt; &lt;ul&gt;   &lt;li&gt;     &lt;a href=&quot;http://jena.sourceforge.net/&quot;&gt;Jena&lt;/a&gt;, le framework java pour le Web sémantique soutenu par HP, propose un &lt;a href=&quot;http://rdfa.info/2007/05/25/jena-supports-rdfa/&quot;&gt;support de RDFa&lt;/a&gt;.   &lt;/li&gt;   &lt;li&gt;     Le &lt;a href=&quot;http://rdfa.rubyforge.org/&quot;&gt;support de RDFa pour le langage Ruby on rails&lt;/a&gt;     &lt;/li&gt;&lt;li&gt;       Moins geeky, sur le site du W3C, vous trouverez des &lt;a href=&quot;http://www.w3.org/2006/07/SWD/RDFa/impl/js/&quot;&gt;bookmarklets en javascript&lt;/a&gt; dont une nouvelle version vient d&#039;être publiée et qui permettent de mettre en lumière les RDFa contenus dans une page Web et un &lt;a href=&quot;http://www.w3.org/2006/07/SWD/RDFa/impl/js/rdfa-clipboard/&quot;&gt;nouvel outil&lt;/a&gt; qui permet de copier/coller les RDFa sous la forme de triples exprimés en RDF/XML.     &lt;/li&gt;     &lt;li&gt;       Mais, l&#039;annonce la plus importante nous vient de l&#039;inévitable Elias Torres : &lt;a href=&quot;http://torrez.us/archives/2007/05/17/531/&quot;&gt;le support de RDFa par l&#039;extension firefox dédiée aux microformats : Operator&lt;/a&gt;. J&#039;attends avec impatience la sortie de la prochaine version pour transférer le principe de la knowledge box sur Operator...     &lt;/li&gt; &lt;/ul&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;   Comme l&#039;a bien dit &lt;a href=&quot;http://apassant.net/foaf.rdf&quot; rel=&quot;owl:sameAs&quot;&gt;Alex&lt;/a&gt; dans &lt;a href=&quot;http://lespetitescases.net/amusons-nous-avec-rdfa#comment-234&quot;&gt;un commentaire du billet précédent&lt;/a&gt;, &quot;Reste à simplifier la publication&quot;... &lt;/p&gt; &lt;p&gt;   Pour alimenter les métadonnées en RDFa, on pourra compter sur le formidable élan qui est en train de se créer autour du concept de &lt;a href=&quot;http://esw.w3.org/topic/LinkedData&quot;&gt;linked data&lt;/a&gt;. Le principe est de relier les différents entrepôts RDF, par exemple &lt;a href=&quot;http://dbpedia.org&quot;&gt;les données de DBpedia&lt;/a&gt; avec &lt;a href=&quot;http://www.geonames.org/ontology/&quot;&gt;les données géographiques de geonames&lt;/a&gt; et de naviguer à travers ces différents entrepôts via des navigateurs dédiés comme &lt;a href=&quot;http://www.w3.org/2005/ajar/tab&quot;&gt;Tabulator&lt;/a&gt;, &lt;a href=&quot;http://sites.wiwiss.fu-berlin.de/suhl/bizer/ng4j/disco/&quot;&gt;Disco&lt;/a&gt; ou &lt;a href=&quot;http://demo.openlinksw.com/DAV/JS/rdfbrowser/index.html&quot;&gt;Open link data browser&lt;/a&gt;. &lt;a href=&quot;http://dannyayers.com/2007/05/24/linked-data-again-again&quot;&gt;Danny Ayers&lt;/a&gt; et &lt;a href=&quot;http://dig.csail.mit.edu/breadcrumbs/node/194&quot;&gt;Dan Connolly&lt;/a&gt; sont enthousiastes et &lt;a href=&quot;http://lespetitescases.net/rdf-par-l-apprentissage-foaf&quot;&gt;FOAF&lt;/a&gt; dont une &lt;a href=&quot;http://dannyayers.com/2007/05/25/foaf-0&quot;&gt;nouvelle version&lt;/a&gt; vient de sortir &lt;a href=&quot;http://www.openlinksw.com/blog/%7Ekidehen/?id=1202&quot;&gt;rentre dans la danse&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;   Pour ceux qui ne seraient pas encore convaincus par les technologies liées à RDF et qui auront le courage de lire ce billet jusque là, je vous conseille la lecture de &lt;a href=&quot;http://artist.inist.fr/article.php3?id_article=406&quot;&gt;cet interview sur le site d&#039;ARTIST de Yann Nicolas&lt;/a&gt;, conservateur à l&#039;ABES et responsable de TEF qui, à la question : « Demain, va-t-on encore évoluer vers de nouveaux standards ou l’un va-t-il s’imposer pour devenir LA norme ? », répond « &lt;strong&gt;Sans surprise, je mise sur RDF&lt;/strong&gt; ». &lt;/p&gt; &lt;p&gt;   Sinon, rien à voir, quoique... J&#039;ai été bluffé par une expérimentation du labs de Google signalée par &lt;a href=&quot;http://ebiquity.umbc.edu/blogger/2007/06/01/google-adds-time-and-map-views-for-search-results/&quot;&gt;Tim Finin&lt;/a&gt; qui permet de consulter les résultats d&#039;une recherche sous &lt;a href=&quot;http://www.google.com/views?q=%22Louis+XIV%22+view%3Atimeline&amp;btnGt=Search&amp;hl=en&quot;&gt;la forme d&#039;une frise chronologique&lt;/a&gt; ou &lt;a href=&quot;http://www.google.com/views?q=%22olympics%22+view:map&amp;hl=en&amp;sa=N&amp;ct=map&quot;&gt;sur une carte&lt;/a&gt;. C&#039;est encore à optimiser, mais c&#039;est prometteur (pas le courage de faire une analyse des implications de cette innovation, d&#039;autres s&#039;en chargeront très bien ;-) ). Il faut l&#039;avouer, ils sont forts quand même chez Google...&lt;br&gt;&lt;/p&gt;</description>
 <comments>http://www.lespetitescases.net/pelote-speciale-rdfa-et-autres#comments</comments>
 <category domain="http://www.lespetitescases.net/index308">RDF</category>
 <category domain="http://www.lespetitescases.net/index360">Moteur de recherche</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/65">RDFa</category>
 <category domain="http://www.lespetitescases.net/geekeries">Geekeries</category>
 <category domain="http://www.lespetitescases.net/taxonomy/term/67">Linked Data</category>
 <pubDate>Mon, 04 Jun 2007 20:31:02 +0200</pubDate>
 <dc:creator>got</dc:creator>
 <guid isPermaLink="false">952 at http://www.lespetitescases.net</guid>
</item>
</channel>
</rss>
