RDF

Contents

    See also…

    Key resources

    Introduction

    Motivation

    Le web est classiquement organisé en documents, liés les uns aux autres par des liens hypertexte. Historiquement, la recherche (donc la compréhension par les machines) dans le web se fait à l'aide de mots clé… auquels aucune sémantique n'est donc associée, et qui ne connaissent pas les frontières des objets rencontrés dans chaque page. Se pose donc la question de fournir aux machines (pas directement aux humains !) un niveau plus élevé de compréhension des informations en les structurant sémantiquement. Pour cela, on va chercher à fournir une manière de lier les données les unes aux autres, de mettre ensemble les morceaux de connaissances relatifs à une même donnée et éparpillés sur le web. Par ce changement de perspective, le concept central n'est plus le document, mais la donnée. On passe ainsi des données sur le web au web des données.

    "I will never touch that crap of RDF or the semantic web; this is a pipe dream of reality ignoring academics and I will not have it. I will only use JSON-LD."
    Phil Archer, W3C Data Activity Lead
    Keynote of Semantics 2014

    Les microformats adresse la préoccupation sémantique

    Ceci n'est pas une spécification du Web sémantique (du W3C). C'est une approche simple et pragmatique pour inclure des informations sémantiques dans une page HTML. Pour cela, les attributs `class`, `rel` et `rev` sont utilisés pour embarquer les informations spécifiques à des domaines bien identifiés. De nombreux domaines sont pris en charge par les principaux moteurs de recherche.

    Plusieurs vocabulaires spécifiques a un domaine sont standardisés :

    Exemple avec microformat v1 (vcard) et v2 (h-card):

    <ul class="h-card vcard">
       <li class="p-name fn">Joe Doe</li>
       <li class="p-org org">The Example Company</li>
       <li class="p-tel tel">604-555-1234</li>
       <li><a class="u-url url" href="http://example.com/">http://example.com/</a></li>
     </ul>
    

    A noter que les classes s'utilisent de manière imédiate sans nécessité de référence à une définition vocabulaire.

    Le concept de Linked data adresse le lien entre les données

    https://www.w3.org/DesignIssues/LinkedData.html

    Approche

    Pour que le web soit sémantique, il faut :

    → c'est là tout le propos de RDF !

    RDF concepts et syntaxe abstratite

    Le document de référence sur cette partie est le suivant : https://www.w3.org/TR/rdf11-concepts/. Attention, la lecture de ce document nécessite une précompréhension de RDF que l'on peut facilement obtenir par la lecture du RDF primer.

    Cette section va présenter les concepts suivants :

    Le concept de base de RDF est le `statement`. Chaque `statement` est une pensée sur le monde. Il permet permet de lier deux ressources par une connexion orientée qui est étiquetée (labeled connection).

    Chaque statement est représenté formellement par un `RDF triple`, un triplet `(s,p,o)` formé de :

    Ainsi, dans "Dave likes cookies", Dave est le sujet, likes est le prédicat, et cookies est l'objet.

    Les termes RDF sont les suivants

    termes RDF sujet predicat object
    IRI X X X
    literal     X
    blank node X   X

    Notons que deux `literal` peuvent ne pas avoir le même terme RDF, mais représenter la même valeur. Par exemple `"1"^^xs:integer` et `"01"^^xs:integer`.

    La ressource pointée/référencée par une IRI est qualifiée de `referent`, et un litéral représentant une ressource est qualifié de `literal value`.

    Les namespaces ne font PAS partie du data modèle RDF, même s'ils sont très utilisés dans les formats de sérialisation. De plus, le terme "namespace" n'a pas de contenu bien défini dans le contexte de RDF, même s'il est souvent utilisé de manière informelle pour désigner un vocabulaire RDF ou la partie commune aux URIs de ce vocabulaire (souvent transformé en prefixe dans les sérialisations).

    Sémantic extensions

    RDF Schema

    RDF Schema est une extension sémantique qui apporte un vocabulaire (donc un ensemble d'IRI) pour modéliser d'autres vocabulaires plus complexes en associant des règles sémantiques et logiques à ce vocabulaire de base. C'est donc un langage de description des vocabulaires RDF. Cette extension est tellement utilisée qu'elle fait presque partie de RDF.

    RDF Schema est écrit en RDF, et défini notamment

    Ce sont les deux concepts clé, qui sont cependant destabilisants au premier regard. Habituellement, en POO, on défini une classe qui a des attributs typés. Par exemple, nous définissons la classe `eg:Book` qui a un attribut `eg:author` de type `eg:Person`. Le problème de cette approche qui part de la classe est l'impossibilité de modifier une classe existante sans la sousclasser. C'est là le point que cherche à adresser les concepts de `domain` et de `range`.

    Avec les Schema RDF, nous dirons au contraire que la propriété `eg:author` a le domaine `eg:Book` et le range `eg:Person`. On vient donc greffer les attributs (propriétés) aux classes.

    Référence

    OWL

    Langage d'ontologies avec un vocabulaire plus comple et un pouvoir expressif plus important :

    RIF

    Generic framework to define rules on terms and data.

    Vocabulaires RDF "standards de fait" basés sur RDF schema

    see : Linked Open Vocabularies

    SPARQL (Query Language for RDF)

    Syntaxes concrètes pour sérialiser des statements RDF

    Un document RDF est un document qui encode un graphe RDF ou un dataset RDF dans une syntaxe concrète.

    Proudly Powered by Zim 0.75.2.

    Template by Etienne Gandrille, based on ZeroFiveEight and using JQuery Toc Plugin.