Curs 1.4. Reutilització de dades obertes OpenDataLab
Linked Data
1. Linked Data
Principis i tecnologies per una xarxa de
dades obertes i enllaçades
Alex Alvarez Chinchilla
Lorena Bes Vegas
Marc Mauri Alloza
2. Què és Linked Data?
Dades que compleixen els següents principis:
1. Utilitzen URIs per anomenar les coses.
2. Utilitzen URIs HTTP perquè la gent pugui
veure aquests noms.
3. Quan algú mira una URI, ofereixen
informació útil utilitzant els estàndards (RDF,
SPARQL).
4. Inclouen enllaços a URIs de manera que es
pugin descobrir més coses.
3. Antecedents, orígen i evolució
La proposta, realitzada per Tim Berners-Lee, sorgeix dins del marc general de la
Web semàntica.
● Linked data → Web com una base de dades (~Web 3.0)
○ Primeres publicacions al 2006
○ Primers usos al 2007
○ Primera presentació al Congrés TED 2009 2007
● RDF
○ Última publicació de l'estàndard: 2004
○ Publicació anterior al 1999 2009
● OWL
○ Última publicació de l'estandard: 2009
○ Publicació anterior: 2004
● SPARQL
○ Última publicació de l'estandard: 2008 2011
4. RDF - Què és?
● Resource Description Framework.
● És un framework per a metadades en la WWW desenvolupat per W3C.
● Expressat en RDF/XML
● Es basa en una base de dades del tipus Graph DataBase fent
declaracions declaracions del recursos amb expressions de la forma
subjecte-predicat-objecte (tripletes).
5. RDF - Graph DataBase
Aquest model permet entre d'altres coses:
● Consultes més àmplies i no delimitades per taules.
● No cal definir un nombre determinat d'atributs.
6. RDF - Tripletes
● Subjecte: és el recurs, allò que estem descrivint.
● Predicat: és la propietat o la relació del recurs que es
desitja establir.
● Objecte: és el valor de la propietat o la relació que es
desitja establir.
8. OWL
● Web Ontology Language
Why not be inconsistent in at least one aspect of a
language which is all about consistency?
—Guus Schreiber, Why OWL and not WOL?
● Soluciona el principal "problema" de les bases de dades
en graf. La manca de consistència.
● Permet crear classes. D'aquesta manera ens
assegurem, per exemple que totes les persones tenen
els mateixos atributs i per tant es poden tractar de
manera uniforme.
9. Consultes simples amb HTTP
Consultar dades enllaçades és tan senzill com
accedir a la seva URL.
http://dbpedia.org/page/Linked_Data
10. Consultes avançades amb SPARQL
Es fan contra un endpoint que ofereix un interficie de consulta:
p. ex: http://dbpedia.org/sparql
# declaració de prefixos per abreviar URIs
PREFIX foo: <http://example.com/resources/>
...
# definició del conjunt de dades sobre el que es farà la consulta
FROM ...
# clausula de resultat
SELECT ...
# patró de consulta
WHERE {
...
}
# modificadors de la consulta
ORDER BY ...
11. Exemple
Llista de llenguatges de programació i anys d'aparició de llenguatges influenciats per
Smalltalk: ordenats per any d'aparició i nom.
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dbprop: <http://dbpedia.org/property/>
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/resource/>
SELECT ?label, ?year
Es pot provar aquí:
WHERE {?x rdfs:label ?label; http://dbpedia.org/sparql
dbprop:year ?year;
rdf:type dbpedia-owl:ProgrammingLanguage;
dbpedia-owl:influencedBy dbpedia:Smalltalk.
FILTER langMatches( lang(?label), 'en')
}
ORDER BY ?year ?label
12. Altres aplicacions de Linked Data
Escriptori semàntic de KDE:
Demo:
http://www.youtube.com/watch?feature=player_embedded&v=d41bmTSogA4
Codi:
http://quickgit.kde.org/index.php?p=scratch%2Fvhanda%2Fnepomuk-subtitle-
search.
git&a=blob&h=8539728254df4589b0580867b4ca545ab7f9c0b2&hb=c71dcc48
e99f9b2c5bee9bda0f04a41b39df246c&f=search%2Fmainwindow.cpp