6. Internet de las cosas Cada vez más dispositivos estarán conectados a Internet Frigoríficos, coches, … Frigorífico con Internet
7. Y lo que falta… Aumento de sensores y generadores de datos Ejemplo: Acelerador de partículas LHC producirá 15 petabytes de datos/año http://www.youtube.com/watch?v=sfEbMV295Kk&feature=player_embedded
8. Aún así… Muchos datos no se están publicando Reticencias para publicar datos Razones para liberar datos Incluso exigir datos abiertos
9. Razones para liberar datos Facilitan la investigación Tasa de descubrimiento se acelera con mejores accesos a los datos Por el bien común de la humanidad
10. Razones para liberar datos Los sistemas abiertos facilitan las contribuciones externas
11. Razones para liberar datos Eficiencia y calidad de los sistemas Datos públicos no disponibles perjudican el desarrollo de sistemas Ej. ¿Lista de municipios?
12. Razones para liberar datos Trasparencia Fomentar participación Generar confianza Evaluar al gobierno
13. Razones para liberar datos Esta presentación hubiera sido muchísimo más aburrida si no hubiese tenido acceso a los datos parcial o totalmente abiertos de Google, Flickr, Wikipedia, Slideshare, etc. etc. etc.
20. El mayor reto = Integración En general, el problema no es informatizar algo El problema es integrar los sistemas Interoperabilidad No basta con publicar datos…
21. Modelo de Estrellas* * Enunciado por Tim Berners-Lee en Gov 2.0 Expo 2010 http://www.youtube.com/watch?v=ga1aSJXCFe0
22. Formatos no estructurados Formatos “caja negra”: Imágenes, vídeos, música, etc. Formatos binarios: PDF, PS, etc. Requieren técnicas de tratamiento de la señal, reconocimiento de patrones, etc. ★
23. Ejemplo: Servicio Público de Empleo ★ http://www.sepe.es/contenidos/cifras/datos_estadisticos/municipios/
24. ★ ★ Formatos estructurados Los datos tienen una estructura Ejemplo: Hojas de cálculo Problema con formatos propietarios Requieren herramientas que no son públicas
25. Ejemplo: Servicio Público de empleo ★ ★ http://www.sepe.es/contenidos/cifras/datos_estadisticos/municipios/9
26. ★ ★ ★ Formatos no propietarios Utilizar formatos abiertos estructurados Ejemplos: CSV, HTML Problema: Contenido depende del contexto
27. CSV ★ ★ ★ “Commaseparatedvalues” valores delimitados por comas
28. HTML ★ ★ ★ HTML pensado para representar información que se visualiza en el navegador El procesamiento puede requerir “screenscrapping”
29. ★ ★ ★ ★ URIs para identificar datos Utilizar una URI para identificar un dato Diferentes representaciones para cada tipo de dato Negociación de contenido http://puzzles.org/pieza23471
30. ★ ★ ★ ★ Negociación de contenido El protocolo HTTP permite al cliente informar al servidor qué tipo de contenido prefiere El servidor puede devolver representaciones diferentes según preferencias del cliente servidor cliente
31. ★ ★ ★ ★ ¿Varias representaciones para lo mismo? Ejemplo: Códigos de barras
32. XML ★ ★ ★ ★ XML permite representar información estructurada Los documentos pueden validarse (XML Schema) El significado de las etiquetas depende de la aplicación
33. ★ ★ ★ ★ ★ Linked Open Data Identificar datos mediante URIs Usar URIs dereferenciables Proporcionar información útil al dereferenciar cada URI Enlazar con otras URIs
38. RDF ResourceDescription Framework (1998) Descripción de recursos Recurso = se identifica con URI Tripletas: Sujeto Predicado Objeto
39. Tripletas RDF http://uniovi.es/people/juan http://purl.org/dc/elements/1.1/creator http://biology.uniovi.es Objeto Valor de una propiedad Puede ser: URI Literal Nodo anónimo Predicado Identificado por URI Sujeto Puede ser: URI Nodo anónimo (bNode) Abreviar URIs mediante espacios de nombres Ejemplos: dc: http://purl.org/dc/elements/1.1/ foaf: http://xmlns.com/foaf/0.1/ rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns#
40. Grafo RDF Puede representarse en N-Triples @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . <http://biology.uniovi.es> dc:creator <http://uniovi.es/people/juan>. <http://biology.uniovi.es> foaf:name "Faculty of Biology". <http://uniovi.es/people/juan> rdf:type <http://uniovi.es/Teacher> . foaf:name Faculty of Biology http://uniovi.es/Teacher rdf:type http://uniovi.es/people/juan http://biology.uniovi.es dc:creator
41. RDF es composicional graph3.rdf graph2.rdf http://uniovi.es/Teacher http://uniovi.es/people/Juan rdf:type r:hasStaff http://uniovi.es/people/Luis http://uniovi.es/people/lLuis dc:creator http://uniovi.es http://chemistry.uniovi.es r:hasStaff foaf:name foaf:name University of Oviedo Faculty of Chemistry graph1.rdf foaf:name Faculty of Biology http://biology.uniovi.es http://uniovi.es/Teacher http://uniovi.es/people/juan rdf:type dc:creator
42. RDF es composicional graph1.rdf + graph2.rdf+ graph3.rdf Faculty of Biology http://biology.uniovi.es foaf:name dc:creator rdf:type http://uniovi.es/Teacher http://uniovi.es/people/Juan rdf:type r:hasStaff http://uniovi.es/people/lLuis dc:creator http://chemistry.uniovi.es http://uniovi.es r:hasStaff foaf:name foaf:name University of Oviedo Faculty of Chemistry
43. Formatos RDF Existen varios formatos: N3 RDF/XML N-Triples Turtle etc. ¡Lo más importante es el modelo de grafo!
44. RDF Schema Extiende RDF con un vocabulario de esquema Class, Property, Resource,… type, subClassOf, subPropertyOf,… range, domain,… RDF Schemapermite inferencias
45. RDF Schema Ejemplo foaf:Person rdfs:subClassOf http://uniovi.es/Teacher Significado: if x rdf:type <http://uniovi.es/Teacher>. then x rdf:type foaf:Person
46. Inferencia en RDFS foaf:Person rdfs:subClassOf http://uniovi.es/Teacher rdf:type rdf:type http://uniovi.es/People/juan
47. SPARQL Simple Protocol and RDF Query Language Lenguaje de consultaspara la web semántica Encaje de grafos Extraeinformación de modelos RDF Un protocolo Define un mecanismoparainvocar un servicio También define un vocabulariopararesultados
48. SPARQL Ejemplo prefix r: <http://example.org#> select ?n where { ?x dc:creator ?p . ?x foaf:name ?n . ?p rdf:type <http://uniovi.es/Teacher>. } “Nombres de recursos cuyo autor sea un profesor”
49. Ejemplo SPARQL http://uniovi.es/Teacher rdf:type dc:creator ?p ?x ?n foaf:name ?n ?x ?p ?p Resultados Faculty of Biology ?x ?n Faculty of Biology http://biology.uniovi.es foaf:name http://uniovi.es/Teacher dc:creator rdf:type http://uniovi.es/people/juan rdf:type http://uniovi.es/people/Luis r;hasStaff dc:creator http://uniovi.es r:hasStaff http://chemistry.uniovi.es foaf:name Faculty of Chemistry foaf:name University of Oviedo Faculty of Chemistry select ?n where { ?x dc:creator ?p . ?x foaf:name ?n . ?p rdf:type <http://uniovi.es/Teacher> . }
50. SPARQL + Inferencia Las consultas SPARQL pueden combinarse con la inferencia Ejemplo: prefix r: <http://example.org#> select ?n where { ?x dc:creator ?p . ?x foaf:name ?n . ?p rdf:type foaf:Person . } “Nombres de recursos cuyo autor sea una persona”
51. SPARQL + Inferencia foaf:Person rdf:type dc:creator ?p ?x ?n foaf:name ?n ?x ?p ?p Resultados Faculty of Biology ?x ?n foaf:Person Faculty of Biology rdf:type http://biology.uniovi.es foaf:name rdfs:subclassOf http://uniovi.es/Teacher dc:creator rdf:type http://uniovi.es/people/juan rdf:type rdf:type http://uniovi.es/people/Luis r;hasStaff dc:creator http://uniovi.es r:hasStaff http://chemistry.uniovi.es foaf:name Faculty of Chemistry foaf:name University of Oviedo Faculty of Chemistry select ?n where { ?x dc:creator ?p . ?x foaf:name ?n . ?p rdf:type foaf:Person . }
52. Ontologías RDFS permite hacer inferencias sencillas No es muy expresivo OWL (Web OntologyLanguage) lenguaje común para definir ontologías Más expresivo Basado en lógica descriptiva
53. ¿Qué es una Ontología? Ontología = Formalización de un dominio Utiliza lenguajes formales Permite definir vocabulario de un dominio Compartir el significado entre aplicaciones Inferir nuevo conocimiento Otros términos relacionados: Taxonomía: Clasficación jerárquica Tesauro: Definiciones de términos
61. Comparando ¿Hay más desempleo en Cádiz o en Asturias? PREFIX : <http://observa.org#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX fn: <http://www.w3.org/2005/xpath-functions#> SELECT ?munCadiz (?paradosCadiz / ?pobCadiz) ?munAsturias (?paradosAsturias / ?pobAsturias) WHERE { ?m1 :region :Cadiz . ?m1 :populationTotal ?popCadiz . ?m1 rdfs:label ?munCadiz . ?data1 :municipio ?muniCadiz . ?data1 :fecha "2010-8". ?data1 :parados ?paradosCadiz . ?muniAsturias :region :Asturias . ?muniAsturias :populationTotal ?popAsturias . ?muniAsturias rdfs:label ?labAsturias . ?data2 :municipio ?muniAsturias . ?data2 :fecha "2010-8" . ?data2 :parados ?paradosAsturias . FILTER (fn:abs(?popCadiz - ?popAsturias) < 1000) . } Media: 5,7% más de paro en municipios con una diferencia de 1000hab en Cádiz
62. Conclusiones Datos abiertos enlazados facilitarán la integración y calidad de los sistemas Datos no enlazados dificultan la integración Ejemplo: Algeciras, Zahara…
63. Nuevos retos Legalidad: licencias, copyrights, patentes… Privacidad Cambios Escalabilidad Tiempo Real . . .
64. Fin de la presentación Másinformación: http://purl.org/weso WESO Research Group