1. Datos Abiertos de Zaragoza
Hackathon. eTOPIA_ marzo 2015
WWW.ZARAGOZA.ES
AYUNTAMIENTO DE ZARAGOZA
@zaragoza_es
2. Hackathon Zaragoza marzo 2015
Portal de datos abiertos
Introducción
Catálogo de datos
Servicios para reutilizadores
Consulta ciudadana
Tecnologías utilizadas
API
SOLR
Web Semántica + Vocabularios + SPARQL
Índice Datos abiertos de Zaragoza
3. Hackathon Zaragoza marzo 2015
Qué son los datos abiertos
“Poner la información disponible, tal cual es (en bruto)
en formatos estándar abiertos, facilitando su acceso y
permitiendo su reutilización”
Datos abiertos de Zaragoza
4. Hackathon Zaragoza marzo 2015
¿Son tus datos 5 estrellas? Datos abiertos de Zaragoza
★ Pon tus datos en la web (en cualquier formato) pero con una
licencia abierta.
★★ Haz que estén disponibles en forma estructurada (ej. excel en
vez de una imágen con la tabla)
★★★ Utilizando formatos no-propietarios (ej. csv en vez de excel)
★★★★ Utiliza estándares abiertos del W3C (RDF y SPARQL) para
identificar cosas, de forma que cualquiera pueda enlazar tus
contenidos
★★★★★ Enlaza tus datos con datos de otros (Linked Data)
5. Hackathon Zaragoza marzo 2015
Marco Legal
Directiva 2003/98/CE del Parlamento Europeo y del Consejo, de 17 de noviembre de 2003,
relativa a la reutilización de la información del sector público.
LEY 11/2007, de 22 de junio, de acceso electrónico de los ciudadanos a los Servicios
Públicos.
Ley 37/2007, de 16 de noviembre, sobre reutilización de la información del sector público.
Real Decreto 4/2010, de 8 de enero, por el que se regula el Esquema Nacional de
Interoperabilidad en el ámbito de la Administración Electrónica.
Real Decreto 1495/2011, de 24 de octubre, por el que se desarrolla la Ley 37/2007, de 16
de noviembre, sobre reutilización de la información del sector público, para el ámbito del
sector público estatal.
Ordenanza sobre transparencia y libre acceso a la información. BOPZ nº 74 de
01.04.2014.
Más Información: http://datos.gob.es/saber-mas?q=taxonomy/term/28
Datos abiertos de Zaragoza
6. Hackathon Zaragoza marzo 2015
El objetivo es que cualquier dato en posesión del Ayuntamiento de
Zaragoza sea expuesto (open data by default), salvo que se
considere:
●
Información excluida por intereses públicos: actuaciones
políticas, defensa y seguridad, política monetaria, investigación de
delitos, información con materias clasificadas o información registral.
●
Información excluida por intereses de terceros: información
que contenga datos de carácter personal, información cuyo acceso
pueda afectar a intereses de terceros o a intereses colectivos.
Origen
Iniciativa desarrollada desde la Web Municipal que está adscrita a la
Dirección General de Ciencia y Tecnología.
Datos abiertos de Zaragoza
7. Hackathon Zaragoza marzo 2015
Condiciones para la
reutilización
●
Está prohibido desnaturalizar el sentido de la información.
●
Debe citarse la fuente de los documentos objeto de la reutilización. Esta cita
podrá realizarse de la siguiente manera: "Origen de los datos: Ayuntamiento de
Zaragoza (o, en su caso, órgano administrativo, organismo o entidad de que se
trate)".
●
Debe mencionarse la fecha de la última actualización de los documentos objeto
de la reutilización, siempre cuando estuviera incluida en el documento original.
●
No se podrá indicar, insinuar o sugerir que el Ayuntamiento de Zaragoza
participa, patrocina o apoya la reutilización que se lleve a cabo con la
información.
●
Deben conservarse, no alterarse ni suprimirse los metadatos sobre la fecha de
actualización y las condiciones de reutilización aplicables incluidos, en su caso,
en el documento puesto a disposición para su reutilización.
Datos abiertos de Zaragoza
8. Hackathon Zaragoza marzo 2015
Fomento de la Reutilización de Información del
ayuntamiento de Zaragoza
– Ciudadanía
– Empresas
– Y otros organismos
Transparencia
Incremento de la Participación Ciudadana
Posibilidad de Crecimiento Económico en Distintos
Sectores
Objetivos Datos abiertos de Zaragoza
9. Hackathon Zaragoza marzo 2015
Conjuntos de datos (publicados en la web), ordenados por
temática, etiquetas (tags) y por formatos de
representación.
Los agentes reutilizadores podrán buscar los conjuntos de
datos en función de sus preferencias.
Se pretende ofrecer cualquier dato publico y en el mayor
número de formatos posibles, siempre buscando los
formatos abiertos para no limitar el uso
http://www.zaragoza.es/ciudad/risp/buscar_Risp
Catálogo de datos Datos abiertos de Zaragoza
12. Hackathon Zaragoza marzo 2015
• Inclusión de meta-información en las páginas web, con
RDFa
• El catálogo se define usando un vocabulario estándar,
conocido como "dcat" (Dataset Catalog), que permite la
interoperabilidad con cualquier vocabulario del mundo.
Gracias a esto, cualquier desarrollador puede
encontrar de forma automática la información ofrecida
por el Ayuntamiento de Zaragoza, así como hacer
búsquedas o combinar los resultados con otros
catálogos.
Catálogo Datos abiertos de Zaragoza
13. Hackathon Zaragoza marzo 2015
Servicios para reutilizadores
https://www.zaragoza.es/ciudad/risp/index_Api
Datos abiertos de Zaragoza
14. Hackathon Zaragoza marzo 2015
Directorio de Aplicaciones
• Herramientas o desarrollos realizados basándose en los Datos de Zaragoza.
• Ejemplos que pueden ser tomados como referencia por terceros para crear
sus propias soluciones.
https://www.zaragoza.es/ciudad/risp/buscar_Aplicacion
Datos abiertos de Zaragoza
15. Hackathon Zaragoza marzo 2015
Consulta ciudadana
http://consultadatos.zaragoza.es/
●
21 propuestas en revisión
●
2 propuestas planificadas
●
1 propuesta iniciada
●
35 propuestas finalizadas
●
6 propuestas rechazadas
Datos abiertos de Zaragoza
16. Hackathon Zaragoza marzo 2015
GitHub Datos abiertos de Zaragoza
https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io
18. Hackathon Zaragoza marzo 2015
Comparativa
API SOLR SPARQL
Coste Aprendizaje Bajo Medio Alto
Número de formatos Alto Medio Alto
Consultas unificada sobre
múltiples datasets
No No Sí
Lenguaje de consulta FIQL SOLR SPARQL
Métodos HTTP soportados GET
POST
PUT
DELETE
GET GET
Consultas por distancia Sí Sí Sí
Búsquedas facetadas No Sí No*
Full text search No Sí Sí
Búsquedas por relevancia No Sí No
* Se puede hacer pero no en una única petición
Datos abiertos de Zaragoza
19. Hackathon Zaragoza marzo 2015
API. Características Datos abiertos de Zaragoza
●
Interfaz REST desarrollada desde la Web Municipal,
basándonos en JSR 311: The JavaTM API for RESTful Web Services
Utilizando Java Reflection y Java Annotations
●
Hibernate para la persistencia en BBDD
●
EhCaché como sistema de caché
●
FIQL Para hacer consultas sobre los conjuntos de datos
●
Hibernate Generic DAO Framework para persistencia de conjuntos de datos
●
sencillos
●
Conforme la Norma Técnica de Interoperabilidad de reutilización de
Recursos de Información, publicada en el BOE 4 de marzo
●
Virtuoso como almacén de tripletas
●
SOLR como motor de búsqueda
●
URIs deferenciables
20. Hackathon Zaragoza marzo 2015
API. Peticiones soportadas Datos abiertos de Zaragoza
Esquema de URIs:
http://{base}/recurso/{sector}[/{dominio}]/{clase}/{ID}
Ejemplo:
http://www.zaragoza.es/api/recurso/ciencia-tecnologia/punto-wifi
Recurso POST (crear) GET|OPTIONS (leer) PUT (actualizar) DELETE (eliminar)
/punto-wifi/ Crea un
nuevo punto
Listado de puntos,
por query, con
OPTIONS sólo
cabeceras HTTP
Actualización
masiva de
puntos
Borrar puntos por
query
/punto-wifi/266 ERROR Muestra el punto
266, con OPTIONS
sólo cabeceras
HTTP
Si existe
actualiza el
punto, sino error
Borra el punto 266
21. Hackathon Zaragoza marzo 2015
API. Parámetros generales Datos abiertos de Zaragoza
●
q: búsqueda con sintaxis FIQL
●
start: posición del primer registro que se mostrará
●
rows: número de filas que se obtendrán
●
sort: criterios para ordenar los resultados
●
srsname: Sistema de referencia, utilizado para campos
tipo geometría
●
fl: atributos que se quieren visualizar
22. Hackathon Zaragoza marzo 2015
API. Formatos Datos abiertos de Zaragoza
Hay dos opciones para indicar el tipo de respuesta que se desea:
●
Mediante el parametro 'Accept' en los headers de la petición.
Ejemplo: Accept:application/rdf+xml
●
Indicando el formato mediante su extensión en la petición.
Ejemplo: http://www.zaragoza.es/api/recurso/turismo/restaurante.rdf
Formato Header 'Accept' Extensión de formato
JSON application/json .json
GEOJson application/geo+json .geojson
XML application/xml .xml
CSV text/csv .csv
JSONLD application/ld+json .jsonld
RDF application/rdf+xml .rdf
Turtle application/x-turtle .ttl
N3 application/rdf+n3 .n3
23. Hackathon Zaragoza marzo 2015
API. Prueba de servicios Datos abiertos de Zaragoza
http://www.zaragoza.es/docs-api/
24. Hackathon Zaragoza marzo 2015
API. Prueba de servicios Datos abiertos de Zaragoza
http://www.zaragoza.es/docs-api/#!/equipamiento
25. Hackathon Zaragoza marzo 2015
API. Prueba de servicios Datos abiertos de Zaragoza
http://www.zaragoza.es/docs-api/#!/equipamiento
26. Hackathon Zaragoza marzo 2015
API. Prueba de servicios Datos abiertos de Zaragoza
http://www.zaragoza.es/docs-api/#!/equipamiento
27. Hackathon Zaragoza marzo 2015
API. Consultas
50 primeros restaurantes en json y srs en utm30 (por defecto):
http://www.zaragoza.es/api/recurso/turismo/restaurante.json
50 primeros restaurantes en jsonld y srs en wsg84:
http://www.zaragoza.es/api/recurso/turismo/restaurante.jsonld?srsname=wgs84
100 primeros restaurantes en json filtrados por nombre, calle, teléfono, número de tenedores y srs en
utm30:
http://www.zaragoza.es/api/recurso/turismo/restaurante.json?rows=100&fl=title,streetAddress,tel,tenedores,geometry
50 primeros restaurantes de dos tenedores en rdf y srs utm30:
http://www.zaragoza.es/api/recurso/turismo/restaurante.rdf?q=tenedores==2
Información de los 5 restaurantes más cercanos al edificio Etopia en un radio de 500 metros en json:
http://www.zaragoza.es/api/recurso/turismo/restaurante.json?srsname=wgs84&rows=5&point=-0.906942,41.659565&distance=500
Nombre y teléfono de los 5 restaurantes más cercanos a la Basílica de Ntra. Sra. del Pilar en un radio de
250 metros en jsonld:
http://www.zaragoza.es/api/recurso/turismo/restaurante.json?
fl=title,tel&srsname=wgs84&rows=5&point=-0.878516,41.656772&distance=250
Restaurantes con capacidad para más de 1000 comensales en xml:
http://www.zaragoza.es/api/recurso/turismo/restaurante.xml?q=capacidad=gt=1000
Datos abiertos de Zaragoza
Las consultas se realizan utilizando FIQL(Feed Item Query Language)
http://tools.ietf.org/pdf/draft-nottingham-atompub-fiql-00.pdf
28. Hackathon Zaragoza marzo 2015
API. Más ejemplos Datos abiertos de Zaragoza
https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io/tree/master/api/queries
29. Hackathon Zaragoza marzo 2015
SOLR
Plataforma de búsqueda construida sobre Apache Lucene
http://lucene.apache.org/solr/
Versión instalada 3.2
●
Full-text search
●
Interfaces basadas en estándares abiertos (JSON, XML...)
●
Optimizado para volúmenes altos de tráfico
●
Búsquedas facetadas
●
Búsquedas espaciales
Datos abiertos de Zaragoza
30. Hackathon Zaragoza marzo 2015
SOLR en datos.zaragoza.es
http://www.zaragoza.es/ciudad/risp/camposindizados.htm
●
Calidad del agua
●
Calidad del aire
●
Estaciones Bizi
●
Incidencias en la vía pública
●
Recursos de la ciudad
●
Trámites
●
Monumentos
●
Conjuntos de Datos Abiertos
●
Actividades de la ciudad
●
Agenda Juvenil
●
Alojamientos
●
Asociaciones
●
Impresos
●
Arte Público
●
Catálogo Histórico Artístico
●
Restaurantes
Datos abiertos de Zaragoza
31. Hackathon Zaragoza marzo 2015
SOLR. Sintaxis de consulta
Documentación:
http://wiki.apache.org/solr/FrontPage#Search_and_Indexing
Parámetros más comunes
http://www.zaragoza.es/buscador/select?
q=<solrQuery>
[
&sort=<orden>
&rows=<nºregistros>
&start=<primer_registro>
&fq=<filtro_superior>
&fl=<listado_de_campos_que_se_obtendrán>
//Formatos de respuesta (http://wiki.apache.org/solr/QueryResponseWriter)
&wt=<formato_de_respuesta>
// Campos para hacer búsquedas facetadas (https://wiki.apache.org/solr/SimpleFacetParameters)
&facet=true
&facet.field=<campo_por_el_que_se_faceta>
&facet.mincount=<numero_minimo_de_resultados_para_que_se_devuelva>
]
Datos abiertos de Zaragoza
32. Hackathon Zaragoza marzo 2015
SOLR. Ejemplos
https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io/tree/master/solr/queries
●
Datos de estaciones Bizi en json:
http://www.zaragoza.es/buscador/select?q=category:Bizi&wt=json
●
Estaciones Bizi que en el título contienen “iranzo”
/buscador/select?q=title:iranzo%20AND%20category:Bizi&wt=json&indent=on
●
Estaciones Bizi que tienen como mínimo 2 y como máximo 5 anclajes disponibles:
/buscador/select?q=anclajesdisponibles_i:[2%20TO%205]%20AND%20category:Bizi&wt=json
Datos abiertos de Zaragoza
33. Hackathon Zaragoza marzo 2015
SOLR. Más ejemplos
https://github.com/zaragoza-sedeelectronica/zaragoza-
sedeelectronica.github.io/tree/master/solr
https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io/tree/master/solr/queries
34. Hackathon Zaragoza marzo 2015
SOLR. Resultado JSON Datos abiertos de Zaragoza
GET: http://www.zaragoza.es/buscador/select?q=category:Bizi&wt=json&indent=on&rows=2
36. Hackathon Zaragoza marzo 2015
Web Semántica Datos abiertos de Zaragoza
La web semántica (del inglés semantic web) es un conjunto de
actividades desarrolladas en el seno de World Wide Web
Consortium tendente a la creación de tecnologías para publicar
datos legibles por aplicaciones informáticas (máquinas en la
terminología de la Web semántica). Se basa en la idea de
añadir metadatos semánticos y ontológicos a la World Wide
Web.
Fuente: http://es.wikipedia.org/wiki/Web_sem%C3%A1ntica
37. Hackathon Zaragoza marzo 2015
Web semántica. Tripletas RDF Datos abiertos de Zaragoza
Las Tripletas RDF son una conexión etiquetada entre dos recursos
Una Tripleta RDF (sujeto,predicado,objeto) es algo que:
“sujeto”, “predicado” son URIs (recursos Web); “objeto” es un URI o un literal
Una Tripleta completa sería:
<.../evento-zaragoza/136000>, <http://www.w3.org/1999/02/22-rdf-syntax-ns#type>, <http://schema.org/Event>
RDF es un modelo para estas tripletas (con formatos procesables
automáticamente, como XML, N3, Turtle,...)
38. Hackathon Zaragoza marzo 2015
Web semántica. Grafos
Las tripletas RDF forman directamente un grafo etiquetado
<.../evento-zaragoza/136000>
<http://schema.org/Event>
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
"Seminario La nueva PAC y sus
repercusiones en la ciudadanía
europea"
<http://www.w3.org/2000/01/rdf-schema#label>
Datos abiertos de Zaragoza
En formato Turtle se representaría así:
<.../evento-zaragoza/136000>
rdf:type <http://schema.org/Event> ;
rdfs:label "Seminario La nueva PAC y sus repercusiones en la ciudadanía
europea".
39. Hackathon Zaragoza marzo 2015
Vocabularios Datos abiertos de Zaragoza
●
Compartir vocabularios facilita la reutilización.
●
Es complejo encontrar vocabularios adecuados.
●
Optamos por repetir información para que sea acorde a
múltiples vocabularios.
Vocabularios utilizados en los conjuntos de datos:
http://www.zaragoza.es/ciudad/risp/vocabularios.htm
40. Hackathon Zaragoza marzo 2015
SPARQL Datos abiertos de Zaragoza
Definición: lenguaje estandarizado para la consulta de grafos RDF
●
W3C SPARQL Working Group
http://www.w3.org/2009/sparql/wiki/Main_Page
●
SPARQL 1.1 Query Language. W3C Recommendation 21 March 2013
http://www.w3.org/TR/2013/REC-sparql11-query-20130321/
41. Hackathon Zaragoza marzo 2015
Punto SPARQL Datos abiertos de Zaragoza
http://www.zaragoza.es/ciudad/risp/sparql.htm
42. Hackathon Zaragoza marzo 2015
Cómo conocer el contenido del punto
SPARQL Datos abiertos de Zaragoza
Listar los grafos existentes:
SELECT DISTINCT ?uri WHERE { GRAPH ?uri {?s a ?t} }
43. Hackathon Zaragoza marzo 2015
Cómo conocer el contenido del punto
SPARQL Datos abiertos de Zaragoza
Objetos existentes en un grafo
GRAFO: http://www.zaragoza.es/cultura-ocio/evento-zaragoza/
CONSULTA: SELECT DISTINCT ?uri WHERE { GRAPH ?uri {?s a ?t} }
44. Hackathon Zaragoza marzo 2015
Cómo conocer el contenido del punto
SPARQL Datos abiertos de Zaragoza
Listar las propiedades de un objeto
select distinct ?uri
where {
?uriCont a <http://schema.org/Event>.
?uriCont ?uri ?obj.
}
Esta consulta es equivalente a:
PREFIX s:<http://schema.org/>
select distinct ?uri
where {
?uriCont a s:Event;
?uri ?obj.
}
45. Hackathon Zaragoza marzo 2015
Cómo conocer el contenido del punto
SPARQL Datos abiertos de Zaragoza
Contar el número de registros de un tipo:
select COUNT(?Concepto) AS ?numero Where{ ?Concepto a <http://schema.org/Event>. }
46. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Queremos obtener el listado de 5 actividades destacadas ordenadas según el campo orden, con
su titulo, horario y coordenadas en wgs84:
Empezamos listando los eventos
SELECT DISTINCT ?uri
WHERE {
?uri a <http://schema.org/Event>.
} LIMIT 5
Esta consulta con prefijos sería:
PREFIX s: <http://schema.org/>
SELECT DISTINCT ?uri
WHERE {
?uri a s:Event.
} LIMIT 5
47. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Añadiríamos más campos con optional por si no están rellenados
PREFIX acto: <http://vocab.linkeddata.es/datosabiertos/def/cultura-ocio/agenda#>
PREFIX s: <http://schema.org/>
PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ns: <http://www.w3.org/2006/vcard/ns#>
SELECT DISTINCT ?uri ?subEvent ?title ?tema ?subtema ?geo WHERE {
?uri a s:Event;
rdfs:label ?title.
OPTIONAL {?uri s:subEvent ?subEvent.}
OPTIONAL {?uri skos:broader ?tema.}
OPTIONAL {?uri ns:category ?subtema.}
OPTIONAL {?uri geo:geometry ?geo}
?uri acto:destacada "true";
acto:orden ?orden.
}
ORDER BY ASC(?orden) LIMIT 5
48. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Vemos las propiedades de subevent
select distinct ?uri
where {
?uriCont a <http://vocab.linkeddata.es/datosabiertos/def/cultura-ocio/agenda#acto-lugar>;
?uri ?obj.
}
49. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Añadimos las propiedades del subevento
PREFIX acto: <http://vocab.linkeddata.es/datosabiertos/def/cultura-ocio/agenda#>
PREFIX s: <http://schema.org/>
PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ns: <http://www.w3.org/2006/vcard/ns#>
SELECT DISTINCT ?uri ?title ?startDate ?endDate ?startTime ?endTime ?horario ?tema
?subtema ?geo WHERE {
?uri a s:Event;
rdfs:label ?title.
OPTIONAL {?uri s:subEvent ?subEvent.}
OPTIONAL {?subEvent s:startDate ?startDate.}
OPTIONAL {?subEvent s:endDate ?endDate.}
OPTIONAL {?subEvent s:startTime ?startTime.}
OPTIONAL {?subEvent s:endTime ?endTime.}
OPTIONAL {?subEvent s:openingHours ?horario.}
OPTIONAL {?uri skos:broader ?tema.}
OPTIONAL {?uri ns:category ?subtema.}
OPTIONAL {?uri geo:geometry ?geo}
?uri acto:destacada "true";
acto:orden ?orden.
}
ORDER BY ASC(?orden) LIMIT 5
50. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Nos falta añadir las coodenadas
PREFIX acto: <http://vocab.linkeddata.es/datosabiertos/def/cultura-ocio/agenda#>
PREFIX s: <http://schema.org/>
PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ns: <http://www.w3.org/2006/vcard/ns#>
SELECT DISTINCT ?uri ?title ?startDate ?endDate ?startTime ?endTime ?horario ?tema ?
subtema ?latitud ?longitud
WHERE {
?uri a s:Event;
rdfs:label ?title.
OPTIONAL {?uri s:subEvent ?subEvent.}
OPTIONAL {?subEvent s:startDate ?startDate.}
OPTIONAL {?subEvent s:endDate ?endDate.}
OPTIONAL {?subEvent s:startTime ?startTime.}
OPTIONAL {?subEvent s:endTime ?endTime.}
OPTIONAL {?subEvent s:openingHours ?horario.}
OPTIONAL {?uri skos:broader ?tema.}
OPTIONAL {?uri ns:category ?subtema.}
OPTIONAL {?uri geo:geometry ?geo.
?geo geo:lat ?latitud.
?geo geo:long ?longitud.}
?uri acto:destacada "true";
acto:orden ?orden.
}
ORDER BY ASC(?orden) LIMIT 5
51. Hackathon Zaragoza marzo 2015
Ejemplo de consulta SPARQL
Datos abiertos de Zaragoza
Obtenemos el nombre del tema y del subtema y los concatenamos
PREFIX acto: <http://vocab.linkeddata.es/datosabiertos/def/cultura-ocio/agenda#>
PREFIX s: <http://schema.org/>
PREFIX v: <http://www.w3.org/2006/vcard/ns#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX ns: <http://www.w3.org/2006/vcard/ns#>
SELECT DISTINCT ?uri ?title ?startDate ?endDate ?startTime ?endTime ?horario ?tipo ?
latitud ?longitud
WHERE {
?uri a s:Event;
rdfs:label ?title.
OPTIONAL {?uri s:subEvent ?subEvent.}
OPTIONAL {?subEvent s:startDate ?startDate.}
OPTIONAL {?subEvent s:endDate ?endDate.}
OPTIONAL {?subEvent s:startTime ?startTime.}
OPTIONAL {?subEvent s:endTime ?endTime.}
OPTIONAL {?subEvent s:openingHours ?horario.}
OPTIONAL {?uri skos:broader/skos:prefLabel ?tema.}
OPTIONAL {?uri ns:category/skos:prefLabel ?subtema.}
OPTIONAL {?uri geo:geometry ?geo.
?geo geo:lat ?latitud.
?geo geo:long ?longitud.}
?uri acto:destacada "true";
acto:orden ?orden.
bind (CONCAT(?tema, " -> ", ?subtema) AS ?tipo)
}
ORDER BY ASC(?orden) LIMIT 5
Es equivalente a:
?uri skos:broader ?temaTmp.
?temaTmp skos:prefLabel ?tema.
?uri ns:category ?subtemaTmp.
?subtemaTmp skos:prefLabel ?subtema.
52. Hackathon Zaragoza marzo 2015
Cómo conocer el contenido del punto
SPARQL Datos abiertos de Zaragoza
53. Hackathon Zaragoza marzo 2015
SPARQL. Formatos de respuesta
Datos abiertos de Zaragoza
HTML text/html
Spreadsheet application/vnd.ms-excel
XML application/sparql-results+xml
JSON application/sparql-
results+json
Javascript application/javascript
NTriples text/plain
RDF/XML application/rdf+xml
CSV text/csv
TSV text/tab-separated-values
54. Hackathon Zaragoza marzo 2015
SPARQL. Petición GET
http://datos.zaragoza.es/sparql?
default-graph-uri= + encodeURIComponent(grafo)
&query= + encodeURIComponent(querySPARQL)
&format= + encodeURIComponent(formato)
Por ejemplo la consulta:
GRAFO: http://www.zaragoza.es/cultura-ocio/evento-zaragoza/
select distinct ?Concept where {[] a ?Concept} LIMIT 100
Se convierte en:
http://datos.zaragoza.es/sparql?default-graph-uri=http%3A%2F
%2Fwww.zaragoza.es%2Fcultura-ocio%2Fevento-zaragoza
%2F&query=select+distinct+%3FConcept+where+%7B%5B%5D+a+%3FConcept
%7D+LIMIT+100&format=text%2Fhtml
55. Hackathon Zaragoza marzo 2015
SPARQL. Más consultas de ejemplo
Datos abiertos de Zaragoza
https://github.com/zaragoza-sedeelectronica/zaragoza-sedeelectronica.github.io/tree/master/sparql/queries
56. M ás I nforma ció n
C R É D I T O S
María Jesús Fernández Ruiz
Víctor Morlán Plo
Ruben Notivol Bezares
Laura Fernando
Christian Forcada
Antonio Herrero
Oscar Corcho
www.zaragoza.es
http://datos.zaragoza.es
datosabiertos@zaragoza.es
Notas del editor
La presentación está dividida en dos partes, en la primera explicaremos los servicios disponibles en el portal de datos abiertos.
En la segunda parte veremos cómo utilizar las diferentes tecnologías que se describen en el catálogo de datos abiertos.
¿Qué es el open data?, es “Poner la información del Sector Público disponible, tal cual es (en bruto) en formatos estándar abiertos, facilitando su acceso y permitiendo su reutilización”, es decir no basta con poner la información en HTML, sino que hay que publicarla de manera que los reutilizadores puedan hacer uso de ella con el mínimo esfuerzo.
¿Qué es el open data?, es “Poner la información del Sector Público disponible, tal cual es (en bruto) en formatos estándar abiertos, facilitando su acceso y permitiendo su reutilización”, es decir no basta con poner la información en HTML, sino que hay que publicarla de manera que los reutilizadores puedan hacer uso de ella con el mínimo esfuerzo.
La directiva europea se adoptó con objetivo de explotar el potencial de información del sector público
La ley 11/22007 en la que se recoge la cooperación en materia de interoperabilidad de sistemas y aplicaciones.
La Ley 37/2007 que persigue armonizar la explotación de la información y la publicidad de todos los documentos de libre disposición que obran en poder del sector público.
El Real Decreto 4/2010 que tiene como objetivo establecer criterios y recomendaciones que permitan y favorezcan el desarrollo de la interoperabilidad en las Administraciones públicas
Datos abiertos es una iniciativa desarrollada desde la Web Municipal, la web municipal está adscrita a la Dirección General de Ciencia y Tecnología.
Pero en este proyecto lo realmente importante ha sido que los diferentes servicios del Ayuntamiento, nos han dado permiso para la publicación de la información además de pasarnosla de forma estructurada para poder ser abierta.
Pretendemos que con el tiempo cualquier dato en posesión del Ayuntamiento sea expuesto, salvo que se considere información excluida por intereses públicos actuaciones políticas, defensa y seguridad, política monetaria, investigación de delitos, información con materias clasificadas o información registral. o por intereses de terceros, sobre todo teniendo en cuenta la LOPD
El objetivo es que los datos sean abiertos por defecto convirtiéndonos la web municipal en los primeros reutilizadores de la información publicada.
Las condiciones de reutilización están recogidas en el aviso legal basado en el propuesto por la administración central que establece...
Está prohibido desnaturalizar el sentido de la información.
Debe citarse la fuente de los documentos objeto de la reutilización. Esta cita podrá realizarse de la siguiente manera: &quot;Origen de los datos: Ayuntamiento de Zaragoza (o, en su caso, órgano administrativo, organismo o entidad de que se trate)&quot;.
Debe mencionarse la fecha de la última actualización de los documentos objeto de la reutilización, siempre cuando estuviera incluida en el documento original.
No se podrá indicar, insinuar o sugerir que el Ayuntamiento de Zaragoza participa, patrocina o apoya la reutilización que se lleve a cabo con la información.
Deben conservarse, no alterarse ni suprimirse los metadatos sobre la fecha de actualización y las condiciones de reutilización aplicables incluidos, en su caso, en el documento puesto a disposición para su reutilización.
El portal de datos abiertos pretende aglutinar todos los conjuntos de datos que ofrece el ayuntamiento para
- facilitar su consulta y descubrimiento.
- Fomento de la Reutilización de Información del ayuntamiento de Zaragoza por parte de la ciudadanía las empresas y otros organismos
- Transparencia en la información
- Incrementar de la Participación Ciudadana
- Posibilidad de Crecimiento Económico en Distintos Sectores
En el catálogo es en donde están descritos los conjuntos se puede consultar los datos por temática, etiquetas y por formatos de representación.
Los agentes reutilizadores podrán buscar los conjuntos de datos en función de sus preferencias.
Se pretende ofrecer cualquier dato publico y en el mayor número de formatos posibles, siempre buscando los formatos abiertos para no limitar el uso
Actualmente el catálogo de datos contiene 108 conjuntos de datos, clasificados por las temáticas según la norma técnica de interoperabilidad.
Pueden parecer pocos conjuntos de datos en número pero por ejemplo en el conjunto de datos de equipamientos existen muchas clasificaciones dentro y en vez de crear un conjunto de datos por cada uno de los tipos de equipamientos hemos optado por agruparlos todos en uno para unificar la forma de describirlos.
El catálogo además está etiquetado mediante etiquetas RDFa usando un vocabulario estándar, conocido como &quot;dcat&quot; (Dataset Catalog), que permite la interoperabilidad con cualquier vocabulario del mundo.
Gracias a esto, cualquier desarrollador puede encontrar de forma automática la información ofrecida por el Ayuntamiento de Zaragoza, así como hacer búsquedas o combinar los resultados con otros catálogos.
También se ofrece un canal RSS para estar al día de las novedades en el catálogo.
Hemos preparado un registro para reutilizadores con el objetivo de que nos comuniquén qué conjuntos de datos están utilizando.
Desde allí se puede comunicar los conjuntos de datos que se están utilizando así como la dificultad de realizar una modificación sobre ellos.
También se puede gestionar las aplicaciones que se el usuario tiene en el Directorio de aplicaciones.
El registro es totalmente voluntario y sólo lo utilizamos para comunicar asuntos relacionados con los conjuntos de datos que nos indiquéis que usáis.
Como iniciativa para fomentar el uso hemos creado un directorio de aplicaciones que utilizan Datos del Ayuntamiento, para que puedan ser tomados como referencia por los agentes reutilizadores.
En la consulta ciudadana recibimos las solicitudes de los reutilizadores y tratamos de conseguir la información demandada
Actualmente tenemos
- 21 propuestas en revisión
- 2 propuestas planificadas
- 1 propuesta iniciada
- 35 propuestas finalizadas
- 6 propuestas rechazadas