6
RDF 1 / 24 RDF Anne-C´ ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2 / 24 Donner une s´ emantique aux ressources du web I Repr´ esenter les connaissances du web : monde ouvert, diversit´ e des sujets, des services. I Tr` es grande ´ echelle : donn´ ees en grande quantit´ e, distribu´ ees et internationales. I Il existe d´ ej` a des ressources sur le web : il faut donner une emantique ` a ces ressources, pas supprimer l’existant. RDF Introduction 3 / 24 RDF Pour annoter s´ emantiquement les ressources du Web, on utilise le langage RDF. I RDF = resource description framework I Repr´ esentation d’informations sur les ressources du Web I Information destin´ ee aux applications (pas aux humains) d’extraction d’information, ou aux services web. I structure de graphe orient´ e : on d´ ecrit des arcs. I RDF 1.0 en 2004, RDF 1.1 W3C Recommendation depuis f´ evrier 2014. RDF Le mod` ele de donn´ ees 4 / 24 Mod` ele de graphe Le Web est une ”toile d’araign´ ee”, le mod` ele le plus adapt´ e est un graphe. I arcs (sujet, pr´ edicat, objet). I Le sujet est une entit´ e repr´ esent´ ee par un identifiant, I Le pr´ edicat est une propri´ et´ e de l’entit´ e, I L’objet est la valeur de la propri´ et´ e pour ce sujet. C’est une entit´ e ou un litt´ eral. Par exemple, on cherche ` a d´ efinir des hˆ otels et leur environnement. On suppose qu’il existe des identifiants Ei pour les principales entit´ es. (E1, a_pour_nom, "ASCOTEL") (E1, adresse, "7 av. Langevin, Cit´ e Scientifique, V d’Ascq") (E1, proche_de, E2) (E1, proche_de, E3) (E2, a_pour_nom, "Universit´ e Lille 1") (E3, a_pour_nom, "Stade Pierre Mauroy") (E3, a_pour_nom, "Grand Stade Lille M´ etropole")

Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

1 / 24

RDF

Anne-Cecile Caron

Master MIAGE/IPI-NT

2016-2017

RDF

Introduction

2 / 24

Donner une semantique aux ressources du web

I Representer les connaissances du web : monde ouvert, diversite dessujets, des services.

I Tres grande echelle : donnees en grande quantite, distribuees etinternationales.

I Il existe deja des ressources sur le web : il faut donner unesemantique a ces ressources, pas supprimer l’existant.

RDF

Introduction

3 / 24

RDF

Pour annoter semantiquement les ressources du Web, on utilise lelangage RDF.

I RDF = resource description framework

I Representation d’informations sur les ressources du Web

I Information destinee aux applications (pas aux humains)d’extraction d’information, ou aux services web.

I structure de graphe oriente : on decrit des arcs.

I RDF 1.0 en 2004, RDF 1.1 W3C Recommendation depuis fevrier2014.

RDF

Le modele de donnees

4 / 24

Modele de graphe

Le Web est une ”toile d’araignee”, le modele le plus adapte est un graphe.

I arcs (sujet, predicat, objet).

I Le sujet est une entite representee par un identifiant,

I Le predicat est une propriete de l’entite,

I L’objet est la valeur de la propriete pour ce sujet. C’est une entite ouun litteral.

Par exemple, on cherche a definir des hotels et leur environnement. On supposequ’il existe des identifiants Ei pour les principales entites.

(E1, a_pour_nom, "ASCOTEL")

(E1, adresse, "7 av. Langevin, Cite Scientifique, V d’Ascq")

(E1, proche_de, E2)

(E1, proche_de, E3)

(E2, a_pour_nom, "Universite Lille 1")

(E3, a_pour_nom, "Stade Pierre Mauroy")

(E3, a_pour_nom, "Grand Stade Lille Metropole")

Page 2: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

Le modele de donnees

5 / 24

Modele de graphe

Le modele est tres simple, pourtant il y a un certain nombre deproblemes a resoudre :

I Comment gerer les identifiants a l’echelle du web ?

I Comment savoir ce que represente une valeur, c’est-a-dire son type,l’unite, la langue, ... ?

I Comment savoir quelles proprietes (quels predicats) utiliser ?

I Comment publier, echanger, interroger les donnees ?

RDF

Le modele de donnees

6 / 24

Identification des entites

I En RDF, les entites sont appelees egalement ressources, chacune estidentifiee par un IRI - International Resource Identifier, chaıne decaracteres Unicode.

I Allocation d’IRI : c’est le processus d’association d’un IRI a une ressourceque l’on appelle son referent. Il faut eviter absolument les collisions d’IRI,i.e. un meme IRI avec deux referents.

I Une bonne maniere d’expliquer quel est le referent d’un IRI est de fournirune representation de ce referent sous la forme d’un document Web,auquel on accede en interpretant l’IRI comme un URL. On parle d’IRIdereferencable.

RDF

Le modele de donnees

7 / 24

Les litteraux

On vient de voir que la plupart des noeuds du graphe sont des entites,identifiees par des IRIs. Parfois, le noeud a l’extremite d’un arc est une simplevaleur (un nombre, une date, ...). Dans ce cas on utilise des litteraux.

I Un litteral consiste en 2 ou trois elements :

1. une forme lexicale : une chaıne de caracteres Unicode.2. un IRI pour le type de donnees : ca permet de savoir comment

interpreter la chaıne de caractere.3. Quand le type de donnees est rdf:langString on associe un tag de

langage au litteral

I Si on ne donne pas d’IRI de typage, alors le type par defaut estxsd:string, sauf s’il y a un tag de langage (le type est alorsrdf:langString).

"1990-07-04"^^xsd:date

"La Joconde"@fr

Une fois interpretes, ces elements permettent d’associer une valeur a la formesyntaxique du litteral.

RDF

Le modele de donnees

8 / 24

Noeuds blancs

I Les entites (IRIs) et les litteraux sont su�sants pour decrire ungraphe RDF, mais parfois il peut etre pratique d’utiliser des noeudsqui ne sont pas references globalement : on les appelle des noeudsblancs.

I Ces noeuds blancs peuvent etre vus comme des variables

Page 3: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

Le modele de donnees

9 / 24

Graphes multiples

I RDF permet de structurer les triplets en les mettant dans di↵erentsgraphes, identifies par des IRIs.

I Un document RDF qui decrit plusieurs graphes est appele unDataset

I Dans un dataset, il peut y avoir un graphe sans nom (le graphe pardefaut) et plusieurs graphes nommes.

RDF

vocabulaire

10 / 24

Les vocabulaires RDF

I Le modele de graphe est tres simple mais, dans la pratique, quelsIRIs faut-il utiliser ?

I langage RDF-schema (RDFS) pour definir son propre vocabulaire,i.e. definir des IRIs pour les ressources - sujets, predicats et objets -dont on veut parler.! Un vocabulaire est une collection d’IRI a l’interieur d’un memeespace de noms.

I Il existe beaucoup de vocabulaires deja definis : les utiliser !

I Si malgre tout on a defini un IRI (I1) pour parler d’un concept, etqu’une autre personne a defini un autre IRI (I2) pour ce memeconcept, on peut dire a l’aide d’un triplet que ”I1 est le memeconcept que I2”.

I quelques exemples : FOAF pour des relations sociales, dublin corepour des documents, schema.org pour des moteurs de recherche, ...

RDF

serialisation

11 / 24

Serialisation

Pour echanger des donnees, on a besoin de serialiser. Il existe denombreux formats de serialisation.

RDF

serialisation

12 / 24

N-Triples

Il existe plusieurs serialisations sous la forme de triplets.

I La plus basique est la syntaxe N-triples, qui ecrit chaque triplet sousla forme<IRI du sujet> <IRI du predicat> <IRI de l’objet ou litteral>

Par exemple :

<http://example.org/bob#me> <http://xmlns.com/foaf/0.1/knows>

<http://example.org/alice#me> .

<http://example.org/bob#me> <http://schema.org/birthDate>

"1990-07-04"^^<http://www.w3.org/2001/XMLSchema#date> .

Page 4: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

serialisation

13 / 24

Turtle

La syntaxe Turtle reprend celle des N-triples en y ajoutant des facilitessyntaxiques pour rendre le code plus lisible :

BASE <http://example.org/>

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

PREFIX schema: <http://schema.org/>

PREFIX dcterms: <http://purl.org/dc/terms/>

PREFIX wd: <http://www.wikidata.org/entity/>

<bob#me>

a foaf:Person ;

foaf:knows <alice#me> ;

schema:birthDate "1990-07-04"^^xsd:date ;

foaf:topic_interest wd:Q12418 .

wd:Q12418

dcterms:title "Mona Lisa" ;

dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> .

<http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619>

dcterms:subject wd:Q12418 .

RDF

serialisation

14 / 24

RDF

serialisation

15 / 24

Representation des noeuds blancs

On utilise une ressource sans nom :

PREFIX lio: <http://purl.org/net/lio#>

<http://dbpedia.org/resource/Mona_Lisa> lio:shows _:x .

_:x a <http://dbpedia.org/resource/Cypress> .

Il existe d’autres manieres d’utiliser implicitement des noeuds blancs, onverra plus en detail la syntaxe Turtle avec le langage de requete SPARQL.

RDF

serialisation

16 / 24

TriG

Extension de Turtle pour utiliser plusieurs graphes :

BASE <http://example.org/>

PREFIX foaf: <http://xmlns.com/foaf/0.1/>

PREFIX ...

GRAPH <http://example.org/bob>{

<bob#me>

a foaf:Person ;

foaf:knows <alice#me> ;

schema:birthDate "1990-07-04"^^xsd:date ;

foaf:topic_interest wd:Q12418 .}

GRAPH <https://www.wikidata.org/wiki/Special:EntityData/Q12418> {

wd:Q12418

dcterms:title "Mona Lisa" ;

dcterms:creator <http://dbpedia.org/resource/Leonardo_da_Vinci> .

<http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619>

dcterms:subject wd:Q12418 . }

<http://example.org/bob>

dcterms:publisher <http://example.org> ;

dcterms:rights <http://creativecommons.org/licenses/by/3.0/> .

Page 5: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

serialisation

RDF/XML

17 / 24

Serialisation en XML

I norme RDF/XML : syntaxe XML pour representer un graphe RDF.

I Element Description pour decrire une ressourceI attribut about pour le sujet,I sous-element pour la propriete, contenu du sous-element pour la

propriete (qui peut etre parfois simplifie en attribut)I on peut regrouper dans un meme element Description toutes les

proprietes dont cette ressource est sujet.

RDF

serialisation

RDF/XML

18 / 24

Exemple

<?xml version="1.0" encoding="utf-8"?><rdf:RDF

xmlns:dcterms="http://purl.org/dc/terms/"xmlns:foaf="http://xmlns.com/foaf/0.1/"xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:schema="http://schema.org/">

<rdf:Description rdf:about="http://example.org/bob#me"><rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/><schema:birthDate rdf:datatype="http://www.w3.org/2001/XMLSchema#date">1990-07-04</schema:birthDate><foaf:knows rdf:resource="http://example.org/alice#me"/><foaf:topic_interest rdf:resource="http://www.wikidata.org/entity/Q12418"/>

</rdf:Description><rdf:Description rdf:about="http://www.wikidata.org/entity/Q12418">

<dcterms:title>Mona Lisa</dcterms:title><dcterms:creator rdf:resource="http://dbpedia.org/resource/Leonardo_da_Vinci"/>

</rdf:Description><rdf:Description rdf:about="http://data.europeana.eu/item/04802/243FA8618938F4117025F17A8B813C5F9AA4D619">

<dcterms:subject rdf:resource="http://www.wikidata.org/entity/Q12418"/></rdf:Description></rdf:RDF>

RDF

reification

19 / 24

Reification

I En informatique, la reification consiste a transformer un concept enun objet informatique.

I Par exemple : langage oriente objet avec mecanisme de reflexion, onpeut reifier une classe, qui devient instance d’une (meta-)classe.

I En RDF, la reification permet de considerer un triplet comme unnoeud.

Soit le graphe G

1

:

<ex:un_sujet> <ex:une_propriete> <ex:un_objet> .

Le graphe G

2

ci-dessous est une reification de G

1

:

_:xxx rdf:type rdf:Statement .

_:xxx rdf:subject <ex:un_sujet> .

_:xxx rdf:predicate <ex:une_propriete> .

_:xxx rdf:object <ex:un_objet> .

RDF

structures de donnees

20 / 24

Collections

En RDF, une collection est une liste ”a la LISP” :

I de type rdf:List, avec un premier element rdf:first et une suiterdf:rest. La liste vide a la valeur rdf:nil.

I Exemple :

_:c1 rdf:first <ex:aaa> .

_:c1 rdf:rest _:c2 .

_:c2 rdf:first <ex:bbb> .

_:c2 rdf:rest rdf:nil .

I Une collection est une liste fermee : elle forme un groupe qui necontient que les membres specifies lors de la declaration de lacollection.

Page 6: Donner une s´emantique aux ressources du web RDF Icaronc/WS/rdfPar4.pdf · RDF 1/24 RDF Anne-C´ecile Caron Master MIAGE/IPI-NT 2016-2017 RDF Introduction 2/24 Donner une s´emantique

RDF

structures de donnees

21 / 24

Exemple de collection

RDF

structures de donnees

22 / 24

Les ”Containers”

I Ils permettent de decrire des groupes. Les choses contenues dans uncontainer sont appelees membres du groupe.

I Il existe 3 types de containers predefinis :I rdf:Bag : multi-ensemble de ressources ou literauxI rdf:Seq : Sequence de ressources ou litteraux (l’ordre est important)I rdf:Alt : alternatives entre plusieurs ressources ou litteraux

I Pour indiquer qu’une ressource est un container, on utilise lapropriete rdf:type.

I On dit que les containers sont ouverts, i.e. il peut exister d’autresmembres du container que ceux indiques par la description dont ondispose.

RDF

structures de donnees

23 / 24

Exemple

RDF

conclusion

24 / 24

Conclusion

I Langage qui permet de definir des graphes semantiques

I Ces donnees semantiques sont destinees a des machines, via des APIet des langages de requetes (cf SPARQL).

I On parle des ressources du web ; les identifiants sont des IRIs.

I On peut utiliser des vocabulaires existants : necessite de centraliserles informations sur ces vocabulaires, di↵usion de donnees utilisantces vocabulaires.