Casos de uso


En este apartado se van a presentar diferentes casos de uso de los datos, tomando como punto de inicio las preguntas de competencia que se definieron en los primeros pasos del desarrollo de la ontología desarrollada para BTN100. El proceso seguido en cada caso de uso para obtener las consultas SPARQL a partir de la pregunta de competencia ha sido el siguiente:

  • se seleccionaron diferentes preguntas por cada uno de los temas INSPIRE en los que se engloban los datos. Estos temas son: unidades administrativas, altimetría, hidrografía, poblaciones y construcciones, transportes, energía y conducciones y, por último, vértices geodésicos
  • por cada pregunta, se identificaron los tipos de recursos y las propiedades implicados en la consulta
  • si hay funciones que se deben aplicar sobre los datos, ya sean geoespaciales, calculos numéricos, etc, implicadas en la consulta, se identifica que función es la que debe usarse para tenerlo en cuenta a la hora de realizar la consulta
  • una vez se han realizado los pasos anteriores, se procede a generar la consulta SPARQL. Más información sobre SPARQL Query Language for RDF
A continuación se muestran diferentes ejemplos de casos de uso.

Para poder generar esta consulta, hay que recuperar el recurso que representa la provincia de "Las Palmas", recuperar todos los recursos que representan municipios y filtrar por aquellos que se encuentren dentro de la provincia.

El primero paso se realizar recuperando el recurso de tipo esadm:Provincia con la etiqueta "Las Palmas". Una vez identificado, se recupera su geometría.

Después, se recuperan todos los recursos de tipo esadm:Municipio, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías de la provincia y de los municipios, se filtran usando la función geoespacial bif:st_within que indica si una geometría se encuentra dentro de otra. De esta manera, se recuperan los municipios que se encuentran "dentro" de la provincia de "Las Palmas".

A continuación se muestra la consulta generada para este caso de uso:

	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX dc: <http://purl.org/dc/terms/>
	
	SELECT DISTINCT ?codigoMunicipio ?nombreMunicipio 
	WHERE {
		?provincia a esadm:Provincia .
		?provincia dc:title "Las Palmas" .
		?provincia dc:title ?nombreProvincia .
		?provincia geosparql:hasGeometry ?geoProv .
		?geoProv geosparql:asWKT ?geoProvLocali .
		
		?municipio a esadm:Municipio .
		?municipio dc:title ?nombreMunicipio .
		?municipio dc:identifier ?codigoMunicipio .
		?municipio geosparql:hasGeometry ?geoMuni .
		?geoMuni geosparql:asWKT ?geoMuniLocali .
		
		FILTER (bif:st_within(?geoMuniLocali, ?geoProvLocali)) .  
	
	} ORDER BY ASC(?nombreMunicipio)
	

Para poder generar esta consulta, hay que recuperar el recurso que representa el municipio de "Las Rozas de Madrid", recuperar todos los recursos que representan lugares de interés y filtrar por aquellos que se encuentren en un kilometro a la redonda del municipio.

El primero paso se realizar recuperando el recurso de tipo esadm:Municipio con la etiqueta "Las Rozas de Madrid". Una vez identificado, se recupera su geometría.

Después, se recuperan todos los recursos de tipo btn100:LugarDeInteres, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías del municipio y los lugares de interés, se filtran usando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común, indicando la distancia máxima, en este caso 1 kilómetro. De esta manera, se recuperan los lugares de interés a 1 kilómetro del municipio de "Las Rozas de Madrid".

A continuación se muestra la consulta generada para este caso de uso:

	PREFIX dc: <http://purl.org/dc/terms/>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX btn100:<https://datos.ign.es/def/btn100#>

	SELECT DISTINCT ?nombre ?geoLugarLocali  WHERE{
		?uriNucleo a btn100:NucleoPoblacionSuperficial .
		?uriNucleo dc:title "Las Rozas de Madrid" .
		?uriNucleo geosparql:hasGeometry ?geoNucleo .
		?geoNucleo geosparql:asWKT ?geoNucleoLocali .

		?uriLugar a btn100:LugarDeInteres .
		?uriLugar dc:title ?nombre .
		?uriLugar geosparql:hasGeometry ?geoLugar .
		?geoLugar geosparql:asWKT ?geoLugarLocali .

		FILTER (bif:st_intersects(?geoLugarLocali,?geoNucleoLocali,1))

	}ORDER by (?nombre)

Para poder generar esta consulta, hay que recuperar el recurso que representa el "Parque Nacional de Sierra Nevada", recuperar todos los recursos que representan ríos lineales y filtrar por aquellos que se encuentren dentro del parque.

