Langages du Web Sémantique Resource Description Framework RDF http://www.w3.org/RDF/
Langages du Web Sémantique RDF - Presentation RDF est un langage permettant de représenter des informations sur des ressources. Tout est ressource Description de triplets sujet-prédicat-objet constituants un graphe étiqueté orienté Utilise les URIs http://www.ex.com/annuaire#tbl http://www.ex.com/voc#dirige http://www.ex.com/voc#nom http://www.ex.com/org#W3C Tim Berners-Lee
Langages du Web Sémantique RDF - Presentation Un triplet ou une déclaration est formée de: Un sujet: URI Un prédicat: URI Un objet: URI ou littéral http://www.ex.com/voc#nom http://www.ex.com/annuaire#tbl Tim Berners-Lee sujet prédicat objet
Langages du Web Sémantique RDF - Syntaxe RDF/XML basé sur XML Recommandation W3C: http://www.w3.org/TR/rdf-syntax-grammar/ élément rdf:RDF contenant les déclarations d’espaces de noms. élément rdf:Description contient l’URI du sujet dans l’attribut rdf:about. un élément RDF peut contenir plusieurs Descriptions plusieurs prédicats-Objets dans une Description < ?xml version="1.0" ?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:exvoc="http://www.ex.com/voc#"> <rdf:Description rdf:about="http://www.ex.com/annuaire#tbl"> <exvoc:nom>Tim Berners-Lee</exvoc:nom> <exvoc:dirige rdf:resource="http://www.ex.com/org#W3C"/> </rdf:Description> </rdf:RDF>
Langages du Web Sémantique RDF - Syntaxe La syntaxe RDF/XML est bien adaptée à la lecture par les machines. . . . . . mais pas très lisible. Une autre syntaxe plus facile à interpréter par l’homme a été définie: Notation 3 « N3 »
Langages du Web Sémantique RDF - Syntaxe Notation 3 http://www.w3.org/DesignIssues/Notation3 Simplification d’écriture: Préfixes Même sujet, même prédicat : {sujet predicate objet1, objet2, objet3.} Même sujet : {sujet predicate1 objet1 ; predicat2 objet2.} @prefix exvoc: http://www.ex.com/voc# <http://www.ex.com/annuaire#tbl> exvoc:nom "Tim Berners-Lee" . <http://www.ex.com/annuaire#tbl> exvoc:dirige <www.ex.com/org#W3C> .
Langages du Web Sémantique RDF - Grammaire Blank node Dans certains cas, on veut représenter des données sur un sujet, sans en faire une URI. Nœud « local » à un graphe, agrégation de données Utilisation de nodeId pour RDF/XML et de « _ » pour N3 RDF/XML N3 … <rdf:Description rdf:nodeID="n1"> <exterms:street>1501 Grant Avenue</exterms:street> </rdf:Description> … _:johnaddress exterms:street "1501 Grant Avenue" .
Langages du Web Sémantique RDF - Grammaire Data type - Littéraux typés RDF est un langage pour véhiculer du sens interprétable par un ordinateur, il n’est pas là pour générer des ambiguïtés: … <http://www.ex.com/annuaire#tbl> exvoc:dateNaissance "1955-06-08" . Est-ce une chaine de caractères ? Un réel ? Un entier ? Une date ? AAAA-MM-JJ ou AAAA-JJ-MM ou JJ-MM-AAA ? On type les littéraux, i.e. représenter explicitement leur type.
Langages du Web Sémantique RDF - Grammaire Data type - Littéraux typés RDF ne contient pas de types mais permet d’associer un type à un littéral. xsd:date est toujours au format AAAA-MM-JJ RDF/XML (pas de préfixe possible) … <exvoc:dateNaissance rdf:datatype=http://www.w3.org/2001/XMLSchema#date>1955-06-08</exvoc:dateNaissance> RDF/XML (avec utilisation de DTD) … <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]> <exvoc:dateNaissance rdf:datatype="&xsd;date">1955-06-08</exvoc:dateNaissance> N3 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> … <http://www.ex.com/annuaire#tbl> exvoc:dateNaissance "1955-06-08"^^xsd:date .
Langages du Web Sémantique RDF - Grammaire Data type – Types XML-Schema Types primitifs, dérivés, complexes (union, liste, restriction) Dérivation possible de ses propres types Exemple de dérivation par restriction: <xsd:schema ...> <xsd:simpleType name="humanAge"> <xsd:restriction base="integer"> <xsd:minInclusive value="0"> <xsd:maxExclusive value="150"> </xsd:restriction> </xsd:simpleType> ... </xsd:schema> http://www.w3.org/TR/xmlschema-2/
Langages du Web Sémantique RDF - Grammaire Typage des ressources On désire caractériser une ressource comme étant de type … RDF fournit un prédicat rdf:type à cet effet. <rdf:Description rdf:about="http://www.ex.com/annuaire#tbl"> <rdf:type rdf:resource="http://www.ex.com/types#membre"/> <exvoc:nom>Tim Berners-Lee</exvoc:nom> </rdf:Description>
Langages du Web Sémantique RDF - Grammaire Conteneurs rdf:type de la ressource : Bag, Seq ou Alt Les membres sont décris à l’aide du prédicat rdf:_i (avec i, entier supérieur à 0) Bag: doublons possibles, non ordonnés Seq: doublons possibles, ordonnés Alt: pas de doublons, non ordonnés
Langages du Web Sémantique RDF - Grammaire Réification Sert à exprimer une information sur un triplet Considère un triplet comme une ressource Tony dit que Boby a tué Cindy http://www.ex.com/voc#aTue http://www.ex.com/annuaire#Boby http://www.ex.com/annuaire#Cindy http://www.ex.com/annuaire#Tony
Langages du Web Sémantique RDF - Grammaire Réification Un triplet et sa réification ne sont pas équivalents Il est impossible de les lier exannu:Boby exvoc:aTue exannu:Cindy. extriple:triplet40 rdf:type rdf:Statement ; rdf:subject exannu:Boby ; rdf:predicate exvoc:aTue ; rdf:object exannu:Cindy.