Successfully reported this slideshow.

Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas

7

Share

Loading in …3
×
1 of 62
1 of 62

Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas

7

Share

Download to read offline

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?"

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?"

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas

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

×