Las TIC en el Desarrollo Sostenible (I): de los ODM a los ODS

(Trobareu la versió en català més avall) En los últimos tiempos se habla de sostenibilidad en casi todos los ámbitos. La sostenibilidad se presenta así como una condición indiscutible, habitualmente ligada a los ámbitos ambientales y económicos. Pero ¿cuál es el alcance real de esta palabra tan usada? Para entenderlo, retrocedamos unos años, hasta el año 2000. El comienzo del milenio fue un momento histórico, en el que la mirada global sobre la humanidad se impuso en muchos ámbitos, y lo que se vio no gustó nada. Se estaba muy lejos de conseguir que todas las personas tuvieran las mismas oportunidades de desarrollo y bienestar y en ese año las Naciones Unidas adoptaron los 8 Objetivos de Desarrollo del Milenio (ODM) para garantizar el desarrollo económico y social de la humanidad, con la meta puesta quince años más tarde. En 2015, pese a los logros alcanzados por los ODM – como muestra el informe The Millennium Development Goals Report 2015 (ONU, 2015-1)- el horizonte marcado seguía estando lejos y las Naciones Unidas aprobaron la llamada Agenda 2030 (ONU, 2015-2) que tomó el relevo de los ODM. La Agenda 2030 parte de los logros y del déficit en la implementación de los ODM y puede ser considerada una renovación ampliada de sus objetivos, un compromiso mundial para seguir luchando en la dirección de un desarrollo global sostenible. Sin embargo, es algo más que eso. La perspectiva que adopta es bastante más crítica y ajustada a la realidad, puesto que contempla, no tan solo las necesidades de los grupos más desfavorecidos, sino que también apunta a las responsabilidades que incumben a los más...

III Fórum Industria 4.0

El pasado viernes 1 de junio se celebró en el Espacio Endesa de Barcelona la tercera edición del Fórum Industria 4.0. Para aquellos que no lo conozcáis, el Fórum Industria 4.0 es una cita anual impulsada por la Comisión Industria 4.0, una organización integrada por los cinco colegios de ingeniería de Catalunya (Agrónomos, Caminos, Industriales, Informáticos y de Telecomunicación), donde se presentan las últimas tendencias en el ámbito industrial con el objetivo de potenciar su desarrollo y adopción por parte de las empresas de nuestro territorio. El acto, al que asistieron unas 400 personas, lo inauguraron Joan Carles Casas, presidente de la Comisión Industria 4.0, y Joan Romero, consejero delegado de ACCIÓ, la oficina de promoción económica de la Generalitat de Catalunya. De la intervención de este último cabe destacar la promesa, por parte de ACCIÓ, que Catalunya estaría presente en la próxima edición de Hannover Messe con el objetivo de aumentar la visibilidad internacional de la industria local. Misión inversa de conocimiento en la Hannover Messe La jornada siguió con las presentaciones de los diferentes grupos de trabajo de la Comisión Industria 4.0 (robótica, fabricación aditiva, sistemas embebidos y software) donde se presentaron las observaciones de la misión inversa de conocimiento realizada en la Hannover Messe de este año. Carles Soler, del grupo de trabajo de robótica, empezó destacando la generalización en la utilización de sistemas en la nube para la monitorización de la base de robots instalada, y la consolidación de China como actor de relevancia mundial en el sector. Además, también mencionó la incorporación de sistemas de realidad aumentada para la interacción con los robots y la aparición...

Introducción a Cypher

