Skip to content

Instantly share code, notes, and snippets.

@kriogenia
Last active January 15, 2020 15:53
Show Gist options
  • Save kriogenia/4072cb5795ae03b801935d5e46ac5be5 to your computer and use it in GitHub Desktop.
Save kriogenia/4072cb5795ae03b801935d5e46ac5be5 to your computer and use it in GitHub Desktop.
ESPAÑ4J
= ESPAÑ4J
:neo4j-version: 2.3.0
:author: Andrea López Suárez, Manuel Lorenzo Vega, Ricardo Soto Estévez
Para la realización de este trabajo hemos decidido elegir como dominio de la aplicación una representación del mapa de España, empleando sus provincias y sus relaciones fronterizas, añadiendo además que lenguas se hablan en ellas, con que mares limitan y las comunidades autónomas a la que pertenecen.
image::https://i.imgur.com/qZ4pkmf.jpg[]
image::https://i.imgur.com/n7z4dxW.jpg[]
image::https://i.imgur.com/TkDYrJy.png[]
=== Nodos
.Los tipos de nodos son los siguientes:
* *Comunidad Autónoma (CCAA)*: las Comunidades Autónomas de España. Poseen como atributo el nombre de la comunidad y la capital de esta.
* *Provincia*: son las subdivisiones de las comunidades autónomas. Poseen como atributo el nombre de la provincia, su capital y su población.
* *Idioma*: lenguas habladas en España, omitiendo el español para evitar la redundancia de datos al ser común a todas las provincias. Las características de estos idiomas son el nombre, sus nombres alternativos en caso de tenerlos, su reconocimiento oficial en las regiones donde están presentes y su lengua madre en caso de ser conocida.
* *Mar*: cuerpos de agua que limitan con algunas de las provincias españolas, se ha llamado mar a la entidad por simplicidad, aunque incluya el océano Atlántico.
=== Relaciones
.Los tipos de relaciones son los siguientes:
* *Pertenece a*: cada Provincia pertenece a una Comunidad Autónoma. Relación unidireccional.
* *Se habla en*: los Idiomas se hablan en una serie de Provincias en las que tienen un reconocimiento, cooficial o no oficial, y pueden tener una denominación si en dicha provincia se denomina al idioma con otro nombre al establecido. Relación unidireccional.
* *Fronteriza con*: las Provincias pueden hacer frontera con otras Provincias. Relación bidireccional.
* *Limita con*: las Provincias pueden tener costa en la cual limitan con un Mar. Relación unidireccional.
* *Deriva de*: un Idioma, en caso de que sea conocido, deriva de otro Idioma. Relación unidireccional.
=== Script de creación de la base de datos
//hide
//setup
[source,cypher]
----
CREATE
(atlantico:Mar{nombre:"Atlántico",tipo:"Océano"}),
(cantabrico:Mar{nombre:"Cantábrico",tipo:"Mar"}),
(mediterraneo:Mar{nombre:"Mediterráneo",tipo:"Mar"}),
(galego:Idioma{nombre:"Galego"}),
(catala:Idioma{nombre:"Catalá"}),
(euskera:Idioma{nombre:"Euskera"}),
(aranes:Idioma{nombre:"Aranés",nombreAlterativo:"Occitano"}),
(aragones:Idioma{nombre:"Aragonés",nombreAlterativo:"Fabla"}),
(asturleones:Idioma{nombre:"Asturleonés"}),
(latin:Idioma{nombre:"Latín"}),
(galicia:CCAA{nombre:"Galiza",capital:"Santiago de Compostela"}),
(coruña:Provincia{nombre:"A Coruña",capital:"A Coruña",poblacion:1121428})-[:PERTENECE_A]->(galicia),
(pontevedra:Provincia{nombre:"Pontevedra",capital:"Pontevedra",poblacion:941797})-[:PERTENECE_A]->(galicia),
(lugo:Provincia{nombre:"Lugo",capital:"Lugo",poblacion:328750})-[:PERTENECE_A]->(galicia),
(ourense:Provincia{nombre:"Ourense",capital:"Ourense",poblacion:306789})-[:PERTENECE_A]->(galicia),
(asturias:CCAA{nombre:"Principado de Asturias",capital:"Oviedo"}),
(oviedo:Provincia{nombre:"Asturias",capital:"Oviedo",poblacion:1019993})-[:PERTENECE_A]->(asturias),
(cantabria:CCAA{nombre:"Cantabria",capital:"Santander"}),
(santander:Provincia{nombre:"Cantabria",capital:"Santander",poblacion:581949})-[:PERTENECE_A]->(cantabria),
(euskadi:CCAA{nombre:"Euskadi",capital:"Vitoria"}),
(bizkaia:Provincia{nombre:"Bizkaia",capital:"Bilbao",poblacion:1138871})-[:PERTENECE_A]->(euskadi),
(gipuzkoa:Provincia{nombre:"Gipuzkoa",capital:"San Sebastián",poblacion:714477})-[:PERTENECE_A]->(euskadi),
(alava:Provincia{nombre:"Álava",capital:"Vitoria",poblacion:328571})-[:PERTENECE_A]->(euskadi),
(navarra:CCAA{nombre:"Comunidad Foral de Navarra",capital:"Pamplona"}),
(pamplona:Provincia{nombre:"Navarra",capital:"Pamplona",poblacion:652526})-[:PERTENECE_A]->(navarra),
(aragon:CCAA{nombre:"Aragón",capital:"Zaragoza"}),
(huesca:Provincia{nombre:"Huesca",capital:"Huesca",poblacion:219788})-[:PERTENECE_A]->(aragon),
(zaragoza:Provincia{nombre:"Zaragoza",capital:"Zaragoza",poblacion:971538})-[:PERTENECE_A]->(aragon),
(teruel:Provincia{nombre:"Teruel",capital:"Teruel",poblacion:133071})-[:PERTENECE_A]->(aragon),
(catalunya:CCAA{nombre:"Catalunya",capital:"Barcelona"}),
(lleida:Provincia{nombre:"Lleida",capital:"Lleida",poblacion:432673})-[:PERTENECE_A]->(catalunya),
(tarragona:Provincia{nombre:"Tarragona",capital:"Tarragona",poblacion:807563})-[:PERTENECE_A]->(catalunya),
(girona:Provincia{nombre:"Girona",capital:"Girona",poblacion:761434})-[:PERTENECE_A]->(catalunya),
(barcelona:Provincia{nombre:"Barcelona",capital:"Barcelona",poblacion:5607829})-[:PERTENECE_A]->(catalunya),
(cyl:CCAA{nombre:"Castilla y León"}),
(avila:Provincia{nombre:"Ávila",capital:"Ávila",poblacion:158966})-[:PERTENECE_A]->(cyl),
(burgos:Provincia{nombre:"Burgos",capital:"Burgos",poblacion:355420})-[:PERTENECE_A]->(cyl),
(leon:Provincia{nombre:"León",capital:"León",poblacion:460415})-[:PERTENECE_A]->(cyl),
(palencia:Provincia{nombre:"Palencia",capital:"Palencia",poblacion:160280})-[:PERTENECE_A]->(cyl),
(salamanca:Provincia{nombre:"Salamanca",capital:"Salamanca",poblacion:331382})-[:PERTENECE_A]->(cyl),
(segovia:Provincia{nombre:"Segovia",capital:"Segovia",poblacion:154084})-[:PERTENECE_A]->(cyl),
(soria:Provincia{nombre:"Soria",capital:"Soria",poblacion:89612})-[:PERTENECE_A]->(cyl),
(valladolid:Provincia{nombre:"Valladolid",capital:"Valladolid",poblacion:520127})-[:PERTENECE_A]->(cyl),
(zamora:Provincia{nombre:"Zamora",capital:"Zamora",poblacion:172522})-[:PERTENECE_A]->(cyl),
(larioja:CCAA{nombre:"La Rioja",capital:"Logroño"}),
(logroño:Provincia{nombre:"La Rioja",capital:"Logroño",poblacion:314487})-[:PERTENECE_A]->(larioja),
(cmadrid:CCAA{nombre:"Comunidad de Madrid",capital:"Madrid"}),
(madrid:Provincia{nombre:"Madrid",capital:"Madrid",poblacion:6685471})-[:PERTENECE_A]->(cmadrid),
(extremadura:CCAA{nombre:"Extremadura",capital:"Mérida"}),
(caceres:Provincia{nombre:"Cáceres",capital:"Cáceres",poblacion:391718})-[:PERTENECE_A]->(extremadura),
(badajoz:Provincia{nombre:"Badajoz",capital:"Badajoz",poblacion:671079})-[:PERTENECE_A]->(extremadura),
(mancha:CCAA{nombre:"Castilla-La Mancha"}),
(albacete:Provincia{nombre:"Albacete",capital:"Albacete",poblacion:389584})-[:PERTENECE_A]->(mancha),
(ciudadreal:Provincia{nombre:"Ciudad Real",capital:"Ciudad Real",poblacion:494224})-[:PERTENECE_A]->(mancha),
(cuenca:Provincia{nombre:"Cuenca",capital:"Cuenca",poblacion:199178})-[:PERTENECE_A]->(mancha),
(guadalajara:Provincia{nombre:"Guadalajara",capital:"Guadalajara",poblacion:260441})-[:PERTENECE_A]->(mancha),
(toledo:Provincia{nombre:"Toledo",capital:"Toledo",poblacion:695013})-[:PERTENECE_A]->(mancha),
(cvalenciana:CCAA{nombre:"Comunitat Valenciana",capital:"Valencia"}),
(alicante:Provincia{nombre:"Alicante",capital:"Alicante",poblacion:1873295})-[:PERTENECE_A]->(cvalenciana),
(castellon:Provincia{nombre:"Catellón",capital:"Catellón",poblacion:572929})-[:PERTENECE_A]->(cvalenciana),
(valencia:Provincia{nombre:"Valencia",capital:"Valencia",poblacion:2552487})-[:PERTENECE_A]->(cvalenciana),
(andalucia:CCAA{nombre:"Andalucía",capital:"Sevilla"}),
(almeria:Provincia{nombre:"Almería",capital:"Almería",poblacion:710808})-[:PERTENECE_A]->(andalucia),
(cadiz:Provincia{nombre:"Cádiz",capital:"Cádiz",poblacion:1251149})-[:PERTENECE_A]->(andalucia),
(cordoba:Provincia{nombre:"Córdoba",capital:"Córdoba",poblacion:784300})-[:PERTENECE_A]->(andalucia),
(granada:Provincia{nombre:"Granada",capital:"Granada",poblacion:921511})-[:PERTENECE_A]->(andalucia),
(huelva:Provincia{nombre:"Huelva",capital:"Huelva",poblacion:526525})-[:PERTENECE_A]->(andalucia),
(jaen:Provincia{nombre:"Jaén",capital:"Jaén",poblacion:630027})-[:PERTENECE_A]->(andalucia),
(malaga:Provincia{nombre:"Málaga",capital:"Málaga",poblacion:1670199})-[:PERTENECE_A]->(andalucia),
(sevilla:Provincia{nombre:"Sevilla",capital:"Sevilla",poblacion:1952042})-[:PERTENECE_A]->(andalucia),
(regmurcia:CCAA{nombre:"Región de Murcia",capital:"Murcia"}),
(murcia:Provincia{nombre:"Murcia",capital:"Murcia",poblacion:1494442})-[:PERTENECE_A]->(regmurcia),
(islasbaleares:CCAA{nombre:"Illes Balears",capital:"Mallorca"}),
(baleares:Provincia{nombre:"Baleares",capital:"Baleares",poblacion:1198576})-[:PERTENECE_A]->(islasbaleares),
(canarias:CCAA{nombre:"Canarias",capital:"Las Palmas de Gran Canaria",capital:"Santa Cruz de Tenerife"}),
(laspalmas:Provincia{nombre:"Las Palmas",capital:"Las Palmas",poblacion:1144151})-[:PERTENECE_A]->(canarias),
(tenerife:Provincia{nombre:"Tenerife",capital:"Tenerife",poblacion:1076119})-[:PERTENECE_A]->(canarias),
(coruña)-[:FRONTERIZA_CON]->(pontevedra),
(coruña)-[:FRONTERIZA_CON]->(lugo),
(pontevedra)-[:FRONTERIZA_CON]->(coruña),
(pontevedra)-[:FRONTERIZA_CON]->(ourense),
(pontevedra)-[:FRONTERIZA_CON]->(lugo),
(lugo)-[:FRONTERIZA_CON]->(coruña),
(lugo)-[:FRONTERIZA_CON]->(ourense),
(lugo)-[:FRONTERIZA_CON]->(oviedo),
(lugo)-[:FRONTERIZA_CON]->(pontevedra),
(lugo)-[:FRONTERIZA_CON]->(leon),
(ourense)-[:FRONTERIZA_CON]->(pontevedra),
(ourense)-[:FRONTERIZA_CON]->(lugo),
(ourense)-[:FRONTERIZA_CON]->(leon),
(ourense)-[:FRONTERIZA_CON]->(zamora),
(oviedo)-[:FRONTERIZA_CON]->(lugo),
(oviedo)-[:FRONTERIZA_CON]->(santander),
(oviedo)-[:FRONTERIZA_CON]->(leon),
(santander)-[:FRONTERIZA_CON]->(oviedo),
(santander)-[:FRONTERIZA_CON]->(bizkaia),
(santander)-[:FRONTERIZA_CON]->(leon),
(santander)-[:FRONTERIZA_CON]->(palencia),
(santander)-[:FRONTERIZA_CON]->(burgos),
(bizkaia)-[:FRONTERIZA_CON]->(gipuzkoa),
(bizkaia)-[:FRONTERIZA_CON]->(alava),
(bizkaia)-[:FRONTERIZA_CON]->(burgos),
(bizkaia)-[:FRONTERIZA_CON]->(santander),
(gipuzkoa)-[:FRONTERIZA_CON]->(pamplona),
(gipuzkoa)-[:FRONTERIZA_CON]->(bizkaia),
(gipuzkoa)-[:FRONTERIZA_CON]->(alava),
(alava)-[:FRONTERIZA_CON]->(bizkaia),
(alava)-[:FRONTERIZA_CON]->(gipuzkoa),
(alava)-[:FRONTERIZA_CON]->(burgos),
(alava)-[:FRONTERIZA_CON]->(pamplona),
(alava)-[:FRONTERIZA_CON]->(logroño),
(pamplona)-[:FRONTERIZA_CON]->(alava),
(pamplona)-[:FRONTERIZA_CON]->(gipuzkoa),
(pamplona)-[:FRONTERIZA_CON]->(huesca),
(pamplona)-[:FRONTERIZA_CON]->(zaragoza),
(pamplona)-[:FRONTERIZA_CON]->(logroño),
(huesca)-[:FRONTERIZA_CON]->(lleida),
(huesca)-[:FRONTERIZA_CON]->(zaragoza),
(huesca)-[:FRONTERIZA_CON]->(pamplona),
(zaragoza)-[:FRONTERIZA_CON]->(pamplona),
(zaragoza)-[:FRONTERIZA_CON]->(huesca),
(zaragoza)-[:FRONTERIZA_CON]->(lleida),
(zaragoza)-[:FRONTERIZA_CON]->(tarragona),
(zaragoza)-[:FRONTERIZA_CON]->(teruel),
(zaragoza)-[:FRONTERIZA_CON]->(guadalajara),
(zaragoza)-[:FRONTERIZA_CON]->(soria),
(zaragoza)-[:FRONTERIZA_CON]->(logroño),
(teruel)-[:FRONTERIZA_CON]->(zaragoza),
(teruel)-[:FRONTERIZA_CON]->(tarragona),
(teruel)-[:FRONTERIZA_CON]->(castellon),
(teruel)-[:FRONTERIZA_CON]->(valencia),
(teruel)-[:FRONTERIZA_CON]->(cuenca),
(teruel)-[:FRONTERIZA_CON]->(guadalajara),
(lleida)-[:FRONTERIZA_CON]->(girona),
(lleida)-[:FRONTERIZA_CON]->(barcelona),
(lleida)-[:FRONTERIZA_CON]->(tarragona),
(lleida)-[:FRONTERIZA_CON]->(zaragoza),
(lleida)-[:FRONTERIZA_CON]->(huesca),
(tarragona)-[:FRONTERIZA_CON]->(castellon),
(tarragona)-[:FRONTERIZA_CON]->(teruel),
(tarragona)-[:FRONTERIZA_CON]->(zaragoza),
(tarragona)-[:FRONTERIZA_CON]->(lleida),
(tarragona)-[:FRONTERIZA_CON]->(barcelona),
(girona)-[:FRONTERIZA_CON]->(barcelona),
(girona)-[:FRONTERIZA_CON]->(lleida),
(barcelona)-[:FRONTERIZA_CON]->(girona),
(barcelona)-[:FRONTERIZA_CON]->(lleida),
(barcelona)-[:FRONTERIZA_CON]->(tarragona),
(avila)-[:FRONTERIZA_CON]->(valladolid),
(avila)-[:FRONTERIZA_CON]->(toledo),
(avila)-[:FRONTERIZA_CON]->(caceres),
(avila)-[:FRONTERIZA_CON]->(segovia),
(avila)-[:FRONTERIZA_CON]->(madrid),
(avila)-[:FRONTERIZA_CON]->(salamanca),
(burgos)-[:FRONTERIZA_CON]->(santander),
(burgos)-[:FRONTERIZA_CON]->(bizkaia),
(burgos)-[:FRONTERIZA_CON]->(alava),
(burgos)-[:FRONTERIZA_CON]->(soria),
(burgos)-[:FRONTERIZA_CON]->(segovia),
(burgos)-[:FRONTERIZA_CON]->(valladolid),
(burgos)-[:FRONTERIZA_CON]->(palencia),
(leon)-[:FRONTERIZA_CON]->(oviedo),
(leon)-[:FRONTERIZA_CON]->(santander),
(leon)-[:FRONTERIZA_CON]->(palencia),
(leon)-[:FRONTERIZA_CON]->(zamora),
(leon)-[:FRONTERIZA_CON]->(valladolid),
(leon)-[:FRONTERIZA_CON]->(ourense),
(leon)-[:FRONTERIZA_CON]->(lugo),
(palencia)-[:FRONTERIZA_CON]->(santander),
(palencia)-[:FRONTERIZA_CON]->(leon),
(palencia)-[:FRONTERIZA_CON]->(burgos),
(palencia)-[:FRONTERIZA_CON]->(valladolid),
(salamanca)-[:FRONTERIZA_CON]->(valladolid),
(salamanca)-[:FRONTERIZA_CON]->(zamora),
(salamanca)-[:FRONTERIZA_CON]->(avila),
(salamanca)-[:FRONTERIZA_CON]->(caceres),
(segovia)-[:FRONTERIZA_CON]->(valladolid),
(segovia)-[:FRONTERIZA_CON]->(burgos),
(segovia)-[:FRONTERIZA_CON]->(soria),
(segovia)-[:FRONTERIZA_CON]->(madrid),
(segovia)-[:FRONTERIZA_CON]->(guadalajara),
(segovia)-[:FRONTERIZA_CON]->(avila),
(soria)-[:FRONTERIZA_CON]->(burgos),
(soria)-[:FRONTERIZA_CON]->(logroño),
(soria)-[:FRONTERIZA_CON]->(zaragoza),
(soria)-[:FRONTERIZA_CON]->(segovia),
(soria)-[:FRONTERIZA_CON]->(guadalajara),
(valladolid)-[:FRONTERIZA_CON]->(burgos),
(valladolid)-[:FRONTERIZA_CON]->(palencia),
(valladolid)-[:FRONTERIZA_CON]->(leon),
(valladolid)-[:FRONTERIZA_CON]->(zamora),
(valladolid)-[:FRONTERIZA_CON]->(salamanca),
(valladolid)-[:FRONTERIZA_CON]->(avila),
(valladolid)-[:FRONTERIZA_CON]->(segovia),
(zamora)-[:FRONTERIZA_CON]->(leon),
(zamora)-[:FRONTERIZA_CON]->(valladolid),
(zamora)-[:FRONTERIZA_CON]->(salamanca),
(zamora)-[:FRONTERIZA_CON]->(ourense),
(logroño)-[:FRONTERIZA_CON]->(alava),
(logroño)-[:FRONTERIZA_CON]->(pamplona),
(logroño)-[:FRONTERIZA_CON]->(zaragoza),
(logroño)-[:FRONTERIZA_CON]->(burgos),
(logroño)-[:FRONTERIZA_CON]->(segovia),
(madrid)-[:FRONTERIZA_CON]->(guadalajara),
(madrid)-[:FRONTERIZA_CON]->(cuenca),
(madrid)-[:FRONTERIZA_CON]->(toledo),
(madrid)-[:FRONTERIZA_CON]->(avila),
(madrid)-[:FRONTERIZA_CON]->(segovia),
(badajoz)-[:FRONTERIZA_CON]->(toledo),
(badajoz)-[:FRONTERIZA_CON]->(ciudadreal),
(badajoz)-[:FRONTERIZA_CON]->(huelva),
(badajoz)-[:FRONTERIZA_CON]->(sevilla),
(badajoz)-[:FRONTERIZA_CON]->(cordoba),
(badajoz)-[:FRONTERIZA_CON]->(caceres),
(caceres)-[:FRONTERIZA_CON]->(salamanca),
(caceres)-[:FRONTERIZA_CON]->(avila),
(caceres)-[:FRONTERIZA_CON]->(toledo),
(caceres)-[:FRONTERIZA_CON]->(badajoz),
(albacete)-[:FRONTERIZA_CON]->(valencia),
(albacete)-[:FRONTERIZA_CON]->(alicante),
(albacete)-[:FRONTERIZA_CON]->(murcia),
(albacete)-[:FRONTERIZA_CON]->(granada),
(albacete)-[:FRONTERIZA_CON]->(ciudadreal),
(albacete)-[:FRONTERIZA_CON]->(jaen),
(albacete)-[:FRONTERIZA_CON]->(cuenca),
(ciudadreal)-[:FRONTERIZA_CON]->(toledo),
(ciudadreal)-[:FRONTERIZA_CON]->(cuenca),
(ciudadreal)-[:FRONTERIZA_CON]->(albacete),
(ciudadreal)-[:FRONTERIZA_CON]->(jaen),
(ciudadreal)-[:FRONTERIZA_CON]->(cordoba),
(ciudadreal)-[:FRONTERIZA_CON]->(badajoz),
(cuenca)-[:FRONTERIZA_CON]->(guadalajara),
(cuenca)-[:FRONTERIZA_CON]->(teruel),
(cuenca)-[:FRONTERIZA_CON]->(valencia),
(cuenca)-[:FRONTERIZA_CON]->(albacete),
(cuenca)-[:FRONTERIZA_CON]->(toledo),
(cuenca)-[:FRONTERIZA_CON]->(madrid),
(cuenca)-[:FRONTERIZA_CON]->(ciudadreal),
(guadalajara)-[:FRONTERIZA_CON]->(soria),
(guadalajara)-[:FRONTERIZA_CON]->(zaragoza),
(guadalajara)-[:FRONTERIZA_CON]->(teruel),
(guadalajara)-[:FRONTERIZA_CON]->(cuenca),
(guadalajara)-[:FRONTERIZA_CON]->(madrid),
(guadalajara)-[:FRONTERIZA_CON]->(segovia),
(toledo)-[:FRONTERIZA_CON]->(avila),
(toledo)-[:FRONTERIZA_CON]->(madrid),
(toledo)-[:FRONTERIZA_CON]->(cuenca),
(toledo)-[:FRONTERIZA_CON]->(ciudadreal),
(toledo)-[:FRONTERIZA_CON]->(badajoz),
(toledo)-[:FRONTERIZA_CON]->(caceres),
(alicante)-[:FRONTERIZA_CON]->(murcia),
(alicante)-[:FRONTERIZA_CON]->(albacete),
(alicante)-[:FRONTERIZA_CON]->(valencia),
(castellon)-[:FRONTERIZA_CON]->(tarragona),
(castellon)-[:FRONTERIZA_CON]->(teruel),
(castellon)-[:FRONTERIZA_CON]->(valencia),
(valencia)-[:FRONTERIZA_CON]->(castellon),
(valencia)-[:FRONTERIZA_CON]->(teruel),
(valencia)-[:FRONTERIZA_CON]->(cuenca),
(valencia)-[:FRONTERIZA_CON]->(albacete),
(valencia)-[:FRONTERIZA_CON]->(alicante),
(murcia)-[:FRONTERIZA_CON]->(alicante),
(murcia)-[:FRONTERIZA_CON]->(albacete),
(murcia)-[:FRONTERIZA_CON]->(almeria),
(murcia)-[:FRONTERIZA_CON]->(granada),
(almeria)-[:FRONTERIZA_CON]->(granada),
(almeria)-[:FRONTERIZA_CON]->(murcia),
(cadiz)-[:FRONTERIZA_CON]->(sevilla),
(cadiz)-[:FRONTERIZA_CON]->(huelva),
(cadiz)-[:FRONTERIZA_CON]->(malaga),
(cordoba)-[:FRONTERIZA_CON]->(malaga),
(cordoba)-[:FRONTERIZA_CON]->(sevilla),
(cordoba)-[:FRONTERIZA_CON]->(badajoz),
(cordoba)-[:FRONTERIZA_CON]->(ciudadreal),
(cordoba)-[:FRONTERIZA_CON]->(jaen),
(cordoba)-[:FRONTERIZA_CON]->(granada),
(granada)-[:FRONTERIZA_CON]->(albacete),
(granada)-[:FRONTERIZA_CON]->(murcia),
(granada)-[:FRONTERIZA_CON]->(almeria),
(granada)-[:FRONTERIZA_CON]->(jaen),
(granada)-[:FRONTERIZA_CON]->(malaga),
(granada)-[:FRONTERIZA_CON]->(cordoba),
(huelva)-[:FRONTERIZA_CON]->(badajoz),
(huelva)-[:FRONTERIZA_CON]->(sevilla),
(huelva)-[:FRONTERIZA_CON]->(cadiz),
(jaen)-[:FRONTERIZA_CON]->(cordoba),
(jaen)-[:FRONTERIZA_CON]->(ciudadreal),
(jaen)-[:FRONTERIZA_CON]->(albacete),
(jaen)-[:FRONTERIZA_CON]->(granada),
(malaga)-[:FRONTERIZA_CON]->(granada),
(malaga)-[:FRONTERIZA_CON]->(cadiz),
(malaga)-[:FRONTERIZA_CON]->(cordoba),
(malaga)-[:FRONTERIZA_CON]->(sevilla),
(sevilla)-[:FRONTERIZA_CON]->(malaga),
(sevilla)-[:FRONTERIZA_CON]->(cadiz),
(sevilla)-[:FRONTERIZA_CON]->(huelva),
(sevilla)-[:FRONTERIZA_CON]->(badajoz),
(sevilla)-[:FRONTERIZA_CON]->(cordoba),
(coruña)-[:LIMITA_CON]->(atlantico),
(pontevedra)-[:LIMITA_CON]->(atlantico),
(laspalmas)-[:LIMITA_CON]->(atlantico),
(tenerife)-[:LIMITA_CON]->(atlantico),
(cadiz)-[:LIMITA_CON]->(atlantico),
(huelva)-[:LIMITA_CON]->(atlantico),
(coruña)-[:LIMITA_CON]->(cantabrico),
(lugo)-[:LIMITA_CON]->(cantabrico),
(oviedo)-[:LIMITA_CON]->(cantabrico),
(santander)-[:LIMITA_CON]->(cantabrico),
(bizkaia)-[:LIMITA_CON]->(cantabrico),
(gipuzkoa)-[:LIMITA_CON]->(cantabrico),
(girona)-[:LIMITA_CON]->(mediterraneo),
(tarragona)-[:LIMITA_CON]->(mediterraneo),
(barcelona)-[:LIMITA_CON]->(mediterraneo),
(valencia)-[:LIMITA_CON]->(mediterraneo),
(castellon)-[:LIMITA_CON]->(mediterraneo),
(alicante)-[:LIMITA_CON]->(mediterraneo),
(murcia)-[:LIMITA_CON]->(mediterraneo),
(baleares)-[:LIMITA_CON]->(mediterraneo),
(almeria)-[:LIMITA_CON]->(mediterraneo),
(cadiz)-[:LIMITA_CON]->(mediterraneo),
(granada)-[:LIMITA_CON]->(mediterraneo),
(malaga)-[:LIMITA_CON]->(mediterraneo),
(galego)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(coruña),
(galego)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(lugo),
(galego)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(pontevedra),
(galego)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(ourense),
(galego)-[:SE_HABLA_EN {reconocimiento:"no oficial"}]->(oviedo),
(galego)-[:SE_HABLA_EN {reconocimiento:"no oficial"}]->(leon),
(asturleones)-[:SE_HABLA_EN{reconocimiento:"no oficial",denominacion:"Bable"}]->(oviedo),
(asturleones)-[:SE_HABLA_EN{reconocimiento:"no oficial",denominacion:"Llionés"}]->(leon),
(asturleones)-[:SE_HABLA_EN{reconocimiento:"no oficial",denominacion:"Llionés"}]->(zamora),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(lleida),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(tarragona),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(barcelona),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial"}]->(girona),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial",denominacion:"Balear"}]->(islasbaleares),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial",denominacion:"Valenciano"}]->(valencia),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial",denominacion:"Valenciano"}]->(castellon),
(catala)-[:SE_HABLA_EN {reconocimiento:"cooficial",denominacion:"Valenciano"}]->(alicante),
(euskera)-[:SE_HABLA_EN{reconocimiento:"cooficial"}]->(alava),
(euskera)-[:SE_HABLA_EN{reconocimiento:"cooficial"}]->(bizkaia),
(euskera)-[:SE_HABLA_EN{reconocimiento:"cooficial"}]->(gipuzkoa),
(euskera)-[:SE_HABLA_EN{reconocimiento:"cooficial"}]->(pamplona),
(aranes)-[:SE_HABLA_EN{reconocimiento:"cooficial"}]->(lleida),
(aragones)-[:SE_HABLA_EN{reconocimiento:"no oficial"}]->(huesca),
(aragones)-[:SE_HABLA_EN{reconocimiento:"no oficial"}]->(zaragoza),
(galego)-[:DERIVA_DE]->(latin),
(asturleones)-[:DERIVA_DE]->(latin),
(catala)-[:DERIVA_DE]->(latin),
(aranes)-[:DERIVA_DE]->(latin),
(aragones)-[:DERIVA_DE]->(latin)
----
== Consultas
=== Obtener el océano Atlántico y todas las provincias que delimitan con este.
[source,cypher]
----
MATCH(p:Provincia)
-[:LIMITA_CON]->
(atlantico:Mar{nombre:"Atlántico"})
RETURN p,atlantico
----
//graph_result
//table
=== Obtener todas las capitales de comunidades autónomas
[source,cypher]
----
MATCH (c:CCAA)
RETURN c.nombre as comunidad,COALESCE(c.capital,"Sin capital definida") as capital
----
//table
=== Provincias en las que se habla más de una lengua vernácula (aparte del español)
[source,cypher]
----
MATCH (idioma:Idioma)-[:SE_HABLA_EN]->(trilingues:Provincia)
WITH trilingues, COUNT(*) as cuenta, collect(idioma.nombre) as idiomas
WHERE cuenta>1
RETURN trilingues.nombre as provincia, idiomas
----
//table
=== Comunidades autónomas con más de dos millones de habitantes
[source,cypher]
----
MATCH (p:Provincia)-[:PERTENECE_A]->(c:CCAA)
WITH c, SUM(p.poblacion) as pob
WHERE pob > 2000000
RETURN c,pob
----
//table
=== Recorrido desde A Coruña a Murcia a través del menor número de provincias posible
[source,cypher]
----
MATCH p = shortestPath((c:Provincia{nombre:"Murcia"})-[:FRONTERIZA_CON*]->(m:Provincia{nombre:"A Coruña"}))
RETURN p
----
//graph_result
=== Obtener los epicentros de las secciones de España más pobladas, estando dichas secciones compuestas de las provincias distantes hasta dos saltos (fronteras) de la provincia origen. Obtener también la sección y la población.
[source,cypher]
----
MATCH (a:Provincia)-[:FRONTERIZA_CON*2]
->(b:Provincia)
WITH a.nombre as inicio, collect(distinct b) as lista
RETURN inicio,
extract(n IN (lista)| n.nombre) AS circundantes, reduce(total = 0, n IN (lista)| total + n.poblacion)
AS pobtotal
ORDER BY pobtotal DESC LIMIT 5
----
//table
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment