31
Linked Data avec Django samedi 14 avril 12

Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Linked Dataavec Django

samedi 14 avril 12

Page 2: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Linked (Open) Data

Données en ligne, licence libre

Données structurées (PDF)

Format non-propriétaire (XLS)

Standard RDF

Linked Open Data

★ ★★ ★ ★

★ ★ ★ ★★ ★ ★ ★ ★

samedi 14 avril 12

Page 3: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Le projet

Club des 1000

I.A.E.

Plateforme 21

CREDIS

C2RA

CRES Auvergne

PlateformeCommune

Le web

Agenda

Mutualisation

Annuaire

samedi 14 avril 12

Page 4: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Aggrégateur

Site A Site B

x x'

x ∪ x'

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

Autorité

Copie localede l'autorité

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

mises à jour du site Aet de l'aggrégateur

export export

Champs supplémentaires

samedi 14 avril 12

Page 5: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Avec une boîte à outils classique

1. Aggréger des données avec des schémas différents : tables de correspondances ?

2. Interactions entres sites : une API REST ?

3. Gestion des conflits ou doublons, ressources citées sur deux annuaires différents : attribuer des UUID à tous les objets ?

samedi 14 avril 12

Page 6: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

RDF : un vieux standard qui a de l’avenir

1. Partager ses données décrites avec des schémas publics (RSS, Microformats).

2. Une API universelle : SPARQL 1.1Lointain cousin de SQL, CRUD via HTTP

3. Décentralisation : un identifiant unique (URI) permet d’aggréger des ressources sans se préoccuper des conflits.

samedi 14 avril 12

Page 7: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

PREFIX dbp: <http://dbpedia.org/resource/>PREFIX dbprop: <http://dbpedia.org/property/>PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?label, (xsd:string(?nb)) as ?etudiants, ?uri WHERE {?uri dbprop:type dbp:Public_university ;     dbprop:country dbp:France ;     dbprop:students ?nb ;     rdfs:label ?label .FILTER( lang(?label) = "fr" )FILTER( ?nb > 10000 )FILTER( ?nb < 20000 )}ORDER BY DESC(?nb)

http://dbpedia.org/sparql

samedi 14 avril 12

Page 8: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Triple Store

Django Site B

x x'

x ∪ x'

export RDF

SPARQL Update

exportRDF

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

AuthentificationWebID

D2R

Django

D2R

samedi 14 avril 12

Page 9: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

http://monblog.fr/post/23/ sioc:Post

http://monblog.fr/post/23/

"Mon super article"

http://monblog.fr/post/23/

http://monblog.fr/tag/super

«Mon super article» est un article de blog«Mon super article» est un article de blog«Mon super article» est un article de blog

sujet prédicat objet

rdf:type

dc:title

ctag:tagged

un « triplet »un « triplet »un « triplet »

samedi 14 avril 12

Page 10: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Asso A

"1998"

foaf:birth

dbpedia:Paris

foaf:based_near

Asso A

Asso B

org:relation

Asso C

ctag:AMAP

ctag:tagged

ctag:AMAP

ctag:tagged

samedi 14 avril 12

Page 11: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Asso A

"1998"

foaf:birth

dbpedia:Paris

foaf:based_near

Asso B

org:relation

Asso C

ctag:tagged

ctag:AMAP

ctag:tagged

Coopération sans coordination

samedi 14 avril 12

Page 12: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

vocabulaires, ontologiesDonnées Vocabulaire Spécifications

* Dublin Core Terms http://purl.org/dc/terms/

Membres Friend Of A Friend http://xmlns.com/foaf/0.1/

Organisations Ontologie des organisations http://www.w3.org/ns/org#

Adresses Vcard http://www.w3.org/2006/vcard/ns#

Annonces Good Relations http://purl.org/goodrelations/v1#

Agenda RDFCal (basé sur vCal) http://www.w3.org/TR/rdfcal/

Tags CommonTag http://commontag.org/Specification

Thesaurus SKOS & SKOS+XL http://www.w3.org/TR/skos-reference/

Géo-localisation GeoSPARQL En cours de standardisation (OGC)

Autre Ontologie ESS notre propre vocabulaire

Recherche de termes : Falcons, LOV, Watson, Swoogle, vocab.cc

samedi 14 avril 12

Page 13: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Initiativeorg:Organizationgr:BusinessEntity