Ahora que ya conocemos las características de las bases de datos NoSQL en grafo, y tenemos Neo4j instalado y funcionando, es el momento de empezar con Cypher. Cypher es un lenguaje declarativo, inspirado en SQL, que permite manipular datos en Neo4j. Es aconsejable tener a mano la guía de referencia de Cypher siempre que estemos trabajando con Neo4j. Esta guía recoge la sintaxis y la semántica de las sentencias y funciones disponibles en Cypher. Hay que tener en cuenta que existe una guía de referencia (refcard) para cada versión de Neo4j (nosotros hemos elegido la guía de referencia para Neo4j versión 3.4). Antes de continuar os animamos a que abráis el browser de la base de datos que creamos en la segunda entrada. En el siguiente vídeo mostramos cómo abrir el browser y explicamos los elementos básicos del entorno de trabajo de Neo4j.     Ahora que ya conocemos la interfaz es el momento de empezar a trabajar con datos. Lo primero que vamos a hacer es aprender a crear nodos y relaciones en Neo4j. Para ello tendremos que usar la cláusula CREATE. Por ejemplo, empezamos ejecutando la siguiente sentencia: ¿Qué es lo que se ha creado? Podemos averiguarlo mediante la siguiente consulta: La sentencia anterior nos devuelve todos los nodos de la base de datos. En este caso nos ha devuelto un nodo, el que acabamos de crear. Pero, ¿qué información tiene ese nodo? Pues la verdad es que ninguna, es un nodo vacío. Sin tipo y sin propiedades (o atributos). Un nodo sin información por lo general no tiene mucho sentido, por lo que vamos a aprender...

Introducción a Neo4j

Ahora que ya conocemos las principales características de las bases de datos NoSQL en grafo y del modelo de datos que utilizan es el momento de ver, mediante ejemplos prácticos, cómo almacenar y manejar datos en estas bases de datos. En esta entrada comentaremos las principales características de Neo4j, veremos cómo instalar Neo4j en nuestro ordenador y cómo crear una base de datos y empezar a “jugar” con ella. Actualmente, Neo4j es la base de datos en grafo más popular según el ranking de db-engines.com. A fecha 2018, también es el número 21 de 295 en el ranking general de bases de datos. El modelo de datos utilizado por Neo4j es un grafo de propiedades etiquetado. Por tanto, las unidades básicas de procesamiento en Neo4j son las mismas que explicamos en la entrada anterior: nodos, relaciones entre nodos, propiedades (definidas sobre nodos o relaciones) y etiquetas que permiten definir el tipo de los nodos y de las relaciones. En Neo4j se utilizan los dos puntos “:” para representar las etiquetas. Por lo tanto, :Book, :Person y :HAS_READ, representarán las etiquetas Book, Persony HAS_READ. Por otro lado, para distinguir fácilmente las etiquetas de nodo de las de relación, en Neo4j se escriben las etiquetas de relación en mayúsculas y las etiquetas de nodo con la primera letra en mayúscula y el resto en minúsculas. Así pues, Book y Person serían etiquetas de nodo y HAS_READ una etiqueta de relación que representa qué libros (nodos de tipo :Book) ha leído una persona (nodo de tipo :Person). Las propiedades acostumbran a representarse en minúsculas. Neo4j es una base de datos schemaless. Esto no quiere...

Introducción a las bases de datos NoSQL en grafo

Las bases de datos NoSQL ya no son una novedad sino una realidad que encontramos en muchas de las aplicaciones que utilizamos diariamente. En el pasado habíamos comentado las características de este tipo de bases de datos y su evolución. A diferencia de las bases de datos relacionales, las bases de datos NoSQL no responden a un único modelo de datos, sino a un conjunto de ellos. Actualmente existen centenares de sistemas gestores de bases de datos NoSQL, en general muy distintos entre sí. En aras de favorecer la discusión y su comparación, los sistemas gestores de bases de datos NoSQL se clasifican en diferentes familias: los basados en modelos de agregación (que se pueden agrupar en clave-valor, documental o de grandes columnas) y los basados en grafo. Con este post queremos dar inicio a una serie de entradas que sirvan de tutorial a quienes quieran aprender a utilizar bases de datos NoSQL. En esta primera entrada, empezaremos viendo qué es una base de datos en grafo, qué modelo de datos permiten gestionar estas bases de datos y mostraremos algún ejemplo de uso. En las siguientes entradas aprenderemos a utilizar Neo4j, la base de datos en grafo de uso más extendido en la actualidad, según dbengines, y veremos algunos casos prácticos. Las bases de datos NoSQL en grafo permiten representar los datos utilizando estructuras de grafos. Un grafo es una representación abstracta de un conjunto de objetos. Los objetos de los grafos se representan mediante vértices (también llamados nodos) y aristas. El modelo en grafo es útil cuando los datos a almacenar tienen multitud de interrelaciones entre sí, y...