El primero paso se realizar recuperando el recurso de tipo btn100:ParqueNacional con la etiqueta "Parque Nacional de Sierra Nevada". Una vez identificado, se recupera su geometría.

Después, se recuperan todos los recursos de tipo btn100:RioLineal, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías del parque nacional y de los ríos lineales, se filtran usando la función geoespacial bif:st_within que indica si una geometría se encuentra dentro de otra. De esta manera, se recuperan los ríos lineales que se encuentran "dentro" del "Parque Nacional de Sierra Nevada".

A continuación se muestra la consulta generada para este caso de uso:

	PREFIX dc: <http://purl.org/dc/terms/>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX btn100:<https://datos.ign.es/def/btn100#>

	SELECT DISTINCT ?nombre WHERE{
		?uriParque a btn100:ParqueNacional .
		?uriParque dc:title "Parque Nacional de Sierra Nevada" .
		?uriParque geosparql:hasGeometry ?geoParque .
		?geoParque geosparql:asWKT ?geoParqueLocali .

		?uriRio a btn100:RioLineal .
		?uriRio dc:title ?nombre .
		?uriRio geosparql:hasGeometry ?geoRio .
		?geoRio geosparql:asWKT ?geoRioLocali .

		FILTER (bif:st_within(?geoRioLocali,?geoParqueLocali))

	} ORDER by (?nombre)

Para poder generar esta consulta, hay que recuperar el recurso que representa el "Pico Tibidabo" y recuperar su altitud.

En este caso, hay que recuperar el recurso de tipo btn100:Pico con la etiqueta "Pico Tibidado". Una vez identificado, se recupera el valor representado por el campo btn100:cota que representa la altitud del pico.

A continuación se muestra la consulta generada para este caso de uso:


	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX dc: <http://purl.org/dc/terms/>
	
	SELECT DISTINCT ?nombre ?cota WHERE{
		?pico a btn100:Pico .
		?pico dc:title "Pico Tibidabo" .
		?pico dc:title ?nombre .
		?pico btn100:cota ?cota .
	}

Para poder generar esta consulta, parecida a la anterior, hay que recuperar todos los recurso de tipo btn100:Pico y recuperar el de mayor altitud.

En este caso, se recuperan todos los recursos de tipo btn100:Pico y la propiedad btn100:cota. Una vez recuperados, se ordenan por el campo cota de mayor a menor, ORDER by DESC (xsd:integer(?cota)), y se indica que solo se devuelva un único elemento, LIMIT 1.

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX dc: <http://purl.org/dc/terms/>
	
	SELECT DISTINCT ?nombre ?cota WHERE {
		?pico a btn100:Pico .
		?pico dc:title ?nombre .
		?pico btn100:cota ?cota .
	} ORDER by DESC (xsd:integer(?cota)) LIMIT 1
	

Para poder generar esta consulta, hay que recuperar el recurso que representa la provincia de "Madrid", recuperar todos los recursos que representan picos, filtrar por aquellos que se encuentren dentro de la provincia y, por último, devolver el que tenga la cota mayor.

El primero paso se realizar recuperando el recurso de tipo esadm:Provincia con la etiqueta "Madrid". Una vez identificado, se recupera su geometría.

Después, se recuperan todos los recursos de tipo btn100:Pico, así como las cotas y las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías de la provincia y de los picos, se filtran usando la función geoespacial bif:st_within que indica si una geometría se encuentra dentro de otra. De esta manera, se recuperan los municipios que se encuentran "dentro" de la provincia de "Madrid".

Una vez recuperados, se ordenan por el campo cota de mayor a menor, ORDER by DESC (xsd:integer(?cota)), y se indica que solo se devuelva un único elemento, LIMIT 1.

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>
	
	SELECT DISTINCT ?nombre ?cota WHERE {
		?provincia a esadm:Provincia .
		?provincia dc:title "Madrid" .
		?provincia dc:identifier ?codigoprovincia .
		?provincia geosparql:hasGeometry ?geoProvincia .
		?geoProvincia geosparql:asWKT ?geoProvinciaLocali .

		?pico a btn100:Pico .
		?pico dc:title ?nombre .
		?pico btn100:cota ?cota .
		?pico geosparql:hasGeometry ?geoPico .
		?geoPico geosparql:asWKT ?geoPicoLocali .
		
		FILTER (bif:st_within(?geoPicoLocali, ?geoProvinciaLocali)) . 
	  
	} ORDER BY DESC(xsd:integer(?cota)) LIMIT 1
	

Para poder generar esta consulta, hay que recuperar el recurso que representa la "Comunidad de Madrid", recuperar todos los recursos que representan municipios, filtrar por aquellos que se encuentren dentro de la comunidad, recuperar los aeropuertos y filtrar por aquellos que están dentro de los municipios de la "Comunidad de Madrid".