Articlefoaf:Document

Événementevent:Event

Lieugr:Location

Membreorg:Member

Mot-cléctag:Tag

skosxl:Label

Conceptskos:Concept

ctag:means

dc:publisher

event:agent

event:place

dc:subject

org:hasSite org:hasMember

dc:subject

ctag:taggedctag:tagged

dc:subject

ctag:tagged

samedi 14 avril 12

Page 14: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

samedi 14 avril 12

Page 15: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Triple Store

Django Site B

x x'

x ∪ x'

export RDF

SPARQL Update

exportRDF

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

AuthentificationWebID

D2R

Django

D2R

samedi 14 avril 12

Page 16: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

D2R : mapping RDF

Django

PostGreSQL

D2R Server

PublicationRDF

SPARQLUpdate

• Servlet Java de mapping SQL → RDF

• Limité aux champs stockés dans la base SQL

• SPARQL/ Update : une API CRUD gratuite.

• Fichier de mapping en RDF (génération automatique + edition manuelle)

samedi 14 avril 12

Page 17: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

# application «MyApp», modèle Django «Person»

map:person rdf:type d2rq:ClassMap;" d2rq:dataStorage map:database;" d2rq:uriPattern "id/@@myapp_person.id@@/"; # URI" d2rq:class foaf:Person; # classe RDF" d2rq:class org:Member;" .map:person_last_name rdf:type d2rq:PropertyBridge; d2rq:belongsToClassMap map:person; d2rq:column "myapp_person.last_name"; # la valeur d2rq:property foaf:familyName; # propriété RDF .

exemple de mapping

samedi 14 avril 12

Page 18: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

samedi 14 avril 12

Page 19: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

samedi 14 avril 12

Page 20: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Triple Store

Django Site B

x x'

x ∪ x'

export RDF

SPARQL Update

exportRDF

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gsjlkhjkhkjh 452gdfklhjgfd fdgg hgfhklgdjghdfh

kjfkdlsjgkfjdgdsh$gfdihjfdklhfhsfgh hgf h hfjjk g kf

gdfgfdsgg 4564654

gfdgfdgdf khjkjhjkhjkhfjdshjkh ,bngdf gsfd gfds h gs

AuthentificationWebID

D2R

Django

D2R

samedi 14 avril 12

Page 21: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

RDFLib 3.2

• Reprise en main http://github.com/rdflib/, nouvelle documentation (RTD)

• Types de base : URIRef, Literal, Graph

• Méthodes de base : parser un fichier, créer des ressources...

• Nombreux plugins (JSON-LD, NOSQL stores)

samedi 14 avril 12

Page 22: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

RDF AlchemyORM à partir un graphe RDF, d’un triple store SPARQL ou Sesame.

from rdfalchemy import rdfSubject, rdfSinglefrom rdflib import Namespace

FOAF = Namespace("http://xmlns.com/foaf/0.1/" )

class Person(rdfSubject):    rdf_type = FOAF.Person    first = rdfSingle(FOAF.firstName)    last = rdfSingle(FOAF.surname)    givenname = rdfSingle(FOAF.givenname)    surname = rdfSingle(FOAF.surname)

+ Extension pour FormAlchemy (SQL Alchemy)samedi 14 avril 12

Page 23: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Sécurité / WebID

• Contrôle d’accès (ontologies W3C ACL, AMO, ACO, PPO)

• http://webid.rhizolab.org/ : Création et gestion des profils et certificats

• http://webidauth.rhizolab.org/ : Authentication backend pour Django

samedi 14 avril 12

Page 25: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

La bonne question

Qu’est-ce que je peux faire avec RDF que je ne peux pas faire autrement ?

Que puis-je faire avec RDF que je n’aurais même pas pensé pouvoir

faire autrement ?

samedi 14 avril 12

Page 26: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

Twitter : @quinode

http://github.com/quinode/

samedi 14 avril 12

Page 27: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

samedi 14 avril 12

Page 28: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

2008

samedi 14 avril 12

Page 29: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

2009

samedi 14 avril 12

Page 30: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

2010

samedi 14 avril 12

Page 31: Linked Data avec Djangorencontres.django-fr.org/2012/presentations/linked-data... · 2017-03-04 · Linked (Open) Data Données en ligne, licence libre Données structurées (PDF)

2011

samedi 14 avril 12