desarrollo práctico de aplicaciones linked data: metodología y herramientas
DESCRIPTION
Lección "Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas" del Curso de Verano 2010 de la UPM: "Linked Data: ¿Una oportunidad o un riesgo?"TRANSCRIPT
![Page 1: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/1.jpg)
1
Desarrollo práctico de aplicaciones Linked Data:metodología y herramientas
Guillermo Álvaro ReyLa Granja de San Ildefonso, 14 Julio 2010
Cursos de Verano UPM 2010 Linked Data: ¿Una oportunidad o un riesgo?
![Page 2: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/2.jpg)
2
Desarrollo práctico de aplicaciones Linked Data Intro
¿De qué va la lección?
Desarrollo práctico
de aplicaciones Linked Data:
Metodología y herramientas
![Page 3: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/3.jpg)
3
Desarrollo práctico de aplicaciones Linked Data Agenda
1: Linked Data(intro y recordatorio)
2: Linked Data desde BD(recordatorio)
3: Aplicaciones Linked Data(ejemplo concreto, hands-on)
4: Consumo de Linked Data(más ejemplos)
![Page 4: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/4.jpg)
4
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
(Re-)Introducción a Linked Data
1
![Page 5: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/5.jpg)
5
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Linked Data: ¿Por qué?- Para pasar de una Web de documentos a una
Web de Datos
Ejemplo:- ¿Jugadores de fútbol de la provincia de Albacete que han
marcado un gol en la final de la Copa del Mundo?
![Page 6: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/6.jpg)
6
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
¿?
![Page 7: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/7.jpg)
7
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
No debería ser…?
![Page 8: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/8.jpg)
8
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Mejor encontrar que buscar:
(jugadores de fútbol de la provincia de Albacete que jugaron la Eurocopa
2008)
![Page 9: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/9.jpg)
9
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
¿Qué sucede?- Nos interesan “cosas” concretas, no documentos- Tenemos que encontrar las cosas que buscamos
en los documentos- Las máquinas no pueden saber (aunque adivinan
bien) los contenidos Publicando datos en bruto…
- Hacemos más fácil a las máquinas encontrar cosas
![Page 10: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/10.jpg)
10
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Pero… si ya publicamos datos en bruto:- XML- BDs- APIs- CSV- XLS- …
Cierto: Pero en diferentes formatos, modelos…- Difícil de integrar- Datos no enlazados
![Page 11: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/11.jpg)
11
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Igual que hay una manera estándar de publicar en la Web…
HTML
![Page 12: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/12.jpg)
12
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Formato de datos en esta gran BD:
RDF(Resource Description Framework)
Modelo de datos Basado en tripletas: sujeto, verbo, predicado. Ej:
- <Guillermo> <vive en> <Madrid>- <Madrid> <es la capital de> <España>- <España> <es campeona de> <Mundial de Fútbol>- …
Serializable en diferentes formatos:- RDF/XML, RDFa, N3, Turtle, JSON…
![Page 13: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/13.jpg)
13
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Ejemplo, info en una API
Servicio
Operación
Mensajeentrada
Mensajesalida
![Page 14: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/14.jpg)
14
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
http://...service#lastFm
Esto en RDF… (cada cosa tiene una URI)
http://...operation#getEvents
http://...inMessage http://...outMessage
hasOperation
hasInput hasOutput
Last.fm service
geo.getEvents
label
label
![Page 15: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/15.jpg)
15
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
http://...service#lastFm
Enlazando estos datos con otros (ej: comentario)
http://...operation#getEvents
http://...inMessage http://...outMessage
hasOperation
hasInput hasOutput
Last.fm service
geo.getEvents
label
label
http://...review
http://...reviewer
Guillermo
Great music service!
hasReviewhasReviewer
name
text
![Page 16: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/16.jpg)
16
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
http://...service#lastFm
Y más…
http://...operation#getEvents
http://...inMessage http://...outMessage
hasOperation
hasInput hasOutput
Last.fm service
geo.getEvents
label
label
http://...review
http://...reviewer
Guillermo
Great music service!
hasReviewhasReviewer
name
text
http://dbpedia.org/resource/Madrid
lives in
![Page 17: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/17.jpg)
17
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Datos en la Web expuestos como RDF, y enlazados con otros datos. Eso es:
Linked Data!
![Page 18: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/18.jpg)
18
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Los cuatro principios (Tim Berners-Lee, 2006)
1) Usar URIs para identificar cosas
2) Usar el protocolo HTTP para esas URIs
3) Ofrecer información útil en esas direcciones
4) Incluir enlaces a otras URIs
Image by http://www.flickr.com/photos/PhOtOnQuAnTiQuE/
![Page 19: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/19.jpg)
19
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
2007
2008
2009
![Page 20: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/20.jpg)
20
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
La Web se transforma en una gran Base de Datos!
¿Cómo consultar esta gran BD?
SPARQL(W3C Recommendation)
http://www.w3.org/TR/rdf-sparql-query/
![Page 21: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/21.jpg)
21
Desarrollo práctico de aplicaciones Linked Data Intro Linked Data
Ejemplo SPARQL: “Dame los últimos 5 comentarios sobre el servicio http://...#lastFm”
PREFIX rev: <http://purl.org/stuff/rev#>SELECT ?text ?whenWHERE{ <http://...#lastFm> rev:hasReview ?review . ?review rev:text ?text . ?review rev:createdOn ?when .}ORDER BY DESC(?when)LIMIT 5
![Page 22: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/22.jpg)
22
Desarrollo práctico de aplicaciones Linked Data Exponiendo datos como Linked Data
Exponiendo datos como Linked Data
2
![Page 23: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/23.jpg)
23
Desarrollo práctico de aplicaciones Linked Data Exponiendo datos como Linked Data
Dos grandes vías: 1) De Bases de Datos relacionales a Linked Data
- D2R- Triplify- Virtuoso- Ultrawrap- …
2) Usando Repositorios RDF nativos- Sesame- Jena- Owlim- Talis platform- …
(También en CMS tipo Drupal 7, en HTML + RDFa…)
![Page 24: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/24.jpg)
24
Desarrollo práctico de aplicaciones Linked Data Exponiendo datos como Linked Data
Ejemplo: Triplify
http://triplify.org
![Page 25: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/25.jpg)
25
Desarrollo práctico de aplicaciones Linked Data Exponiendo datos como Linked Data
Ejemplo: D2R Server
http://www4.wiwiss.fu-berlin.de/bizer/d2r-server/
![Page 26: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/26.jpg)
26
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Aplicación Linked Data(ejemplo usando repositorio nativo)
3
![Page 27: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/27.jpg)
27
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Creando una aplicación con repositorio. Caso práctico:
Linked User Feedback
Un servicio para almacenar y exponer como Linked Data feedback de los usuarios en forma de:
- Ratings- Comentarios- Etiquetas
http://soa4all.isoco.net/luf/about
![Page 28: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/28.jpg)
28
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
¿Qué necesitamos? (I)
Vocabularios: (usados en Revyu.com)
- Review vocabulary• http://www.purl.org/stuff/rev
- Tag Ontology• http://www.holygoat.co.uk/projects/tags/
(Añadidos posibles)- Provenance vocabulary
• http://purl.org/net/provenance/
![Page 29: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/29.jpg)
29
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rev: <http://purl.org/stuff/rev#> . @prefix tags: <http://www.holygoat.co.uk/owl/redwood/0.1/tags/> .
<http://example.com/items#item1>rev:hasReview <http://soa4all.isoco.net/luf/ratings/xxx> ;rev:hasReview <http://soa4all.isoco.net/luf/comments/yyy> ;tags:tag <http://soa4all.isoco.net/luf/taggings/zzz> .
<http://soa4all.isoco.net/luf/ratings/xxx>rdf:Type rev:Review ;rev:rating "3" ;rev:minRating "1" ;rev:maxRating "5" ;rev:reviewer <http://example.com/users#user1> ;rev:createdOn "2010-06-22T12:29:28+0200"^^xsd:dateTime .
<http://soa4all.isoco.net/luf/comments/yyy>rdf:Type rev:Review ;rev:text "This is a comment" ;rev:reviewer <http://example.com/users#user1> ;rev:createdOn "2010-06-22T10:59:01+0200"^^xsd:dateTime .
<http://soa4all.isoco.net/luf/taggings/zzz>rdf:Type tags:Tagging ;tags:associatedTag "one tag" , "other tag" ;tags:taggedBy <http://example.com/users#user1> ;tags:taggedOn "2010-06-22T13:03:05+0200"^^xsd:dateTime .
Un rating:
Un comentario:
Un etiquetado:
![Page 30: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/30.jpg)
30
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .@prefix rev: <http://purl.org/stuff/rev#> . @prefix tags: <http://www.holygoat.co.uk/owl/redwood/0.1/tags/> .
<http://example.com/items#item1>rev:hasReview <http://soa4all.isoco.net/luf/ratings/xxx> ;rev:hasReview <http://soa4all.isoco.net/luf/comments/yyy> ;tags:tag <http://soa4all.isoco.net/luf/taggings/zzz> .
<http://soa4all.isoco.net/luf/ratings/xxx>rdf:Type rev:Review ;rev:rating "3" ;rev:minRating "1" ;rev:maxRating "5" ;rev:reviewer <http://example.com/users#user1> ;rev:createdOn "2010-06-22T12:29:28+0200"^^xsd:dateTime .
<http://soa4all.isoco.net/luf/comments/yyy>rdf:Type rev:Review ;rev:text "This is a comment" ;rev:reviewer <http://example.com/users#user1> ;rev:createdOn "2010-06-22T10:59:01+0200"^^xsd:dateTime .
<http://soa4all.isoco.net/luf/taggings/zzz>rdf:Type tags:Tagging ;tags:associatedTag "one tag" , "other tag" ;tags:taggedBy <http://example.com/users#user1> ;tags:taggedOn "2010-06-22T13:03:05+0200"^^xsd:dateTime .
http://example.com/items#item1
http://soa4all.isoco.net/luf/comments/yyy
http://example.com/users#user1 This isa comment
hasReview
hasReviewer
text
![Page 31: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/31.jpg)
31
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
¿Qué necesitamos? (II)
Un repositorio RDF:- Para almacenar los datos
semánticamente.- Usaremos SESAME
• http://www.openrdf.org/
RDF repository(Sesame)
SPARQL
![Page 32: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/32.jpg)
32
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Instalando Sesame:- Bajarlo de http://www.openrdf.org/download.jsp- Hace falta JDK, Tomcat- (en la memoria USB: openrdf-sesame-2.3.0-sdk.zip)- Desplegar el .war en un tomcat e iniciar- Comprobar: http://localhost:8080/openrdf-sesame
![Page 33: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/33.jpg)
33
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Usando consola para meter tripletas en Sesame:
Conectar al Sesame
Crear repositorio
Añadimos contenido
(y para borrar)
![Page 34: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/34.jpg)
34
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Y ya tenemos SPARQL endpoint con el Sesame!- http://localhost:8080/openrdf-sesame/repositories/LUF
- Ejemplo de query:• http://localhost:8080/openrdf-sesame/repositories/LUF?query=PREFIX
%20rev%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fstuff%2Frev%23%3E%20SELECT%20%3Ftext%20%3Fwhen%20WHERE%20%7B%20%20%20%20%3Fitem%20rev%3AhasReview%20%3Freview%20.%20%20%20%3Freview%20rev%3Atext%20%3Ftext%20.%20%20%20%3Freview%20rev%3AcreatedOn%20%3Fwhen%20.%20%7D%20ORDER%20BY%20DESC(%3Fwhen)%20LIMIT%205
- Podemos ver todos los statements también:• http://localhost:8080/openrdf-sesame/repositories/LUF/statements
![Page 35: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/35.jpg)
35
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
¿Qué necesitamos? (III)
Un frontend Linked Data:- Para exponer los datos como
Linked Data (con content negotiation, etc.)
- Usaremos Pubbyhttp://www4.wiwiss.fu-berlin.de/pubby/
RDF repository(Sesame)
LD Frontend(Pubby)
SPARQLquery
LDaccess
![Page 36: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/36.jpg)
36
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Instalando Pubby:- Bajarlo de http://www4.wiwiss.fu-berlin.de/pubby/- (en la memoria USB: pubby-0.3.zip)- Desplegar la carpeta webapp (y renombrar) en el tomcat- Modificar el config.n3- Reiniciar tomcat- Comprobar: http://localhost:8080/LUF/
![Page 37: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/37.jpg)
37
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Y ya tenemos los datos expuestos como Linked Data con Pubby:
- Acceso HTML:• http://localhost:8080/LUF/comments/7a584c3eda88adb9e085251ca346b608• http://localhost:8080/LUF/ratings/1a1f07fd9e221fee2538d1bbaf2d7426• http://localhost:8080/LUF/taggings/83c993d7d9f7ffee74db8b45c958f1c3
- Con content-negotiation. También ofrece los datos como RDF/XML:• ?output=n3• ?output=xml
- (bueno, estas urls de localhost no son realmente Linked Data;-)
![Page 38: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/38.jpg)
38
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Añadidos (I): Una API
RDF repository(Sesame)
REST API LD Frontend(Pubby)
RDF2Go
POSTfeedback
GETfeedback
SPARQLquery
LDaccess
![Page 39: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/39.jpg)
39
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
RDF2Go:- Abstracción java sobre repositorios RDF- Programación independiente del repositorio
• http://rdf2go.semweb4j.org/
- Alternativa, programar sobre la interfaz del repositorio
![Page 40: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/40.jpg)
40
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Añadidos (II): Un SPARQL explorer
RDF repository(Sesame)
REST API LD Frontend(Pubby)
RDF2Go
POSTfeedback
GETfeedback
SPARQLquery
LDaccess
SPARQL explorer(SNORQL)
SPARQLVia Web
![Page 41: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/41.jpg)
41
Desarrollo práctico de aplicaciones Linked Data Caso práctico: LUF
Snorql:- SPARQL explorer
• http://wiki.github.com/kurtjx/SNORQL/
- Ejemplo:• http://soa4all.isoco.net/luf/snorql/
![Page 42: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/42.jpg)
42
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Aplicaciones que consumen Linked Data
4
![Page 43: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/43.jpg)
43
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Navegadores Linked Data (páginas y extensiones sobre navegadores, etc.)
- Tabulator• http://www.w3.org/2005/ajar/tab
- Disco• http://www4.wiwiss.fu-berlin.de/bizer/ng4j/disco/
- LENA• http://www.uni-koblenz-landau.de/koblenz/fb4/institute/IFI/AGStaab/Research/systeme/lena
- Marble• http://marbles.sourceforge.net/
- VisiNav• http://visinav.deri.org/
- …
![Page 44: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/44.jpg)
44
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Herramientas para visualizar relaciones. Ejemplo RelFinder:
- http://relfinder.semanticweb.org
![Page 45: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/45.jpg)
45
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Consumiendo Linked Data con SPARQL- Usando los SPARQL endpoints que exponen los
diferentes conjuntos de datos
- Ejemplos:• Dbpedia: http://dbpedia.org/sparql• UK Government: http://data.gov.uk/sparql• USA Government: http://semantic.data.gov/sparql• Musicbrainz: http://dbtune.org/musicbrainz/sparql…• LUF: http://soa4all.isoco.net/luf/sparql
![Page 46: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/46.jpg)
46
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Un SPARQL endpoint es un servicio REST HTTP GET con parámetro query
- GET /sparql?query=PREFIX+...
Respuestas: - (usando la cabecera ACCEPT o vía parámetro ej. “&out=json”)- RDF- XML- (JSON)
![Page 47: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/47.jpg)
47
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo de integración de LUF- (via query al SPARQL endpoint)
SPICES(Semantic Platform for the Interaction and Consumption of
Enriched Services)http://soa4all.isoco.net/spices/ iServe
(Linked Data services repository)http://iserve.kmi.open.ac.uk/browser.html
![Page 48: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/48.jpg)
48
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Usando librerías para manejar SPARQL en diferentes entornos:
- SPARQL Javascript• http://www.thefigtrees.net/lee/blog/2006/04/
sparql_calendar_demo_a_sparql.html
- RAP – RDF API for PHP• http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html
- Sesame (Java)• http://www.openrdf.org/
- Jena / ARQ (Java)• http://jena.sourceforge.net
- PySPARQL (Python)• http://code.google.com/p/pysparql
- …
![Page 49: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/49.jpg)
49
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo: RAP (RDF API for PHP)
Usado en la página de LUF- http://soa4all.isoco.net/luf/about
![Page 50: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/50.jpg)
50
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo: K-Analytics (Knowledge Analytics)- Sacando datos de iServe y otras fuentes…
<?xml version="1.0" encoding="UTF-8"?> <sparql xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="http://www.w3.org/2007/SPARQL/result.xsd"> <head> <variable name="op"/> <variable name="labelOp"/> </head> <results> <result> <binding name="op"> <uri>http://iserve.kmi.open.ac.uk/…#LastFmGetEventsOperation</uri> </binding> <binding name="labelOp"> <literal>geo.getEvents</literal> </binding> </result> </results> </sparql>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX wsl: <http://cms-wg.sti2.org/ns/minimal-service-model#>SELECT DISTINCT ?op ?labelOp WHERE { <http://iserve.kmi.open.ac.uk/...#LastFmEvents> wsl:hasOperation ?op . OPTIONAL{ ?op rdfs:label ?labelOp . } }
![Page 51: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/51.jpg)
51
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo k-Analytics
![Page 52: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/52.jpg)
52
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
The New York Times: Alumni In The News- http://data.nytimes.com/schools/schools.html
![Page 53: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/53.jpg)
53
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
The New York Times: Código fuente disponible
… y son consultas SPARQL
![Page 54: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/54.jpg)
54
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo: Clean Air Status and Trends (CASTNET)- http://data-gov.tw.rpi.edu/demo/exhibit/demo-8-castnet.php
![Page 55: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/55.jpg)
55
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo: Research Funding Explorer- http://bis.clients.talis.com/
![Page 56: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/56.jpg)
56
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejemplo: Calidad de las aguas en playas asturianas- http://datos.fundacionctic.org/sandbox/asturias/playas/
![Page 57: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/57.jpg)
57
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Ejerciciosy
Ejemplos
Extra
![Page 58: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/58.jpg)
58
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Relaciones entre películas en RelFinder:- “Pulp Fiction”, “Kill Bill” y “Reservoir Dogs”
![Page 59: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/59.jpg)
59
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
En data.gov.uk:- Colegios de la
administración de Londres, que contengan la palabra “music”
![Page 60: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/60.jpg)
60
Desarrollo práctico de aplicaciones Linked Data Consumiendo Linked Data
Por sugerencia de Vader…(http://dbpedia.org/resource/Darth_Vader)
(etc)
Asesinos en serie (de ficción) en la dbpedia
Image by http://www.flickr.com/photos/bflv/
![Page 61: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/61.jpg)
61
Desarrollo práctico de aplicaciones Linked Data Fin
Preguntas - Discusión
Guillermo Álvaro Rey
@guillelamb
¡Gracias!
![Page 62: Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas](https://reader034.vdocuments.co/reader034/viewer/2022052504/5483bee5b4af9f65748b4570/html5/thumbnails/62.jpg)
62
Desarrollo práctico de aplicaciones Linked Data Fin
Agradecimientos / Acknowledgements
Credits go at least to the following people for ideas and particular examples:
- Juan Sequeda @juansequeda (many ideas from his Consuming Linked Data slides at SemTech2010)
- Olaf Hartig @olafhartig (Consuming Linked Data with SPARQL)- Michael Hausenblas @mhausenblas, (using Darth Vader example)- Leigh Dodds @ldodds (querying Edubase data)
(And in general to the LOD community:-)