El primero paso se realizar recuperando el recurso de tipo esadm:ComunidadAutonoma con la etiqueta "Comunidad de Madrid". Una vez identificado, se recupera su geometría.

Después, se recuperan todos los recursos de tipo esadm:Municipio, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías de la provincia y de los municipios, se filtran usando la función geoespacial bif:st_within que indica si una geometría se encuentra dentro de otra. De esta manera, se recuperan los municipios que se encuentran "dentro" de la "Comunidad de Madrid".

Una vez disponemos de los municipios de Madrid, se actua de manera análoga con los recursos de tipo btn100:Aeropuerto. Se recuperan los recursos y sus geometrías y, como en el caso de los municipios, se filtan usando la función geoespacial bif:st_within usando las geometrías de los municipios y de los aeropuertos. De esta manera, se obtienen los municipios que tienen un aeropuerto en su territorio.

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>
	
	SELECT DISTINCT ?codigoMunicipio ?nombreMunicipio ?nombreAeropuerto
	WHERE {
		?ccaa a esadm:ComunidadAutonoma .
		?ccaa dc:title "Comunidad de Madrid" .
		?ccaa geosparql:hasGeometry ?geoCCAA .
		?geoCCAA geosparql:asWKT ?geoCCAALocali .

		?municipio a esadm:Municipio .
		?municipio dc:title ?nombreMunicipio .
		?municipio dc:identifier ?codigoMunicipio .
		?municipio geosparql:hasGeometry ?geoMuni .
		?geoMuni geosparql:asWKT ?geoMuniLocali .

		FILTER (bif:st_intersects(?geoMuniLocali, ?geoCCAALocali))

		?aeropuerto a btn100:Aeropuerto .
		?aeropuerto dc:title ?nombreAeropuerto .
		?aeropuerto geosparql:hasGeometry ?geoAero .
		?geoAero geosparql:asWKT ?geoAeroLocali .

		FILTER (bif:st_intersects(?geoAeroLocali, ?geoMuniLocali))

	} ORDER BY ASC(?nombreMunicipio)
	

Para poder generar esta consulta, hay que recuperar las comunidades autónomas, el recurso que representa el "Río Tajo" y filtrar por aquellas por aquellas por la que discurra el cauce del río.

Primero se recuperan los recursos de tipo esadm:ComunidadAutonoma, así como las geometrías de cada uno de ellos.

Despues se recupera el recurso de tipo btn100:RioLineal con la etiqueta "Río Tajo". Una vez identificado, se recupera su geometría.

Una vez se dispone de las geometrías de las comunidades autónomas y del "Río Tajo", se filtran los recursos utilizando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común. De esta manera, se recuperan las comunidades autónomas que tienen parte del recorrido del "Río Tajo" en su territorio.

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>

	SELECT DISTINCT ?nombreCCAA WHERE {
		?ccaa a esadm:ComunidadAutonoma .
		?ccaa dc:title ?nombreCCAA .
		?ccaa geosparql:hasGeometry ?geoCCAA .
		?geoCCAA geosparql:asWKT ?geoCCAALocali .

		?rio a btn100:RioLineal .
		?rio dc:title "Río Tajo" .
		?rio geosparql:hasGeometry ?geoRio .
		?geoRio geosparql:asWKT ?geoRioLocali .

		FILTER (bif:st_intersects(?geoRioLocali, ?geoCCAALocali))
	
	} ORDER BY (?nombreCCAA)
	

Para poder generar esta consulta, hay que recuperar el recurso que representa el "Camino Catalán" del "Camino de Santiago", después recuperar los municipios y filtrar por aquellos que se encuentren en el recorrido del camino.

Primero se recupera el recurso de tipo btn100:ItinerarioDeCaminoDeSantiago con la etiqueta "Camino Catalán". Una vez identificado, se recupera su geometría.

Después se recuperan los recursos de tipo esadm:Municipio, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías del "Camino Catalán" y de los municipios, se filtran los recursos utilizando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común. De esta manera, se recuperan los municipios que forman parte del recorrido del "Camino Catalán".

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>

	SELECT DISTINCT ?nombreMunicipio
	WHERE {

		?camino a btn100:ItinerarioDeCaminoDeSantiago .
		?camino dc:title "Camino Catalán" .
		?camino geosparql:hasGeometry ?geoCamino .
		?geoCamino geosparql:asWKT ?geoCaminoLocali .

		?municipio a esadm:Municipio .
		?municipio dc:title ?nombreMunicipio .
		?municipio geosparql:hasGeometry ?geoMuni .
		?geoMuni geosparql:asWKT ?geoMuniLocali .

		FILTER (bif:st_intersects(?geoCaminoLocali, ?geoMuniLocali))

	} ORDER BY (?nombreMunicipio)
	

Para poder generar esta consulta, hay que recuperar el recurso que representa la provincia de "Cádiz", después recuperar las playas y filtrar por aquellas que se encuentren en la provincia.

Primero se recupera el recurso de tipo esadm:Provincia con la etiqueta "Cádiz". Una vez identificado, se recupera su geometría.

Después se recuperan los recursos de tipo btn100:Playa, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías de la provincia de "Cádiz" y de las playas, se filtran los recursos utilizando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común. De esta manera, se recuperan las playas que se encuentran dentro de la provincia de "Cádiz".

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>

	SELECT DISTINCT ?nombrePlaya ?geoPlayaLocali
	WHERE {
		?provincia a esadm:Provincia .
		?provincia dc:title "Cádiz" .
		?provincia geosparql:hasGeometry ?geoProv .
		?geoProv geosparql:asWKT ?geoProvLocali .

		?playa a btn100:Playa .
		?playa dc:title ?nombrePlaya .
		?playa geosparql:hasGeometry ?geoPlaya .
		?geoPlaya geosparql:asWKT ?geoPlayaLocali .

		FILTER (bif:st_intersects(?geoPlayaLocali, ?geoProvLocali))
	  
	} ORDER BY (?nombrePlaya)
	

Para poder generar esta consulta, hay que recuperar el recurso que representa la municipio de "Madrid", después recuperar las líneas eléctricas de baja tensión y filtrar por aquellas que se encuentren dentro del municipio.

Primero se recupera el recurso de tipo esadm:Municipio con la etiqueta "Madrid". Una vez identificado, se recupera su geometría.

Después se recuperan los recursos de tipo btn100:LineaElectricaDeBajaTension, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías del municipio de "Madrid" y de las líneas eléctricas, se filtran los recursos utilizando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común. De esta manera, se recuperan las líneas de baja tensión que se encuentran dentro del municipio de "Madrid".

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>

	SELECT DISTINCT ?codigoLinea ?geoLineaLocali
	WHERE {
		?municipio a esadm:Municipio .
		?municipio dc:title "Madrid" .
		?municipio geosparql:hasGeometry ?geoMuni .
		?geoMuni geosparql:asWKT ?geoMuniLocali .

		?linea a btn100:LineaElectricaDeBajaTension .
		?linea dc:identifier ?codigoLinea .
		?linea geosparql:hasGeometry ?geoLinea .
		?geoLinea geosparql:asWKT ?geoLineaLocali .

		FILTER (bif:st_intersects(?geoLineaLocali, ?geoMuniLocali))

	} ORDER BY (?codigoLinea)
	

Para poder generar esta consulta, hay que recuperar el recurso que representa la municipio de "Barcelona", después recuperar los vértices geodésicos y filtrar por aquellas que se encuentren dentro del municipio.

Primero se recupera el recurso de tipo esadm:Municipio con la etiqueta "Barcelona". Una vez identificado, se recupera su geometría.

Después se recuperan los recursos de tipo btn100:VerticeGeodesicoDeOrdenInferior, así como las geometrías de cada uno de ellos.

Una vez se dispone de las geometrías del municipio de "Barcelona" y de los vértices geodésicos, se filtran los recursos utilizando la función geoespacial bif:st_intersects que indica si dos geometrías intersecan, tienen algún punto en común. De esta manera, se recuperan los vértices geodésicos que se encuentran dentro del municipio de "Barcelona".

A continuación se muestra la consulta generada para este caso de uso:

	
	PREFIX btn100: <https://datos.ign.es/def/btn100#>
	PREFIX geosparql: <http://www.opengis.net/ont/geosparql#>
	PREFIX esadm: <http://vocab.linkeddata.es/datosabiertos/def/sector-publico/territorio#>
	PREFIX dc: <http://purl.org/dc/terms/>

	SELECT DISTINCT ?codigoVertice ?nombreVertice 
	WHERE {
		?municipio a esadm:Municipio .
		?municipio dc:title "Barcelona" .
		?municipio geosparql:hasGeometry ?geoMuni .
		?geoMuni geosparql:asWKT ?geoMuniLocali .

		?vertice a btn100:VerticeGeodesicoDeOrdenInferior .
		?vertice dc:identifier ?codigoVertice .
		?vertice dc:title ?nombreVertice .
		?linea geosparql:hasGeometry ?geoVertice .
		?geoVertice geosparql:asWKT ?geoVerticeLocali .

		FILTER (bif:st_intersects(?geoVerticeLocali, ?geoMuniLocali))

	} ORDER BY (?nombreVertice)
	

Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Si continúas navegando consideramos que aceptas su uso. Más información X Cerrar