scieee AI-readable full text Open interactive document viewer

SemCyLRAT: registro de actividades de tratamiento de datos personales en CyL con información semántica

Puerta Verdejo, Crhistian de la

Abstract

Grado en Ingeniería Informática

Full text

pág. 1 Universidad de Valladolid Escuela de Ingeniería Informática Grado en Ingeniería Informática Mención en Tecnologías de la Información TRABAJO DE FIN DE GRADO SemCyLRAT: Registro de Actividades de Tratamiento de Datos Personales en CyL con información semántica ALUMNO: Crhistian de la Puerta Verdejo TUTORA: Dra. Mª Mercedes Martínez González pág. 2 pág. 3 Agradecimientos Este proyecto va dedicado a mis padres por el apoyo en toda mi educación. A mis tíos y primos por estar ahí siempre que les necesité. A Mamahos por ser el grupo más divertido que jamás he conocido por mucho tiempo que pase, a Galácticos por saber menos de fútbol que de informática. Y por esas barbacoas en Alaejos tan especiales como necesarias. A todos ellos, Muchas gracias. pág. 4 pág. 5 Resumen Los RAT (Registros de Actividades de Tratamiento) son los registros de las actividades donde están involucradas datos personales que las instituciones y empresas deben hacer. Es obligatorio que estos registros sean públicos, y se suelen publicar en la web en formato de hoja de cálculo. En este TFG se realizará la transformación de estos registros a un modelo de datos semántico y su publicación como datos abiertos enlazados, aplicado a RAT de Castilla y León. Palabras clave RAT, RDF, URI, SPARQL, grafo, tripleta, ontología, OWL, Dublin Core, SemRAT, SemCyLRAT, prefijo, Web semántica, sujeto, predicado, objeto, literal, OpenRefine, AllegroGraph. Abstract The RAT (Records of Treatment Activities) are the records of the activities where personal data is involved that institutions and companies must do. These records are required to be public, and are typically published on the web in spreadsheet format. In this TFG, the transformation of these records to a semantic data model and their publication as linked open data will be carried out, applied to RAT of Castilla y León. Keywords RAT, RDF, URI, SPARQL, Graph, Triplet, Ontology, OWL, Dublin Core, SemRAT, SemCyLRAT, Prefix, Semantic Web, Subject, Predicate, Object, Literal, OpenRefine, AllegroGraph. pág. 6 pág. 7 ÍNDICE Agradecimientos ........................................................................................................... 3 Resumen ....................................................................................................................... 5 1. Introducción ......................................................................................................... 11 1.1 Motivación ................................................................................................... 11 1.2 Objetivos ...................................................................................................... 11 1.3 Entorno ......................................................................................................... 12 1.4 Estructura Memoria ...................................................................................... 12 2. Planificación ........................................................................................................ 13 2.1 Alcance, propósitos y objetivos ................................................................... 13 2.2 Plan de Proceso ............................................................................................ 13 2.3 Planificación del proyecto ............................................................................ 15 2.3.1 Identificación de tareas concretas ......................................................... 15 2.3.2 Calendario de tareas: Diagrama de Gantt ............................................ 17 3. Tecnologías utilizadas ......................................................................................... 18 3.1 Web Semántica ............................................................................................. 18 3.2 RDF .............................................................................................................. 19 3.3 Ontologías usadas ......................................................................................... 23 3.3.1 OWL ..................................................................................................... 23 3.3.2 Dublin Core ........................................................................................... 24 3.3.3 Ontologías propias ................................................................................ 27 3.4 SPARQL....................................................................................................... 30 3.5 Los Registros de las Actividades de Tratamiento (RAT) original y transformado ............................................................................................................... 33 3.6 Openrefine .................................................................................................... 39 3.7 AllegroGraph ................................................................................................ 41 3.7.1 Instalación del entorno .......................................................................... 42 4. Desarrollo ............................................................................................................ 46 4.1 Pipeline ......................................................................................................... 46 4.2 OpenRefine................................................................................................... 47 4.3 Comprobación funcionamiento .................................................................... 57 4.4 Generación de grafos .................................................................................... 61 5. Conclusiones ........................................................................................................ 66 5.1 Objetivos Alcanzados ................................................................................... 67 5.2 Proyecto futuro ............................................................................................. 67 5.2.1 Cloud Computing .................................................................................. 68 5.2.2 Creación del dominio de las ontologías ................................................ 68 pág. 8 6. Bibliografía .......................................................................................................... 70 7. ANEXO I: Instalación OpenRefine ..................................................................... 72 8. ANEXO II: Instalación AllegroGraph ................................................................. 78 9. ANEXO III: Instalación VirtualMachine ............................................................ 98 10. ANEXO IV: Tripletas y Grafos RAT ............................................................ 111 10.1 Servicios Sociales ................................................................................... 111 pág. 9 ÍNDICE DE FIGURAS Figura 1. Fases PMBOK ............................................................................................. 13 Figura 2. Acciones en cada fase.................................................................................. 14 Figura 3. Método seguido ........................................................................................... 15 Figura 4. Grafo RDF simple ....................................................................................... 22 Figura 5. Grafo RDF compuesto ................................................................................ 22 Figura 6. Ejemplo de consulta en SPARQL ............................................................... 31 Figura 7. Visualización de la Base de Datos .............................................................. 31 Figura 8. Consulta cualquier artista holandés ............................................................. 31 Figura 9. Visualización de la Base de Datos .............................................................. 32 Figura 10. Diseño grafo general transformado a RDF ............................................... 35 Figura 11. Ejemplo de la primera tripleta ................................................................... 36 Figura 12. Ejemplo de la segunda tripleta .................................................................. 37 Figura 13. Pipeline ...................................................................................................... 46 ÍNDICE DE IMÁGENES Imagen 1. Arquitectura de la Web Semántica ............................................................ 19 Imagen 2. Grafo RDF diseñado por Eric Miller ......................................................... 20 Imagen 3. RDF/XML de Eric Miller .......................................................................... 21 Imagen 4. Interfaz de OpenRefine .............................................................................. 39 Imagen 5. Extensión RDF en OpenRefine ................................................................. 40 Imagen 6. Creación del proyecto en OpenRefine ....................................................... 40 Imagen 7. Instalación de AllegroGraph 7.1.0 Virtual Machine ................................. 43 Imagen 8. Escritorio Ubuntu 20.04 ............................................................................. 44 Imagen 9. Consola de comandos de Shell .................................................................. 45 Imagen 10. Interfaz AllegroGraph .............................................................................. 45 Imagen 11. Creación del proyecto .............................................................................. 47 Imagen 12. Añadir una conciliación basada en virtuoso ............................................ 48 Imagen 13. Servicios de conciliación añadidos .......................................................... 49 Imagen 14. Conciliación del recurso Conserjería ....................................................... 50 Imagen 15. Definición del servicio de conciliación ................................................... 50 Imagen 16. Recurso tratamiento ................................................................................. 51 Imagen 17. URI y prefijos necesarios ......................................................................... 51 Imagen 18. Lista de prefijos para el proyecto ............................................................. 52 Imagen 19. Nodo raíz ................................................................................................. 53 Imagen 20. Añadir propiedad ..................................................................................... 53 Imagen 21. Añadir el recurso tratamiento .................................................................. 54 Imagen 22. Esqueleto RDF ......................................................................................... 55 Imagen 23. Código RDF Presidencia ......................................................................... 55 Imagen 24. RAT presidencia exportado como XML ................................................. 56 Imagen 25. RAT presidencia exportado como TTL ................................................... 57 Imagen 26. Validación archivo Presidencia.ttl ........................................................... 58 Imagen 27. Interfaz W3C Validator ........................................................................... 59 Imagen 28. Validación y tripletas del documento Presidencia.xml ............................ 60 Imagen 29. Parte del grafo Presidencia.xml ............................................................... 60 Imagen 30. Importación del archivo Presidencia.xml ................................................ 61 Imagen 31. Interfaz AllegroGraph .............................................................................. 62 Imagen 32. Generación de tripletas ............................................................................ 63 Imagen 33. Generar el grafo Presidencia en AllegroGraph ........................................ 63 pág. 16 Diseño • Tarea: Decisiones de Diseño. Documentación de las decisiones de diseño que se han tomado. • Tarea: Modelos Lógico de la Base de Datos. Diagrama de tripletas para describir el modelo lógico de la Base de Datos. • Tarea: Selección del vocabulario Selección o creación de un vocabulario específico para las tripletas en función del archivo que se esté transformando. Transformación de XML a RDF • Tarea: Transformación de los archivos Registros de Actividades de Tratamiento de Datos Personales a RDF. Utilizando Openrefine introducimos los archivos a RDF utilizando la ontología OWL. • Tarea: Creación de tripletas en la Base de Datos. Componer un esquema resumen del pipeline de la transformación. • Tarea: Creación de Grafos de la Base de Datos. Comprobar que el script creado sea correcto y generar un grafo para previsualizar el diseño de la base de datos. Subida de archivos • Tarea: Búsqueda de nube. Buscar un servicio en la nube con soporte RDF con el fin de almacenar los archivos creados. • Tarea: Subida a la nube. Subir las tripletas de los archivos para su almacenamiento y poder desarrollar y realizar las consultas Generación de consultas • Tarea: Desarrollo de consultas. Realizar un desarrollo de consultas para la comprobación del funcionamiento de la nube • Tarea: Ejecución de los guiones de pruebas. Ejecutar los guiones de prueba para comprobar que las consultas y la construcción de la nube sea correcta. • Tarea: Gestión de incidencias. Arreglar las incidencias detectadas durante la ejecución de los guiones de prueba. Documentación final • Tarea: Documentación. Redactar la documentación final del proyecto. pág. 17 2.3.2 Calendario de tareas: Diagrama de Gantt A continuación de muestra el cronograma para la realización de las tareas del apartado anterior: Para cada tarea se muestra una descripción corta, la fecha en que debe comenzar, la fecha en que debe haberse finalizado, la duración en días entre la fecha inicio y la fecha fin y una visualización gráfica de la extensión de cada tarea a lo largo del calendario. ID Tarea Inicio Final Duración Febrero 2021 Marzo 2021 Abril 2021 Mayo 2021 Junio 2021 05/02 12/02 17/02 28/02 01/03 15/03 22/03 26/03 31/03 05/04 19/04 26/04 30/04 08/05 17/05 17/05 25/05 30/05 1 Instalación de Openrefine en la estación de trabajo 05/02/2021 08/02/2021 4d 2 Instalación de extensiones RDF en la aplicación y lectura de Manual de Uso 05/02/2021 08/02/2021 4d 3 Creación de un Vocabulario especifico para la ontología OWL Se crea en función de cada archivo -- 4 Transformación de archivo Presidencia a RDF 12/02/2021 16/02/2021 5d 5 Instalación máquina virtual VMware Workstation 16 Player 17/02/2021 19/02/2021 2d 6 Instalación del almacén AllegroGraph 17/02/2021 19/02/2021 2d 7 Diseño de grafo 23/02/2021 26/02/2021 4d 8 Documentación y planificación del proyecto 01/03/2021 11/03/2021 10d 9 Transformación de archivo Transparencia a RDF 15/03/2021 17/03/2021 2d 10 Transformación de archivo Economía y Hacienda a RDF 17/03/2021 19/03/2021 2d 11 Transformación de archivo Empleo e Industria a RDF 22/03/2021 24/03/2021 2d 12 Transformación de archivo Fomento y Medio a RDF 24/03/2021 26/03/2021 2d 13 Transformación de archivo Agricultura y Ganadería a RDF 29/03/2021 31/03/2021 2d 14 Transformación de archivo Transparencia a RDF 02/04/2021 05/04/2021 3d 15 Transformación de archivo Sanidad a RDF 07/04/2021 09/04/2021 2d 16 Transformación de archivo Familia e Igualdad a RDF 11/04/2021 13/04/2021 2d 17 Transformación de archivo Educación a RDF 14/04/2021 16/04/2021 2d 18 Transformación de archivo Cultura y Turismo a RDF 17/04/2021 19/04/2021 2d 19 Comprobación de la transformación de los archivos a RDF Siempre tras cada transformación -- 20 Desarrollo de grafos 19/04/2021 26/04/2021 8d 21 Desarrollo de consultas 27/04/2021 29/04/2021 2d 22 Búsqueda de una nube que soporte RDF y subida de los archivos al almacén 30/04/2021 08/05/2021 8d 23 Comprobación de almacenamiento y funcionamiento de las consultas 08/05/2021 10/05/2021 2d 24 Gestión de incidencias 11/05/2021 17/05/2021 6d 25 Documentación Final 18/05/2021 25/05/2021 8d Tabla 1. Cronograma pág. 18 3. Tecnologías utilizadas 3.1 Web Semántica La Web Semántica ha sido impulsada por Tim Berners-Lee, y otras personas relacionadas con el W3C (World Wide Web Consortium). El primer avance en este sentido fue la publicación en septiembre de 1998, por parte de Berners-Lee de 2 documentos denominados Semantic Web Road Map y What the Semantic Web can represent. Basada en documentos y enlaces de hipertexto, cambió por completo la forma en la que podemos buscar, almacenar, gestionar y acceder a un sinfín de información. Fue diseñada para la lectura humana y no para que la información que contiene pudiera procesarse de forma automática. Si hacemos una búsqueda de documentos, por ejemplo, del término "aula", la Web no distingue entre los distintos significados o contextos en los que aparece este término (definición de aula, información docente, universidades que anuncian su web “aula virtual”, etc.). La Web actual tampoco permite automatizar procesos, como hacer la reserva de plaza, consultar los medios de transporte disponibles hasta la ciudad donde se celebre el evento, reservar billete o conseguir un plano de dicha ciudad. Aun utilizando un potente buscador, se pierden muchas horas navegando por los resultados obtenidos tras la consulta para acceder a la información de forma manual; cuando esto lo podría hacer un programa o agente inteligente. La Web Semántica vendría a ser una extensión de la Web actual dotada de significado, esto es, un espacio donde la información tendría un significado bien definido de manera que pudiera ser interpretada tanto por agentes humanos como por agentes computarizados. En el año 2000, Berners-Lee ofreció una conferencia en el marco del W3C donde propuso: “La nueva información debe ser reunida de forma que un buscador pueda "comprender" en lugar de ponerla simplemente en una “lista”. La Web semántica sería una red de documentos "más inteligentes" que permitan, a su vez, búsquedas más inteligentes. La idea sería aumentar la inteligencia de los contenidos de las páginas web dotándolas de contenido semántico. La Web actual posee una gran capacidad para almacenar datos y puede leer y visualizar los contenidos, pero no es capaz de pensar ni de entender todo lo que contiene. Se precisa, por lo tanto, de una nueva Web -la Web semánticaque hará posible no sólo almacenar los datos, sino entender e interpretar el sentido de esta información. De esta forma, Berners-Lee presenta la nueva arquitectura en que se basará la Web Semántica, no entendida como una nueva Web, sino como una extensión de la Web existente. pág. 19 De acuerdo con Berners-Lee, la arquitectura de la Web Semántica se podría representar de la siguiente forma: Imagen 1. Arquitectura de la Web Semántica Según la W3C la definición de Web Semántica es ''Una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla gracias a una información mejor definida''. Esto se consigue, como decía Berners-Lee, dotando a la Web de más significado y, por lo tanto, de más semántica, lo que permite obtener soluciones a problemas habituales en la búsqueda de información gracias a la utilización de una infraestructura común, mediante la cual, es posible compartir, procesar y transferir información de forma sencilla. Esta Web extendida y basada en el significado, se apoya en lenguajes universales que resuelven los problemas ocasionados por una Web carente de semántica en la que, en ocasiones, el acceso a la información se convierte en una tarea difícil y frustrante. 3.2 RDF El Resource Description Framework (RDF) es un estándar, aunque siendo estrictos en la definición se debe entender como una recomendación de la W3C, para la descripción de recursos. En torno a los recursos existe aún un debate acerca de qué es considerado un recurso y qué no. En el ámbito de esta investigación se considera un recurso cualquier entidad que se pueda identificar, desde una persona o una página web hasta un número. Por lo tanto, podemos definir RDF como un lenguaje para especificar metadatos que permite la interoperabilidad entre aplicaciones que intercambian información comprensible por la página web, para proporcionar una infraestructura que soporte actividades de metadatos. RDF está diseñado para situaciones en las que esta información debe ser procesada por aplicaciones en lugar de mostrarse solo a las personas y proporciona un marco común para expresar esta información, de modo que pueda intercambiarse entre aplicaciones sin perder su significado. pág. 20 Dado que es un marco común, los diseñadores de aplicaciones pueden aprovechar la disponibilidad de herramientas de procesamiento y analizadores RDF comunes. La capacidad de intercambiar información entre diferentes aplicaciones significa que la información puede estar disponible para aplicaciones distintas de aquellas para las que se creó originalmente. RDF se basa en la idea de identificar cosas mediante identificadores web, llamados identificadores uniformes de recursos o URI, y describir los recursos en términos de propiedades simples y valores de propiedad. Esto permite que RDF represente declaraciones simples sobre recursos como un gráfico de nodos y arcos que representan los recursos, sus propiedades y valores. Una URI Uniform Resource Identifier (Identificador Uniforme del Recurso) Es un conjunto genérico de todos los nombres y direcciones que se refieren a un recurso. En el siguiente ejemplo mostramos un grafo diseñado por Eric Miller en el que se declara "hay una Persona identificada por un nombre que es Eric Miller, cuya dirección de correo electrónico es [email protected], y cuyo título es Dr." Imagen 2. Grafo RDF diseñado por Eric Miller pág. 21 RDF nos proporciona una sintaxis basada en XML, denominada RDF/XML para poder editar estos grafos, en este caso el ejemplo proporcionado por Eric Miller sería: Imagen 3. RDF/XML de Eric Miller RDF/XML es procesable por máquina y, usando URIs, se pueden enlazar las piezas de información a lo largo de la Web. Sin embargo, las URIs de RDF pueden hacer referencia a cualquier cosa identificable, incluyendo cosas que pueden no ser directamente recuperables en la Web. El resultado es que, para describir tales cosas como páginas web, RDF puede también describir coches, negocios, gente, noticias, eventos etc. E incluso, las propiedades RDF que tienen los URIs, para precisamente identificar las relaciones que existen entre los términos enlazados. En RDF tanto los sujetos, como las propiedades y los objetos, son recursos. El fundamento de RDF es un modelo para representar propiedades designadas y valores de propiedades. El modelo RDF se basa en principios perfectamente establecidos de varias comunidades de representación de datos. Las propiedades RDF pueden recordar a atributos de recursos y en este sentido corresponden con los tradicionales pares de atributo-valor. Las propiedades RDF representan también la relación entre recursos y, por lo tanto, un modelo RDF puede parecer un diagrama entidad-relación. En la terminología del diseño orientado a objetos, los recursos corresponden con objetos y las propiedades corresponden con objetos específicos y variables de una categoría. El modelo de datos básico consiste en tres tipos de objetos: 1. Recursos. Todo aquello descrito por expresiones RDF se denominan recursos. Los recursos se designan siempre por URIs más identificadores de anclas opcionales. Cualquier cosa puede tener un URI; la extensibilidad de URIs permite la introducción de identificadores para cualquier entidad imaginable. 2. Propiedades. Una propiedad es un aspecto específico, característica, atributo, o relación utilizada para describir un recurso. Cada propiedad tiene un significado específico, define sus valores permitidos, los tipos de recursos que puede describir y sus relaciones con otras propiedades. 3. Sentencias. Un recurso específico junto con una propiedad denominada más el valor de dicha propiedad para ese recurso es una sentencia RDF. Así pues, una declaración o sentencia está compuesta por 3 partes individuales: sujeto, predicado y objeto. Como vemos en el ejemplo propuesto por Eric Miller nos encontramos con estas tres partes individuales de una sentencia denominadas, respectivamente, sujeto, predicado y objeto. pág. 22  Sujeto. Es el recurso desde el que parte el arco en el grafo formado.  Predicado. Es la propiedad que etiqueta el arco en el grafo.  Objeto. Es el recurso o literal al que llega el arco en el grafo. Puede ser otro recurso o pude ser un literal; es decir, un recurso (especificado por un URI), una cadena simple de caracteres u otros tipos de datos primitivos definidos por XML. Eso se representa de forma gráfica en nodos y flechas donde representamos los recursos en forma de óvalos, las propiedades son las flechas que unen los recursos con los objetos y, por último, los objetos se representar en dos formas: de óvalo si es un recurso o en forma de rectángulo si es un literal. Figura 4. Grafo RDF simple A este grafo RDF que muestra la descripción lo denominamos tripleta. Pero un grafo puede ir creciendo cuando se le añadan más elementos a la descripción del recurso. Figura 5. Grafo RDF compuesto Como podemos ver, este grafo está compuesto en lugar de por una tripleta simple, por dos tripletas. Una formada por sujeto y predicado donde el Objeto es a su vez otro Recurso; y es este último recurso el que, al contener una propiedad, genera otra tripleta, donde éste es el sujeto -de la segunda tripletagenerando, a su vez, un predicado para unirlo a su objeto (este formado por un literal). La forma que hay de relacionar y obtener las propiedades de un grafo se realiza mediante el acceso a las URIs correspondientes donde se identifican los recursos y propiedades. pág. 23 3.3 Ontologías usadas La principal tecnología de representación del conocimiento usada en la Web Semántica es la ontología: que facilita tanto la búsqueda de contenidos e información como mejorar el rastreo en la Web gracias a que proporciona una marca común que permite la integración, compartición y reutilización de los datos desde múltiples fuentes. Se pueden encontrar un gran número de definiciones de ontología. Una de las más relevantes es la de que afirma que ''una ontología es una especificación formal y explícita de una conceptualización compartida''. Esto se refiere a la necesidad de que las ontologías sean comprensibles por la máquina. Esta definición enfatiza la necesidad de alcanzar un acuerdo para establecer la conceptualización compartida. Las ontologías proporcionan un vocabulario común de un área y define, con diferentes niveles de formalidad, el significado de términos y las relaciones que se establecen entre ellos. Las ontologías pretenden describir el conocimiento (conceptos, atributos y relaciones) de un dominio dado. Fueron diseñadas para poderse compartir, de forma que distintas aplicaciones manejen los mismos conocimientos y puedan colaborar entre sí. Para este proyecto han sido necesarias el uso de cuatro ontologías que permitieran realizar una correcta transformación de los Registros de Actividades de Tratamiento a RDF las cuales son: • OWL • Dublin Core • SemCyLRAT • SemRAT En los siguientes puntos se definirá concretamente para qué son necesarias dichas ontologías y su uso en el proyecto. 3.3.1 OWL Existen diferentes lenguajes para la creación de ontologías, aunque la W3C recomienda el uso de OWL El Lenguaje de Ontologías Web (OWL) está diseñado para ser usado en aplicaciones que necesitan procesar el contenido de la información en lugar de únicamente representar información para los humanos. OWL facilita un mejor mecanismo de interpretabilidad de contenido Web que los mecanismos admitidos por XML, RDF, y esquema RDF (RDFS) proporcionando vocabulario adicional junto con una semántica formal. En realidad, OWL es una extensión del lenguaje RDF y emplea las tripletas de RDF, aunque es un lenguaje con más poder expresivo ya que éste posee más funcionalidades para expresar el significado y semántica que XML, RDF, y RDFS; pero OWL va más allá que estos lenguajes pues ofrece la posibilidad de representar contenido de la Web interpretable por máquina. OWL es una revisión del lenguaje de ontologías web DAML+OIL que incorpora lecciones aprendidas desde el diseño y aplicaciones de DAML+OIL. OWL tiene tres sublenguajes, con un nivel de expresividad creciente: OWL Lite, OWL DL, y OWL Full. A continuación, se proporciona una breve descripción de cada uno de ellos: pág. 24 • OWL Lite está diseñado para aquellos usuarios que necesitan principalmente una clasificación jerárquica y restricciones simples. Por ello, a la vez que admite restricciones de cardinalidad, sólo permite establecer valores cardinales de 0 ó 1. OWL Lite proporciona además una ruta rápida de migración para tesauros y otras taxonomías. Tiene también una menor complejidad formal que OWL DL. • OWL DL está diseñado para aquellos usuarios que quieren la máxima expresividad conservando completitud computacional, y resolubilidad. OWL DL incluye todas las construcciones del lenguaje de OWL, pero sólo pueden ser usados bajo ciertas restricciones. Por ejemplo, mientras una clase puede ser una subclase de otras muchas clases, una clase no puede ser una instancia de otra. • OWL Full está dirigido a usuarios que quieren máxima expresividad y libertad sintáctica de RDF sin garantías computacionales. Por ejemplo, en OWL Full una clase puede ser considerada simultáneamente como una colección de clases individuales y como una clase individual propiamente dicha. OWL Full permite una ontología para aumentar el significado del vocabulario preestablecido (OWL o RDF). Es poco probable que cualquier software de razonamiento sea capaz de obtener un razonamiento completo para cada característica de OWL Full. 3.3.2 Dublin Core La iniciativa de metadatos Dublin Core apoya la innovación en el diseño de metadatos y las mejores prácticas. Dublin Core es un sistema de 15 definiciones semánticas descriptivas con las que poder transmitir su mismo significado semántico. Estas definiciones: • Son opcionales • Se pueden repetir • Pueden aparecer en cualquier orden Este sistema de definiciones fue diseñado específicamente para proporcionar un vocabulario de características básicas capaces de proporcionar la información descriptiva sobre cualquier recurso, sin que importe el formato de origen, acerca del área de especialización o el origen cultural. En general, podemos clasificar estos elementos en tres grupos que indican la clase o el ámbito de la información que se guarda en ellos: • Elementos relacionados principalmente con el contenido del recurso. • Elementos relacionados principalmente con el recurso cuando es visto como una propiedad intelectual. • Elementos relacionados principalmente con la instanciación del recurso. Dentro de cada clasificación definiremos los elementos que podemos encontrar. A pesar de que de Dublin Core solo usaremos un elemento en particular, viene bien conocer todos ya que se pueden ampliar el número de recursos y entonces deberíamos utilizar alguno de los siguientes elementos. pág. 25 a) Contenido del Recurso DC.Title • Título: el nombre dado a un recurso, habitualmente por el autor. DC.Subject • Claves: los temas del recurso. Típicamente, Subject expresará las claves o frases que describen el título o el contenido del recurso. Se fomentará el uso de vocabularios controlados y de sistemas de clasificación formales. DC.Description • Descripción: una descripción textual del recurso. Puede ser un resumen en el caso de un documento o una descripción del contenido en el caso de un documento visual. DC.Source • Fuente: secuencia de caracteres usados para identificar unívocamente un trabajo a partir del cual proviene el recurso actual. DC.Type • Tipo del Recurso: la categoría del recurso. Por ejemplo, página personal, romance, poema, diccionario, etc. DC.Relation • Relación: es un identificador de un segundo recurso y su relación con el recurso actual. Este elemento permite enlazar los recursos relacionados y las descripciones de los recursos. DC.Coverage • Cobertura: es la característica de cobertura espacial y/o temporal del contenido intelectual del recurso. La cobertura espacial se refiere a una región física, utilizando por ejemplo coordenadas. La cobertura temporal se refiere al contenido del recurso, no a cuándo fue creado (que ya lo encontramos en el elemento Date). b) Propiedad intelectual DC.Creator • Autor o Creador: la persona u organización responsable de la creación del contenido intelectual del recurso. Por ejemplo, los autores en el caso de documentos escritos; artistas, fotógrafos e ilustradores en el caso de recursos visuales. DC.Publisher • Editor: la entidad responsable de hacer que el recurso se encuentre disponible en la red en su formato actual. pág. 32 Figura 9. Visualización de la Base de Datos En esta segunda consulta podemos ver como nuestro resultado sería: Este ejemplo es muy útil para comprobar el funcionamiento de la base de datos y las consultas en RDF. Sin embargo, RDF se almacena principalmente en formato URI que separa las entidades conceptuales de sus etiquetas lingüísticas. Por lo tanto, la consulta ?pintura <creadas por> <Rembrant> . Sería más parecida a ?pintura <http://purl.org/dc/terms/creator> <http://dbpedia.org/resource/Rembrandt> . Como se puede observar, a diferencia de las URI que en esta consulta están enmarcadas por los signos < >, los objetos son cadenas de texto entrecomilladas. Esto es lo que se conoce como literales. Los literales representan valores, mientras que las URI representan referencias. Por ejemplo, <http://dbpedia.org/resources/Rembrandt> representa una entidad que puede referenciar y ser referenciada por muchas otras declaraciones, mientras que la cadena de texto "Rembrandt van Rijn" solo se representa a sí misma. Las URIs pueden llegar a ser difíciles de manejar cuando se componen consultas SPARQL. Para simplificar este proceso se utilizan los prefijos. Los prefijos son atajos que nos liberan de tener que escribir toda la larga cadena de caracteres que constituye una Artistas Pinturas Rembrandt van Rijn La ronda de noche Johannes Vermeer La tasadora de perlas Tabla 2. Resultado de la consulta pág. 33 URI. Por ejemplo, el predicado para recuperar el título de La ronda de noche, <http://purl.org/dc/terms/title>. Con los siguientes prefijos, solo necesitamos escribir dct:title cuando queramos utilizar un predicado purl.org. dct: representa la cadena completa http://purl.org.dc/terms, y title simplemente se agrega al final de este enlace. 3.5 Los Registros de las Actividades de Tratamiento (RAT) original y transformado En este apartado explico el contenido generalizado de cada uno de los archivos Excel obtenidos de la web de la Junta de Castilla y León. En caso de querer comprobar particularmente cada uno de los contenidos de los archivos, se podrán analizar en el apartado Anexo I. Como ya se ha expresado anteriormente, la motivación de este proyecto se basa en querer mejorar los archivos proporcionados por la Junta de Castilla y León para su consulta en la web. Dichos archivos denominados Registros de Actividades de Tratamiento de Datos Personales son: • Presidencia • Transparencia • Economía y hacienda • Empleo e industria • Fomento y Medio Ambiente • Agricultura y ganadería • Sanidad • Familia e igualdad de oportunidades • Educación • Cultura y turismo Cada uno de estos archivos proporcionado por la Junta de Castilla y León consiste en un documento Excel que consta de trece columnas, siendo cada columna la información específica que se debe proporcionar en función del tratamiento en particular. Cada una de estas columnas será identificada en SemRAT y SemCyLRAT que tocó crear con anterioridad para poder relacionar el sujeto proporcionado en este archivo con el objeto al que está referenciando. Por tanto las columnas del archivo son las siguientes: • Tratamiento • Consejería • Centro • Responsable • Delegado • Base jurídica • Fines del Tratamiento • Categoría del interesado • Categoría de datos personales • Cesiones de datos • Transferencias internacionales • Plazo supresión • Medidas de seguridad pág. 34 El contenido de cada una de estas columnas viene explicado en el apartado donde se definen las ontologías utilizadas, en este caso las ontologías propias, creadas para SemRAT y SemCyLRAT. Aquí podemos ver un ejemplo de cómo está compuesto un Excel en este caso el de Economía y Hacienda. Tabla 3. Excel de ejemplo RAT Economía y Hacienda pág. 35 Para realizar su transformación a RDF cada una de las filas que hacen referencia a los tratamientos consistirá en un sujeto de una de estas tripletas nuevas. Cada una de las columnas será un objeto al que hace referencia este sujeto, que tendrá que estar unido a él por un predicado. Este predicado se forma llamando a prefijos existentes de alguna ontología existente, como es el caso de DC.Source, o bien generando un prefijo nuevo que haga referencia particularmente a este recurso nuevo. Como en nuestro caso no hay ninguna ontología que haga referencia a estos recursos, es necesario crear estos prefijos explicados en el apartado ontologías propias, albergados dentro de las ontologías SemRAT y SemCyLRAT. Ejemplo de cómo quedaría en forma de grafo el diseño generalizado de cualquiera de los archivos una vez transformado a RDF: Figura 10. Diseño grafo general transformado a RDF En este grafo podemos observar que la primera tripleta que formaremos consistirá en un sujeto que es el nombre del Registros de Actividades de Tratamiento de Datos Personales, unido a dos recursos. El primero de ellos será la página web de la que obtenemos el archivo original y el segundo será la lista de tratamientos que irán almacenadas en un prefijo rdf:Bag ya que los organizaremos de todos juntos de manera no ordenada. Este sujeto irá relacionado a estos recursos mediante los predicados dc:source para especificar la URL origen, y SemCyLRAT:tratamiento para especificar el recurso de tipo tratamiento que estamos almacenando. Esto lo podemos apreciar en el siguiente diagrama: pág. 36 Figura 11. Ejemplo de la primera tripleta Por lo tanto, al generar las tripletas se puede comprobar que las primeras representan a la URL original de la que obtenemos el archivo y el bag referenciando a la lista de tratamientos no ordenados, como podemos observar en la siguiente imagen. Subject Predicate Object http://semcylrat/economiay hacienda/RAT_EyH http://purl.org/dc/ele ments/1.1/source "https://gobierno.jcyl.es/web/ es/consejerias/registroactividades-tratamientoeconomia.html" http://semcylrat/economiay hacienda/registro-base-dedatos-de-licitadores-ycontratistas-de-la-plataformaelectronica-duero-de-la-juntade-castilla-y-leon http://www.w3.org/1 999/02/22-rdf-syntaxns#type http://www.w3.org/1999/02/2 2-rdf-syntax-ns#Bag Tabla 4. Primeras tripletas de RAT economía y hacienda Una vez estipulados los tratamientos se puede observar que habrá una tripleta por fila, es decir, tendremos tantos sujetos como número de tratamientos haya en el archivo. Esto generará una segunda elaboración de tripletas, lo cual demuestra que nuestra transformación a RDF consistirá en un RDF de tipo complejo. En la siguiente elaboración de tripletas tendremos que relacionar el sujeto (que en este caso consistirá en uno de los tratamientos), con cada uno de sus recursos objeto que serán cada una de las columnas que forman la tabla. Como es el caso, debemos generar los predicados correspondientes a las columnas restantes que vendrán expresados por los prefijos: pág. 37 • semCyLRAT:consejeria • semCyLRAT:centro • semRAT:responsable • semRAT:delegado • semRAT:base_juridica • semRAT:fines • semRAT:categoria_interesado • semRAT:categoria_datos_personales • semRAT:cesiones_datos • semRAT:transferencias_internacionales • semRAT:plazo_supresion • semRAT:medidas_seguridad • semRAT:encargado • semRAT:categoria_tratamientos • semRAT:categoria_destinatarios Figura 12. Ejemplo de la segunda tripleta Se comprobar cómo se generan las tripletas en la siguiente tabla. Observamos que para un tratamiento, en este caso el registro base de datos de licitadores, que forma parte de un bag de tratamientos como dice la siguiente tripleta, se generan tras ella el resto de recursos objetos como conserjería, centro, etc… pág. 38 Tabla 5. Ejemplo de tripletas de RDF complejo RAT economía y hacienda El proceso de creación y transformación de los registros de actividades de tratamiento así como los registros de actividades de tratamiento originales y los grafos vendrán definidos en el siguiente apartado Desarrollo y en la documentación ANEXO IV. Subject Predicate Object http://semcylrat/economiayhacienda/RAT_EyH http://semcylrat.edu/tratamiento http://semcylrat/economiayhacienda/registrobase-de-datos-de-licitadores-y-contratistas-de-laplataforma-electrnica-duero-de-la-junta-de-castillay-leon http://semcylrat/economiayhacienda/-registro-decolegios-profesionales-y-consejos-de-colegios-decastilla-y-leon http://www.w3.org/1999/02/22rdf-syntax-ns#type http://www.w3.org/1999/02/22-rdf-syntaxns#Bag http://semcylrat/economiayhacienda/-registro-decolegios-profesionales-y-consejos-de-colegios-decastilla-y-len http://semcylrat.edu/consejeria "Consejería de Economía y Hacienda" http://semcylrat/economiayhacienda/-registro-decolegios-profesionales-y-consejos-de-colegios-decastilla-y-leon http://semcylrat.edu/centro "Secretaria General" http://semcylrat/economiayhacienda/-registro-decolegios-profesionales-y-consejos-de-colegios-decastilla-y-leon http://semrat.edu/responsable "Secretaria General C/ José Cantalapiedra,2.47014 Valladolid. Teléfono 983 414000. Correo electrónico :[email protected]" http://semcylrat/economiayhacienda/-registro-decolegios-profesionales-y-consejos-de-colegios-decastilla-y-leon http://semrat.edu/delegado "Consejería de Economía y Hacienda.C/ José Cantalapiedra,2.47014 Valladolid.Teléfono 983 414000. Correo electrónico:dpd.economiayhac[email protected]" pág. 39 3.6 Openrefine Una de las herramientas más importantes para el proceso de transformación de los registros de actividades de tratamientos de la Junta de Castilla y León es OpenRefine. OpenRefine (anteriormente Google Refine) es una herramienta para trabajar con datos desordenados: limpiarlos; transformándolo de un formato a otro; y ampliándolo con servicios web y datos externos. Esta herramienta es útil para el manejo de bases de datos donde podemos importar archivos para trabajar con las extensiones TSV, CSV, XML, JSON, XLS, entre otros. Lo que nos permite transformar archivos de cualquiera de estos formatos a otro. Imagen 4. Interfaz de OpenRefine La versión utilizada the OpenRefine para este proyecto es la versión OpenRefine 3.4.1, lanzada el 24 de septiembre de 2020. Con la que trabajaré en Windows 10, con lo que se necesitará tener instalado Java para su posterior ejecución. Para este proyecto se usa OpenRefine para la transformación de los archivos XLS a RDF, para ello se necesita la instalación de una extensión que se debe añadir a OpenRefine para poder gestionar archivos RDF. La extensión RDF se denomina RDF Refine, y consiste en una bifurcación mejorada para exportar RDF que agrega una interfaz gráfica de usuario (GUI) para exportar datos en formato RDF. pág. 40 Imagen 5. Extensión RDF en OpenRefine Una vez instalado tanto OpenRefine como su extensión RDF, podremos ejecutar Open refine y se abrirá una página con URL http://localhost:3333. Esta dirección la podemos cambiar por cualquier otra dirección con el nombre que queramos dar a nuestro proyecto en OpenRefine. Imagen 6. Creación del proyecto en OpenRefine Para ello seleccionaremos el archivo, XLS que queramos, le damos a “next”, y generará la tabla sobre la que tenemos que trabajar para su transformación a RDF. pág. 41 3.7 AllegroGraph Para este proyecto es necesario AllegroGraph para la gestión, creación y modelado de grafos obtenidos a través de la trasformación a RDF, debido a la alta cantidad de nodos que no pueden ser gestionados por herramientas gráficas más básicas. AllegroGraph es una tecnología de gráfico de conocimiento de eventos y entidades distribuida horizontalmente, multimodelo (documento y gráfico) que permite extraer información de decisiones sofisticada y análisis predictivo de datos altamente complejos y distribuidos que no pueden responderse con bases de datos convencionales. AllegroGraph es una base de datos de documentos y gráficos con fragmentación horizontal, de alto rendimiento y persistente, construida especialmente para este propósito. AllegroGraph utiliza una gestión de memoria eficiente en combinación con el almacenamiento en disco, lo que le permite escalar a miles de millones de documentos mientras mantiene su rendimiento. AllegroGraph cumple con los estándares W3C / ISO y admite JSON, JSON-LD, SPARQL 1.1, OWL Reasoning, SHACL y Prolog. En este caso he utilizado la versión AllegroGraph 7.1.0 en una máquina Ubuntu versión 20.04, las características de esta versión de AllegroGraph son: • FedShard acelera las consultas complejas: función de federación y fragmentación patentada. • Modelado de gráficos de conocimiento de eventos de entidad. • Documento multimodelo (JSON, JSON-LD) y base de datos gráfica (RDF, OWL). • Gruff - Explorador de gráficos de conocimiento integrado directamente y basado en navegador. • Cloud Native: Amazon Marketplace y Amazon EC2: AMI. • AllegroGraph es 100% ACID y admite transacciones: compromiso, reversión y puntos de control. • Seguridad: la base de datos de gráficos más segura de la industria con atributos triples. • Replicación multimaestro para la coordinación de centros de datos distribuidos globalmente. • Copias de seguridad en línea , recuperación en un momento determinado, replicación, espera en caliente. • Indexación dinámica y automática: todos los triples comprometidos siempre están indexados (7 índices). • Indexación de texto avanzada: indexación de texto por predicado. • En dos fases - SOLR y MongoDB Integración. • Soporte SHACL y SPIN. • Todos los clientes basados en protocolo REST - RDF4J , Java Jena , Python , C # , Clojure , Perl , Rubí , Scala , y Lisp clientes. pág. 48 Como podemos ver en esta imagen para añadir un servicio de conciliación debemos darles un nombre que nos sirva para identificar el servicio añadido, le especificamos la URL en la que el servicio hace las consultas basadas en virtuoso, y especificamos el tipo de sintaxis en el que se realizan las consultas, como ya hemos dicho todas estarán basadas en Virtuoso. Imagen 12. Añadir una conciliación basada en virtuoso Este proceso debe repetirse para añadir todas las bibliotecas digitales basadas en Webs Semánticas que nos interesen, para este proyecto he añadido las más comunes y mejores para archivos gubernamentales como es el caso de la junta de Castilla y León, que como se puede ver en la siguiente imagen son: • Wikidata: Es una base de conocimiento abierta y gratuita que tanto humanos como máquinas pueden leer y editar. Wikidata viene por defecto en la herramienta OpenRefine para la conciliación de recursos y actúa como almacenamiento central para los datos estructurados de sus proyectos hermanos de Wikimedia, incluidos Wikipedia, Wikivoyage, Wiktionary, Wikisource y otros. Podemos utilizarla añadiendo el Endpoint https://query.wikidata.org/ • DBpedia: El proyecto DBpedia ha generado durante mucho tiempo información semántica a partir de la Wikipedia inglesa. Desde junio de 2011 el proceso de generación de información extrae información de Wikipedia en 15 de sus versiones (idiomas). Uno de ellos es el español. El comité de internacionalización de DBpedia ha asignado un sitio web y un SPARQL Endpoint para cada uno de estos idiomas. Como vemos en la imagen anterior se usa añadiendo el Endpoint https://dbpedia.org/sparql pág. 49 • Europeana: Es la biblioteca digital europea, de acceso libre, cuyo prototipo comenzó a funcionar el 20 de noviembre de 2008 que reúne contribuciones ya digitalizadas de reconocidas instituciones culturales de los 27 estados miembros de la Unión Europea. Sus fondos incluyen libros, películas, pinturas, periódicos, archivos sonoros, mapas, manuscritos y otros archivos. Su Endpoint basado en virtuoso es http://sparql.europeana.eu/ • Datos.gob: Es una biblioteca digital que almacena vocabularios de datos que reutiliza la información pública del gobierno de España. https://datos.gob.es/es/sparql • Getty vocabularies Reconciliation service: Los usuarios experimentados de la herramienta pueden conciliar sus datos cuando estén en OpenRefine con la URL: https://services.getty.edu/vocab/reconcile/ Imagen 13. Servicios de conciliación añadidos Una vez elegido el servicio sobre el que queremos conciliar los recursos deberemos comprobar si existe un item que exprese a la perfección la conciliación con dicho recurso. Es decir, deberemos comprobar uno a uno todos los servicios con cada uno de los recursos para ver con cuál de ellos se ajusta más a su definición. En este caso podemos comprobar como el recurso Conserjería nos da dos opciones de conciliación Consejería de la Presidencia de la Junta de Castilla y León(100) y Castilla y León (Spain). Consejería de Presidencia y Administración Territorial(64) pág. 50 Imagen 14. Conciliación del recurso Conserjería Para comprobar cuál de los dos item se asemeja más a nuestra definición deberemos comprobando, yendo al servicio de conciliación y leyendo la definición en este caso el servicio usado es Wikidata Imagen 15. Definición del servicio de conciliación En este caso la primera opción corresponde a la perfección con el recurso definido así que se le da al doble check, “Match all identical cells”, que tiene la opción que nos interese para que concilie todos los recursos que tengan el mismo nombre con esta misma definición. Pero no en todos los recursos se encuentra la definición que nos interesa, ya que este proyecto tiene recursos muy específicos que no están definidos en ninguna de las bibliotecas digitales que están añadidas, como podemos ver en el siguiente ejemplo de tratamiento. pág. 51 Imagen 16. Recurso tratamiento En este caso cada uno de los recursos de tratamiento no tienen su semejante en ninguna de las bibliotecas anteriores. Por tanto, la solución que tendremos que realizar será crear un nuevo item específico para este proyecto y así poder conciliar los recursos con las ontologías. Una vez conciliadas todos los recursos ya podremos editar el esqueleto RDF, que es editar el código transformado a RDF para la gestión y organización de las tripletas. Para ello deberemos cambiar la URI asignada por defecto a una con el nombre del archivo que estemos transformando, en este caso utilizaremos la URI http://semcylrat/presidencia/ y además deberemos añadir los prefijos que nos hagan falta en función de las ontologías que sean necesarias para nuestro proyecto, en este caso deberemos añadir 3 prefijo. El primero será el prefijo Dublin Core, como ya hemos explicado anteriormente es útil para especificar en el predicado la URL de origen de la que obtenemos el archivo, este prefijo al ser una ontología existente simplemente añadimos dc y la URL se añadirá automáticamente. Como podemos observar en la imagen. Imagen 17. URI y prefijos necesarios pág. 52 Cómo explicábamos en el apartado ontologías propias, es necesario para este proyecto añadir dos prefijos creadas por nosotros mismos, el prefijo SemCyLRAT y SemRAT, para estipular el predicado de las tripletas a qué recurso se está haciendo referencia. El problema está en que estas ontologías no están relacionadas con ninguna URI existente, por tanto, deberemos gestionarlo como un prefijo exclusivo de este proyecto. Para ello añadiremos el nombre que le queremos dar al prefijo en este caso SemCyLRAT y SemRAT y como URI serán http://semcylrat.edu/ y http://semrat.edu/ respectivamente. En la siguiente imagen podemos ver la lista de prefijos por defecto más aquellos que hemos añadido para este proyecto. Imagen 18. Lista de prefijos para el proyecto Ahora que ya tenemos las ontologías añadidas deberemos de organizar el diagrama de nuestra estructura RDF, este diagrama será la base en la que se sustentará la formación de las tripletas y los nodos del grafo. El diagrama comenzará siempre con un valor constante que hará referencia al archivo que estamos transformando seguido por dos nodos uno será el nodo que nos proporciona información de la ubicación de la que obtuvimos el archivo y el otro el nodo de cada uno de los tratamientos que irán ubicados en una lista no ordenada. De este último nodo TRATAMIENTO añadiremos un nodo por cada una de las columnas del archivo que nos proporcionarán información de la consejería, el centro directivo, el responsable, etc… La construcción de este diagrama de nodos como se comenta anteriormente comenzará con un nodo raíz que consistirá en una constante con el nombre del archivo a transformar, es importante que la tipología de este nodo raíz sea una URI ya que nos permitirá añadir más nodos de manera secuencial que es lo que generará las tripletas. pág. 53 Imagen 19. Nodo raíz Una vez añadido el nodo raíz deberemos añadir los prefijos de los recursos a los que haremos referencia en nuestra tripleta. En este caso serán las propiedades source del prefijo dc perteneciente a Dublin Core y tratamiento del prefijo SemCyLRAT. Imagen 20. Añadir propiedad pág. 54 Tras definir la propiedad que vamos a añadir, añadimos el recurso que corresponda al prefijo indicado en este caso a dc:source añadiremos el recurso HTTP que contendrá la URL de origen de la que hemos obtenido el recurso, en este caso de tipo texto, ya que no añadiremos ningún otro recurso a este enlace. Y al prefijo SemCyLRAT:tratamiento añadiremos el recurso tratamiento, que si será de tipo URI, ya que a este objeto sí que tenemos que añadir más recursos, además deberemos estipular la tipología de este recurso que en este será rdf:bag porque nos interesa organizar cada tratamiento en un listado, para su posterior análisis de grafo y tripletas Imagen 21. Añadir el recurso tratamiento Al ser el recurso TRATAMIENTO un nodo URI, tiene el mismo funcionamiento que el nodo raíz inicial por lo tanto a este nodo le podremos añadir el resto de los recursos que nos proporcionan información sobre cada TRATAMIENTO en particular, añadiendo para cada caso su prefijo y el recurso correspondiente, como podemos ver en la siguiente imagen. Cada prefijo correspondiente a SemRAT y SemCyLRAT viene explicado en el apartado Ontologías propias. pág. 55 Imagen 22. Esqueleto RDF Este proceso nos va generando automáticamente un código en lenguaje RDF que deberemos ir comprobando, si es el correcto antes de exportar el archivo final transformado. Para comprobarlo simplemente accedemos a la pestaña RDF Preview y ahí nos aparecerá por orden, los prefijos usados en este proyecto con la denominación @prefix y su URL, después el nodo raíz seguido de los prefijos source y tratamiento y los objetos a los que hace referencia, y luego cada uno de los objetos a los que hace referencia cada uno los tratamientos que completan este RDF complejo. Como se muestra en esta imagen. Imagen 23. Código RDF Presidencia pág. 56 Una vez terminado este proceso de creación del diagrama y comprobación ya podremos exportar nuestro archivo a RDF. Podremos elegir si deseamos exportarlo como RDF/XML o como TTL, en este caso la conversión se hará a ambos formatos ya que no hay diferencias significativas, salvo el que TTL sea más fácil de leer y editar manualmente que XML. Podemos ver en las siguientes imágenes la parte inicial del código transformado del Registro de Actividad de Tratamiento denominado presidencia (siendo el primero el referente al formato XML y el siguiente al formato TTL). Cabe destacar que en ambos códigos se comienza enumerando los prefijos usados, después la generación de la primera tripleta que hará referencia al nodo raíz y sus objetos URL origen y tratamientos, y después se listan los tratamientos de este RAT con cada uno de los recursos que proporcionan información al tratamiento. Imagen 24. RAT presidencia exportado como XML pág. 57 Imagen 25. RAT presidencia exportado como TTL 4.3 Comprobación funcionamiento Una de las partes más importantes del proceso de transformación es la comprobación de que en ambos códigos, tanto en el que tenga la extensión XML cómo la extensión TTL, el lenguaje sea el correcto, porque si no podremos comprometer el resultado de nuestras tripletas o de nuestro grafo. Debido a la cantidad ingente de información que obtenemos en nuestro código sería muy tedioso y prácticamente imposible validar manualmente que el código generado sea correcto. Para ello W3C nos proporciona dos páginas en las que podremos validar de forma online nuestro código: La primera de ellas se trata de https://www.w3.org/2015/03/ShExValidata/ es una página de validación online proporcionada por W3C para la sintaxis de archivos de extensión TTL, TriG, N-Triples or N-Quads. Simplemente importamos nuestro archivo TTL y le damos a validar, la propia página se encargará de comprobar el esquema, los datos y validará si nuestro archivo es válido proporcionando información de la cantidad de errores, warnings y matches. Si alguno de los dos primeros da un resultado distinto de 0 el código no será válido. Tal y como se ve en la imagen. pág. 64 Imagen 34. Muestra de la leyenda del Grafo Presidencia Una vez que hayamos comprobado que la leyenda es correcta lo que tendremos que generar el grafo al completo, para ello tendremos que seleccionar el Nodo Raíz, que en nuestro caso será RAT PRESIDENCIA y seleccionar todos los predicados que nacen de dicho nodo, esto nos generara nuestro grafo con todos los nodos y sus predicados, tal y como se estipula en las tripletas. Imagen 35. Selección de todos los predicados del RAT Presidencia pág. 65 Una vez generados todos los nodos en nuestro grafo, le aplicamos un “layout” para establecer una jerarquía que haga nuestro grafo más legible. De esta manera, yo he preferido que lo primero que se genere sea el Nodo Raíz RAT PRESIDENCIA del que salen el nodo URL origen, y cada uno de los nodos tratamiento que organizamos anteriormente en un bag, listado no ordenado, y para su visualización, de uno de estos tratamientos salen los nodos que nos proporcionan información con respecto al centro la base jurídica, etc… Imagen 36. Grafo Presidencia completo y organizado Una vez generados y exportados estos documentos, de cada uno de los Registros de Actividades de Tratamiento proporcionados por la Junta de Castilla y León, tanto los archivos transformados, como las tripletas y el grafo, se podrá dar por concluido el proyecto. Los grafos completos se mostrarán en los archivos anexos a la documentación. pág. 66 5. Conclusiones Como punto de partida para este trabajo se intenta aproximar al lector al dominio en el que se centra este Trabajo de fin de grado: familiarización con el entorno RDF, ventajas de almacenar datos en RDF en lugar de las bases de datos convencionales y transformación de los archivos. A lo largo de todo el documento que acredita y expone la investigación realizada, se ha profundizado en las distintas áreas que se abarcan para dotar al trabajo de una base sólida y fundamentada. De esta forma se han podido definir unas hipótesis adecuadas e interesantes que han guiado la totalidad del proceso hacia la obtención de unos resultados relevantes. El apartado de Tecnologías usadas ha clarificado diferentes aspectos sobre las tecnologías y conceptos utilizados en la investigación, lo que ha permitido fijar un punto de partida sobre el que iniciar las aportaciones del trabajo. En el desarrollo de este proyecto he podido poner en práctica conocimientos técnicos del funcionamiento de las bases de datos aprendidos en diferentes asignaturas cursadas, como son TDBD (Tecnología y Diseño de Bases de Datos), ABD (Análisis y Diseños de Bases de Datos) y PGPI (Planificación y Gestión de Plataformas Informáticas). A parte de poner en práctica dichos conocimientos, ha sido necesario realizar un proceso de aprendizaje de técnicas y herramientas utilizadas en el proyecto, debido a que en ninguna de esas asignaturas se enseña RDF. Este aprendizaje se desarrollado mediante el libro “A Developer’s Guide to the Semantic web” artículos en castellano proporcionados por Mercedes, mi tutora, y otros encontrados en internet, en los que incluyo videos explicativos de plataformas cómo YouTube, Xakata y Udemy. Otro de los conocimientos a poner a prueba fue la gestión del proyecto y ser consciente de la importancia de una buena planificación para poder realizar todas las tareas dentro de una situación de fechas previamente establecida con entrega final. Teniendo en cuenta el enfoque que se le iba a dar (Cascada), como se explica en el apartado Planificación, se han establecido las pertinentes etapas en las que se iba a subdividir el proyecto. La solución planteada para la mejora de los datos almacenados por la Junta de Castilla y León se basa en la utilización de tecnologías de web semánticas, ya que resultan más que adecuadas para aprovechar al máximo la información recogida de usuarios y la intención de almacenarlo en aplicaciones de entorno de Cloud Computing. Dentro de la Web Semántica, las ontologías cobran especial importancia para el desarrollo del trabajo. Gracias a estas herramientas usadas en la transformación de los documentos a RDF se ha podido almacenar la información procedente de los archivos y establecer una estructura en ellos que han hecho que esos datos se transformen en recursos utilizables. Estas ontologías sirven como bases del lenguaje para identificar los recursos dentro de la web semántica. Cabe destacar que la intención de este proyecto es crear un sistema de consulta de documentos de Registro de Actividades de Tratamiento para la Junta de Castilla y León, ya que no supondría un elevado coste de desarrollo porque simplemente tendrían que conseguir una nube que soporte datos en RDF, como es el caso de Azure. Y esto es algo que el Gobierno de España ya realiza en páginas como https://datos.gob.es/ usada como iniciativa de datos abiertos del Gobierno de España para proyectos realizados por pág. 67 personas o comunidades. Y gracias al diseño planteado con sus propias ontologías se potencia la usabilidad y escalabilidad, ya que no se depende de prefijos ya creados para hacer referencia a los recursos, lo que supondría un problema a la hora de modificar o añadir nuevos, con las ontologías propias se crean nuevos prefijos que hagan referencia a estos nuevos recursos a añadir y se incluyen al archivo RDF ya creado. Para finalizar, este trabajo de fin de grado me ha supuesto un aprendizaje al modelo de almacenamiento de metadatos RDF, un modelo totalmente desconocido para mí, pero con una cantidad inmensa de funcionalidades para proyectos con grandes cantidades de datos. He puesto en práctica los conocimientos teóricos adquiridos en las diferentes asignaturas que he cursado y he aprendido nuevos sistemas de almacenamiento y consulta en lo que a bases de datos de refiere. 5.1 Objetivos Alcanzados Tras la finalización de este proyecto, se puede asegurar que se han cumplidos los siguientes objetivos propuestos: • Estudio pormenorizado de RDF y sus ventajas frente a las bases de datos convencionales. • Transformación de los archivos obtenidos de la Junta de Castilla y León de formato Excel a RDF para su posterior almacenamiento en nubes que soporten bases de datos basadas en RDF. • Creación de ontologías propias con sus prefijos específicos para la identificación de los recursos. • Realización, gestión y comprobación de las tripletas generadas basadas en una estructura RDF compleja, tal y como se explica en los puntos anteriores. • Realización de grafos de cada uno de los archivos para comprobar y consultar la estructura de los documentos en RDF y poder comprobar los recursos que lo componen. • Realizar consultas a cada uno de los documentos transformados a RDF y comprobar que los resultados sean correctos. 5.2 Proyecto futuro Uno de los enfoques con los que se comenzó este proyecto consistía en realizar la transformación de los Registros de Actividad de Tratamiento de la Junta de Castilla y León, con la intención de crear una nube, Cloud Computing, basada en RDF para generar una base de datos consultable por los usuarios. Esto no ha sido posible debido a qué fue imposible encontrar una nube gratuita que soportará RDF, ya que todas las encontradas eran de pago. Por tanto en los siguientes puntos se exponen dentro de un marco teórico los pasos a seguir para que crear una Cloud Computing y como almacenar la información de las ontologías en bibliotecas digitales específicas. pág. 68 5.2.1 Cloud Computing La computación en la nube es un término general para la prestación de servicios alojados a través de Internet, y permite a las empresas consumir recursos informáticos como una utilidad en lugar de tener que construir y mantener infraestructuras de computación en tu casa o tus oficinas. Podríamos catalogar tres clases de computación en la nube, donde los diferentes servicios son proporcionados para una empresa. Hay que tener en cuenta que existe cierta superposición entre ellos. • IaaS (Infraestructura como Servicio) Un alojamiento web ordinario es un ejemplo de IaaS, en el cual pagas una suscripción mensual o una tarifa por gigabytes consumidos. Esto significa que estás comprando el acceso al hardware de computación en bruto través de la red, tales como servidores o almacenamiento. • SaaS (Software como Servicio) Significa que se utiliza una aplicación completa que se ejecuta en el sistema de otra persona, estos pueden ser, por ejemplo: el correo electrónico basado en web y documentos de Google. • PaaS (Plataforma como servicio) Significa poder desarrollar aplicaciones haciendo uso de herramientas basadas en la Web para que se ejecuten en sistemas de software y hardware proporcionado por otra compañía. Así, por ejemplo, podrías desarrollar tu propio sitio web de comercio electrónico, pero tienes todo, incluyendo el carrito de la compra, pago, envío y el mecanismo de pago ejecutándose en el servidor de un comerciante. Para los objetivos que se querían alcanzar en el proyecto se decidió un enfoque combinado a través de la web semántica y las plataformas de Cloud Computing. De esta forma se podrían utilizar infraestructuras de computación en nube para construir sistemas de bases de datos consultables en forma de PaaS semántico mediante la cual nosotros obtenemos las licencias de una de las plataformas de Cloud Computing basadas en RDF, como es el caso de Azure de Microsoft y de esta manera se almacenarían los documentos en los servidores de Azure. Esto nos permite que a la hora de consultar los archivos almacenados dentro del Cloud Computing podamos crear una interfaz de búsqueda similar a la que nos muestra la interfaz de AllegroGraph donde realizaremos las consultas pertinentes para buscar los recursos que deseamos mediante un método de consultas basado en SPARQL. 5.2.2 Creación del dominio de las ontologías Como se explica en el punto anterior, el planteamiento de la creación de un Cloud Computing se basa en la utilización de tecnologías semánticas, ya que resultan más que adecuadas para aprovechar al máximo la información recogida de usuarios y aplicaciones en el entorno. pág. 69 Dentro de la Web Semántica, las ontologías son de especial importancia para el desarrollo del trabajo. Gracias a estas herramientas se ha podido almacenar la información procedente de los documentos y establecer una serie de relaciones entre ellos que han hecho que esos datos se transformen en conocimiento utilizable. Es necesario un elemento capaz de utilizar el conocimiento almacenado en las ontologías y determinar las acciones a realizar en cada momento para relacionar los recursos con una librería digital en la que se puedan almacenar dichos datos. Para ello es necesario en los dominios SemRAT y SemCyLRAT que se han usado para la transformación de los archivos, “http://semcylrat.edu/” y “http://semcylrat.edu/” respectivamente, crear un sistema de almacenamiento de información basado en Virtuoso usando SPARQL endpoint que es un protocolo HTTP en red que es capaz de recibir y procesar solicitudes del protocolo SPARQL. En sendos dominios se almacenarán los prefijos explicados previamente en el apartado Ontologías usadas. Esto es necesario para poder realizar las consultas SPARQL en la nube en la que se almacenarán los Registros de Actividades de Tratamientos para poder obtener un enlace a la web semántica de los recursos existentes para comprender su definición. pág. 70 6. Bibliografía ARANO Silvia. "Los tesauros y las ontologías en la Biblioteconomía y la Documentación". [En línea] // Hipertext.net. - 2003. - 2021. - http://www.hipertexto.info/documentos/ontologias.htm. Avilleira Ana Beatriz Castelló WEB SEMÁNTICA: RDF Y SGBD QUE LO SOPORTAN [En línea]. - 2006. - http://openaccess.uoc.edu/webapps/o2/bitstream/10609/496/1/38211tfc.pdf. Beckett Dave TURTLE [En línea] // Turtle - Terse RDF Triple Language. - 2011. - https://www.w3.org/TeamSubmission/turtle/. Code for Science & Society OpenRefine [En línea]. - https://openrefine.org/. DBpedia Acceso global y unificado a los gráficos de conocimiento [En línea]. - 2021. - https://www.dbpedia.org/. Deborah L Mcguinness Frank Van Harmelen OWL Web ontology language: Overview [Libro]. - 2004. DIENG-KUNTZ Rose. "Corporate Semantic Webs" [Libro]. - [s.l.] : ERCIM News, No. 51, 2002. - Vol. https://www.ercim.eu/publication/Ercim_News/enw51/EN51.pdf. DING Ying. FENSEL, Dieter. "OntoWeb: The Thematic Network for the Semantic Web" [Libro]. - 2002. - Vol. Special Semantic Web. http://www.ercim.org/publication/Ercim_News/enw51. Dublin Core Dublin Core™ Metadata Initiative [En línea]. - https://dublincore.org/. Fensel D., Facca, F.M., Simperl, E., Toma, I. Semantic Web Services [Libro]. - 2011. - Vol. III. FRANZ.INC AllegroGraph 7.1.0 [En línea] // Introducción. - https://franz.com/agraph/support/documentation/current/agraph-introduction.html. GONZÁLEZ MARTÍNEZ MARÍA MERCEDES PROYECTO DOCENTE E INVESTIGADOR [En línea]. - 2019. Graham Klyne Jeremy Carroll Resource Description Framework (RDF): Concepts and Abstract Syntax: W3C Recommendation [En línea]. - 10 de Febrero de 2004. - https://www.w3.org/TR/2004/REC-rdf-concepts-20040210/. GUTIÉRREZ Claudio "La Web Semántica" [En línea]. - https://users.dcc.uchile.cl/~cgutierr/websemantica/websemantica.pdf. Hernandéz Margarita Base22. [En línea] // Digital Transformation Consulting.. - 18 de Diciembre de 2018. - https://base22.com/es/blog-es/las-ventajas-del-resourcedescription-framework-rdf/. Hughes. Mike Cotterell Bob "Software Project Management". [Libro]. - : McGrawHill Education / Europe, Middle East & Africa, 2009. - 5th Edition : Vol. V. Jorge Pérez Marcelo Arenas, and Claudio Gutierrez Semantics of SPARQL [En línea]. - 2006. - https://arxiv.org/abs/cs/0605124. pág. 71 Junta de Castilla y León [En línea] // gobierno.jcyl. - 2021. - mayo de 2021. - https://gobierno.jcyl.es/web/es/consejerias.html. Lincoln Matthew Uso de SPARQL para acceder a datos abiertos enlazados [En línea]. - 2015. - https://programminghistorian.org/es/lecciones/retirada/sparql-datosabiertos-enlazados. Liyang Yu "A Developer’s Guide to the Semantic Web" [Libro]. - [s.l.] : Springer, 2011. Martínez M. Mercedes Introducción a la Web Semántica [En línea]. - 2016. - https://www2.infor.uva.es/~mercedes/websem/fileswebsemvalladolid/introduccion.pdf. Matute Jorge Hernández Un estudio comparativo entre los sistemas gestores RDF [En línea]. - 2009. - https://earchivo.uc3m.es/bitstream/handle/10016/6566/PFC_Jorge_Hernandez.pdf?sequence=1 &isAllowed=y. Peter F. Patel-Schneider Patrick Hayes, Ian Horrocks, OWL-Semantics [En línea] // OWL Web Ontology Language Semantics and Abstract Syntax. - 2004. - https://www.w3.org/TR/2004/REC-owl-semantics-20040210/. RDF SEMANTICS RDF Semantics [En línea]. - 2004. - https://www.w3.org/TR/2004/REC-rdf-mt-20040210/. Ríos Manuel Open Refine [En línea] // qué es + tutorial. - 2013. - https://es.schoolofdata.org/2014/06/30/openrefine/. SPARQL SPARQL Query Language for RDF [En línea]. - 2008. - https://www.w3.org/TR/2008/REC-rdf-sparql-query-20080115/. ZANG Jun. CARAGEA, Doina. HONAVAR, Vasant. "Learning Ontology -Aware Classifiers". [En línea] // Proceedings of the Eight International Conference on Discovery Science (DS'05),. - Octubre de 2005. - http://www.cs.iastate.edu/~honavar/Papers/ds05.pdf. pág. 72 7. ANEXO I: Instalación OpenRefine Instalación de OpenRefine https://docs.openrefine.org/manual/installing • Requisitos del sistema OpenRefine no requiere acceso a Internet para ejecutar sus funciones básicas. Una vez que lo descarga e instala, se ejecuta como un pequeño servidor web en su propia computadora, y accede a ese servidor web local usando su navegador. Solo requiere una conexión a Internet para importar datos de la web, conciliar datos mediante un servicio web o exportar datos a la web. OpenRefine requiere tres cosas en su computadora para funcionar: • Sistema operativo compatible OpenRefine está diseñado para funcionar con los sistemas operativos Windows , Mac y Linux. Nuestro equipo lanza paquetes para cada uno. Java Java debe estar instalado y configurado en su computadora para ejecutar OpenRefine. La versión para Mac de OpenRefine incluye Java; nuevo en OpenRefine 3.4, también hay un paquete de Windows con Java incluido. Si instala e inicia OpenRefine en una computadora con Windows sin Java, se abrirá automáticamente una ventana del navegador a la página de descargas de Java , y simplemente puede seguir las instrucciones allí. Le recomendamos que descargue e instale Java antes de continuar con la instalación de OpenRefine. Navegador compatible OpenRefine funciona mejor en navegadores basados en Webkit, como: • Google Chrome • Ópera • Microsoft Edge Somos conscientes de algunos problemas menores de renderizado y rendimiento en otros navegadores como Firefox. No admitimos Internet Explorer. Si tiene problemas para ejecutar OpenRefine, consulte la sección sobre ejecución . Versiones de lanzamiento OpenRefine siempre tiene una versión estable más reciente, así como algunos desarrollos más recientes disponibles en versiones beta, candidatas a versiones o instantáneas . Si está instalando por primera vez, le recomendamos la última versión estable . pág. 73 Si desea utilizar una extensión que solo sea compatible con una versión anterior de OpenRefine y no requiera las funciones más recientes, puede encontrar que una versión estable anterior es la mejor para usted en nuestra lista de lanzamientos. Consulte las versiones posteriores para ver qué vulnerabilidades de seguridad se están solucionando, a fin de evaluar su propia tolerancia al riesgo para el uso de versiones anteriores. Busque versiones de "lanzamiento final" en lugar de versiones "beta" o "candidatas a lanzamiento". Versiones inestables Si necesita una función desarrollada recientemente y está dispuesto a arriesgar código no probado, puede mirar los elementos más recientes de la lista y ver qué cambios le atraen. Las versiones "Beta" y "Release Candidate" pueden tener errores no reportados y son más adecuadas para las personas que están dispuestas a ayudarnos a solucionar estos problemas mediante la creación de informes de errores . Para obtener las últimas actualizaciones de desarrollo absolutas, consulte las versiones instantáneas . Estos se crean con cada compromiso. Qué ha cambiado Nuestra última versión es OpenRefine 3.4.1 , lanzada el 24 de septiembre de 2020. Los principales cambios en esta versión se enumeran en la página de lanzamiento 3.4.1 con los paquetes descargables. Puede encontrar información sobre todas las versiones de OpenRefine en la página de lanzamientos en Github . OTRAS DISTRIBUCIONES OpenRefine también puede funcionar en otros entornos, como Chromebooks, donde hay terminales Linux disponibles. Consulte nuestra lista de otras distribuciones en la página de descargas para conocer otras formas de ejecutar OpenRefine y consulte nuestra comunidad de colaboradores para ver nuevos entornos en desarrollo. Instalando o actualizando Haga una copia de seguridad de sus datos Si está actualizando desde una versión anterior de OpenRefine y ya tiene proyectos en su computadora, debe crear copias de seguridad de esos proyectos antes de instalar una nueva versión. Primero, ubique el directorio de su espacio de trabajo. Luego, copie todo lo que encuentre allí y péguelo en una carpeta en otro lugar de su computadora. Para mayor seguridad, puede exportar sus proyectos OpenRefine existentes. pág. 80 User to run as: [agraph]: User 'agraph' doesn't exist on this system. Create agraph user: [y]: El script de configuración le pedirá un nombre de usuario y una contraseña para ser su superusuario de AllegroGraph. Esta cuenta es específica de AllegroGraph y no es la cuenta de inicio de sesión de su sistema operativo. El siguiente ejemplo muestra el usuario "prueba" con la contraseña "xyzzy". Esta es la cuenta esperada por los ejemplos del tutorial, por lo que es conveniente crear esa cuenta ahora. La administración de cuentas de usuario es fácil de realizar a través de la interfaz AllegroGraph WebView , por lo que esta combinación inicial de usuario / contraseña se puede cambiar fácilmente más adelante. Now you must set up an initial user account for AllegroGraph. This account will have "super user" privileges within AllegroGraph. SuperUser account name: [super]: test SuperUser account password: xyzzy Finalmente, se le pedirá por los segundos del tiempo de espera de la instancia. Este es el período de tiempo (en segundos) que una base de datos permanecerá abierta sin que se acceda a ella. El valor predeterminado es 604800, que es 60 x 60 x 24 x 7, es decir, una semana en segundos. Por el contrario, una hora es 3600. Instance timeout seconds: [604800]: El valor se escribirá en el archivo agraph.cfg como InstanceTimeout 604800. Si elimina esa línea del archivo, el intervalo de tiempo de espera será de una hora (3600 segundos). El script escribe el archivo agraph.cfg en el directorio <yourInstallDirectory> / lib (la ubicación estándar para la instalación TAR.GZ). Tome nota de dónde reside su archivo agraph.cfg. /home/joe/tmp/ag7.1.0/lib/agraph.cfg has been created. If desired, you may modify the configuration. pág. 81 El script concluye con una visualización de los comandos de inicio y detención personalizados para su instalación. Tome nota de los comandos de inicio y detención de su instalación. You can start AllegroGraph by running: /home/joe/tmp/ag7.1.0/bin/agraph-control --config /home/joe/tmp/ag7.1.0/lib/agraph.cfg start You can stop AllegroGraph by running: /home/joe/tmp/ag7.1.0/bin/agraph-control --config /home/joe/tmp/ag7.1.0/lib/agraph.cfg stop A menos que esté utilizando la versión gratuita (que permite hasta 5 millones de triples), debe agregar una clave de licencia al archivo de configuración. Consulte a continuación para obtener más información. Si está utilizando la versión gratuita, vaya a Iniciar el servidor a continuación . Instalación de la clave de licencia Cuando descarga la versión gratuita de AllegroGraph, no se proporciona ni se requiere ninguna clave de licencia. La versión gratuita te permite cargar un máximo de 5.000.000 triples y no tiene fecha de caducidad. Franz emite una clave de licencia especial para los usuarios de la versión paga de AllegroGraph. La clave de licencia define un número máximo de triples y posiblemente una fecha de vencimiento para la licencia, y se emite a un individuo o empresa cliente. Su clave de licencia será emitida por el departamento de ventas de Franz y le llegará en su correo electrónico. Una clave de licencia típica se parece a este ejemplo (que no funciona): Licensee Customer Name LicenseLimit 1000000 LicenseExpires 2010-06-16 <LicenseCode> 829P93952R9E8P7X4E8W565Z7A2A4Z592E4W5E49693P9K325X296S3R945A7 89D4 S843K9455787K3R3A2K6Z6N8K8V6V658A3V3D293H8X5S7X3V9A4R6533979V 246V 6J8Y3T928MA69B928R7E4D8C7C4T6X9F28626Z448E986R6E9B6F4S9J9U6H8 A7Q8 S324C67783Y89495Q8W867B7S349Q6C6T5W42A59P8Q5M967R5B554C2K3Q42 4T </LicenseCode> La "Clave de licencia" consta de los cuatro campos: el Licenciatario, LicenseLimit, LicenseExpires y LicenseCode. Todos deben estar presentes para que la Llave funcione. Los primeros tres valores reflejan los términos de su contrato con Franz. LicenseCode verifica los otros valores. pág. 82 Para instalar su clave de licencia, copie todo el bloque de texto (Licensee, LicenseLimit, LicenseExpires y LicenseCode) y péguelo en su archivo agraph.cfg. (En el ejemplo de instalación de tar.gz anterior, el archivo agraph.cfg se encontraba en /home/joe/tmp/ag7.1.0/lib/agraph.cfg.) La clave de licencia puede ir a cualquier parte del archivo siempre que está fuera de una definición de catálogo. Guarda el archivo. La licencia será efectiva cuando inicie o reinicie el servidor AllegroGraph. Si hay algún problema con su clave de licencia, AllegroGraph imprimirá un mensaje de error y el servidor no podrá iniciarse. Póngase en contacto con [email protected] si tiene problemas con su clave de licencia. Mientras tanto, siempre puede ejecutar la versión gratuita (cinco millones de límite triple) eliminando o comentando la parte de la licencia del archivo de configuración. Iniciar el servidor El servidor se instala en el directorio especificado en el comando de instalación (ver más arriba ). En el ejemplo anterior era /home/joe/tmp/ag7.1.0/ pero probablemente eligió un directorio diferente. Llamaremos a ese directorio [ag-dir] en los ejemplos siguientes. Como se indicó anteriormente, cuando completa la instalación, se imprime un mensaje que indica los comandos para iniciar y detener el servidor AllegroGraph. El comando es un control gráfico en el subdirectorio bin / del directorio [ag-dir] . Inicie el servidor con: [ag-dir]/bin/agraph-control --config [ag-dir]/lib/agraph.cfg start Un mensaje similar a AllegroGraph Server Copyright (c) Franz Inc. All Rights Reserved. AllegroGraph contains patented technology. Current time: [day, date, and time] Daemonizing... Server started normally: Running with free license of 5,000,000 triples; no-expiration. Access AGWebView at http://127.0.0.1:10035 se imprimirá (si instaló una clave de licencia, el mensaje de licencia será diferente). El servidor AllegroGraph ahora se está ejecutando. El error 'AllegroGraph ya se está ejecutando' Puede ejecutar varios servidores en una sola máquina, pero deben usar puertos diferentes y no deben usar el mismo directorio especificado por el SettingsDirectory parámetro de configuración. Consulte Configuración y control del servidor para obtener información sobre cómo especificar parámetros. Si ese directorio está en uso por otro pág. 83 proceso de servidor, cuando intente iniciar un servidor que usará ese mismo directorio, el inicio del servidor fallará con un mensaje similar a (con valores para PID y PORT): Daemonizing... Starting server failed: There appears to already be an AllegroGraph server running (pid PID). If it is your intention to run another AllegroGraph server simultaneously, please make a separate configuration file which has different values for the following parameters: Port PORT SettingsDirectory /disk1/allegrograph/settings/ Puede terminar ese servidor (después de asegurarse de que es lo que desea hacer y que no está incomodando a otro usuario) con agraph-control --config [path to agraph.cfg file of the running server] stop Si no puede determinar dónde está el archivo agraph.cfg apropiado o si ese comando falla por alguna razón, puede (nuevamente, asegurándose de que no está interfiriendo con otros usuarios) hacer kill PID Si el puerto deseado está en uso (presumiblemente por un proceso que no es AllegroGraph pero quizás por otro servidor AllegroGraph que no usa el directorio mencionado anteriormente), el servidor no se iniciará y se imprimirá un mensaje como el siguiente: Local socket address already in use" (errno 98) occurred while creating a passive socket on any interface port PORT. Para usar el socket deseado, debe encontrar y terminar el proceso usándolo. También puede modificar el archivo agraph.cfg para especificar otro puerto no utilizado. Consulte el Port parámetro en Configuración y control del servidor . Conectando al servidor Hay varios clientes potenciales que pueden conectarse al servidor de AllegroGraph, ya sea desde la misma máquina que ejecuta el servidor o desde una máquina diferente. Los distintos clientes y cómo se descargan (cuando es necesario) y cómo se instalan e inician se describen en Instalación del servidor , que tiene enlaces a otros documentos sobre clientes. En este documento, describimos la conexión al servidor AllegroGraph con el cliente AGWebView . Este cliente utiliza un navegador web y no requiere (más) pág. 84 descarga o instalación. La única información que necesita es el nombre de la máquina que ejecuta el servidor (que puede ser la misma máquina que ejecuta su navegador) y el número de puerto en el que está escuchando el servidor. El número de puerto predeterminado es 10035, y si lo instaló como se describe arriba, ese será el número de puerto. Si tiene alguna dificultad con ese número de puerto (como, por ejemplo, está siendo utilizado por otro programa), edite el archivo de configuración ([ruta] /ag7.1.0/lib/agraph.cfg) modificando la línea Port 10035 para especificar un puerto disponible diferente. Si cambia esa línea, reemplace 10035 con el nuevo número en los ejemplos a continuación en este documento. Usando AGWebView AGWebView es parte del servidor AllegroGraph. Cuando el servidor se está ejecutando, AGWebView se puede abrir escribiendo el nombre de host de la red del servidor o la dirección IP y el número de puerto en el campo de dirección de un navegador web, como el siguiente: http://localhost:10035 localhost se refiere a la máquina que ejecuta el navegador (por lo que tanto el servidor como el navegador se ejecutan en la misma máquina). Iniciando sesión Si hay un servidor AllegroGraph escuchando en ese puerto, AGWebView responderá inmediatamente con un formulario de inicio de sesión (en este ejemplo, el servidor se está ejecutando en la incursión del host ): Imagen 37. Inicio sesión AllegroGraph Para este sencillo tutorial, inicie sesión con el nombre y la contraseña del superusuario de AllegroGraph que creó durante la instalación del servidor. Si aceptó los valores predeterminados cuando instaló AllegroGraph arriba, el usuario es "prueba" con la contraseña "xyzzy" (como se muestra en la ilustración, aunque la contraseña está oculta). Una vez que haya iniciado sesión, puede crear cuentas de usuario adicionales con diferentes tipos de acceso y privilegios. Consulte Gestión de usuarios para obtener más detalles. El directorio de tutoriales pág. 85 En el nivel superior de la instalación de AllegroGraph (junto con directorios como bin / y lib / ), hay un directorio tutorial / . Este directorio contiene varios archivos de ejemplo usados en algunos de los ejemplos que se encuentran en la documentación, incluido el archivo kennedy.ntriples (usado a continuación en este documento) y el archivo PhoneCalls.ttl.gz usado en el ejemplo geoespacial n-dimensional en Ndimensional Guía y ejemplo de uso geoespacial . Cuando, en una página de repositorio de AGWebView, elige Cargar y eliminar datos | Importar RDF | desde un archivo cargado (indicado por la flecha roja en la ilustración, que muestra el ejemplo de Kennedy desarrollado a continuación), la opción Seleccionar archivos El cuadro de diálogo que se muestra comienza en el último directorio que se mostró. Pero la primera vez que se invoca, muestra el directorio tutorial / en el directorio de distribución del servidor (suponiendo que ese directorio esté en el lugar esperado; si hay un problema, el cuadro de diálogo mostrará el directorio raíz de distribución del servidor). Imagen 38. Seleccionar archivos Es posible que no tenga acceso a ese directorio por alguna razón. Si ese es el caso, pídale al administrador del sistema que le proporcione o ponga a disposición una copia del directorio. Crear una base de datos Una vez que haya iniciado sesión correctamente, el navegador se verá así: pág. 86 Imagen 39. Crear repositorio Esta es la página Catálogo que enumera los catálogos y los repositorios del catálogo seleccionado. El catálogo raíz (indicado por /) se selecciona en la ilustración. El único otro catálogo es el catálogo del sistema , que es solo para uso interno. No hay repositorios en el catálogo raíz ya que acabamos de abrir AllegroGraph por primera vez (si los datos se hubieran almacenado, veríamos uno o más repositorios que contienen los datos). Vamos a crear un repositorio llamado kennedy y lo completaremos con los datos disponibles en un archivo de ejemplo incluido con la distribución. En el área Crear nuevo repositorio , en el campo Nombre :, ya ingresamos kennedy . Haga clic en el botón Crear . Se creará el repositorio de Kennedy y el navegador mostrará la página del repositorio de Kennedy : pág. 87 Imagen 40. Información del repositorio Se muestra información sobre el repositorio (por ejemplo, no hay datos, declaraciones 0 , hasta el momento) y varios comandos para administrar los datos. Queremos cargar datos del archivo kennedy.ntriples , que se encuentra en el directorio tutorial / de la instalación del servidor; consulte la sección del directorio del tutorial más arriba ). AllegroGraph admite varios formatos de archivo de datos (consulte la carga de una herramienta ). El formato ntriples tiene un triple (sujeto, predicado, objeto) por línea, y cada línea termina en un punto. Aquí están las primeras líneas: pág. 88 <http://www.franz.com/simple#person1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.franz.com/simple#person> . <http://www.franz.com/simple#person1> <http://www.franz.com/simple#first-name> "Joseph" . <http://www.franz.com/simple#person1> <http://www.franz.com/simple#middle-initial> "Patrick" . <http://www.franz.com/simple#person1> <http://www.franz.com/simple#last-name> "Kennedy" . <http://www.franz.com/simple#person1> <http://www.franz.com/simple#suffix> "none" . <http://www.franz.com/simple#person1> <http://www.franz.com/simple#alma-mater> <http://www.franz.com/simple#Harvard> . Cargamos estos datos haciendo clic en Cargar y eliminar datos | Importar RDF: | desde un archivo cargado (indicado por la flecha roja en la ilustración). Aparece un panel de diálogo cerca de la parte superior de la página WebView que le permite especificar el archivo o archivos que se cargarán. Imagen 41. Importar archivos pág. 89 Este diálogo tiene muchas opciones. Consulte la descripción para obtener más detalles. Aquí solo especificaremos un archivo para cargar, dejando todas las opciones en sus valores predeterminados. Haga clic en el botón Elegir archivos . Mostrará el último directorio que mostró, pero la primera vez que se invoca, muestra el directorio tutorial / en el directorio de instalación del servidor (asumiendo que el directorio está en el lugar esperado; si hay un problema, el cuadro de diálogo mostrará el servidor directorio raíz de distribución). Especifique el archivo en el tutorial / directorio llamado kennedy.ntriples . Luego haga clic en el botón Aceptar en la parte inferior derecha del panel de diálogo. (Si el sistema no puede acceder al directorio tutorial / por algún motivo, por supuesto, tendrá que hacer que el archivo sea accesible de alguna otra manera). Una vez que se cargan los triples en el archivo, vemos que el Repositorio Kennedy ahora tiene 1214 declaraciones (triples). Imagen 42. kennedy.ntriples pág. 96 Imagen 48. Información de la consulta Se le advierte que la consulta tiene un producto cruzado (lo que significa una combinación sin variables comunes, lo que puede llevar mucho tiempo y producir resultados voluminosos). El resto de la pantalla es la información. Aunque no es obvio, técnicamente es cierto que la consulta tiene un producto cruzado, ya que el plan de la consulta, que se muestra en el botón Mostrar plan , es pág. 97 Imagen 49. Warnings de la consulta De hecho, no hay variables compartidas. A pesar de que indica una advertencia, se puede argumentar que la advertencia debe suprimirse si el LHS o el RHS tienen solo una fila, ya que en ese caso no es probable que haya un problema. En esta impresión, se señala la advertencia. Eso podría cambiar en el futuro. Pero es útil comprender que pueden aparecer advertencias y se pueden ver, si las hay, haciendo clic en Mostrar plan antes de la ejecución. Esta ha sido una breve introducción a SPARQL pero muestra su flexibilidad y poder. Hay más ejemplos en el Tutorial de SPARQL . Otra documentación Si ha seguido los pasos de este documento, debería tener AllegroGraph instalado, al menos una base de datos cargada, y debería haber preguntado y recibido respuestas sobre esa base de datos. Consulte el índice de documentación para obtener más información sobre AllegroGraph. pág. 98 9. ANEXO III: Instalación VirtualMachine Introduction AllegroGraph Server runs natively on Linux x86-64. To run AllegroGraph on other operating systems (such as Windows or MacOS) we suggest you set up a Linux virtual machine, as described in this document, or use our Docker container image. There are also cloud service options such as AllegroGraph on AWS Marketplace. For the Linux virtual machine, we provide a VMware virtual machine image to help facilitate this installation or you can create one on your own. The AllegroGraph virtual machine can be downloaded from the AllegroGraph download page. Performance in the virtual machine will be slower than running natively, so we encourage you to install AllegroGraph natively for performance evaluation. Guide to the AllegroGraph Virtual Machine Download the Virtual Machine Image The AllegroGraph virtual machine image can be downloaded from the AllegroGraph download page. After download, unzip the file into your desired location on your computer. NOTE: The native Windows unzip for many versions of Windows cannot unzip the downloaded folder due to its size. You will need to use a free program like 7-Zip. Download and install the VMware Player • 32/64-bit Windows: VMware Workstation Player • 32/64-bit Mac OS X (Intel): VMware Fusion Launch VMware Player and start the VM • Launch VMware Player pág. 99 Imagen 50. Interfaz VMware VirtualMachine Click on "Open a Virtual Machine" Imagen 51. Archivo AllegroGraph pág. 100 • Navigate to the AllegroGraph Virtual Machine.vmx file in the directory where you unzipped the AllegroGraph download (it is shown in the file dialog in the illustration). Open this file. Take ownership if prompted. • Click on "Play virtual machine". If on Windows you get a message saying (roughly) VMware Player and Device/Credential Guard are not compatible, please see Appendix 1: Device/Credential Guard on Windows below. • If prompted for Moved or Copied, select Copied. Once the VM starts playing, you should see this screen: Imagen 52. Inicio sesión Ubuntu Double-click on Franz Inc. and you will be prompted for a password. The password is allegrograph. Once you have entered the passowrd, you will see this screen: pág. 101 Imagen 53. Escritorio Ubuntu There is an icon bar to the left and several icons in the main area. The icons in the icon bar are: • Firefox: double-click to display a Firefox browser. • Terminal: displays a UNIX shell. You type commands to the prompt to start and stop AllegroGraph. See Using the shell below for more information. • File window: displays files in the local filesystem. • Ubuntu software: displays links to available Ubuntu software. • Ubuntu help program In the main area, there are icons for the Franz directory file window, the Trash folder, and the ag-triple-data folder, which contains various example datasets. Using the shell You use the shell to start and stop AllegroGraph, to determine the VM's IP address, and to run programs like the vi editor. Display the shell by double-clicking on the terminal icon in the icon bar. pág. 102 Imagen 54. Consola Ubuntu The illustration show the shell when it comes up. Three predefined commands are displayed as a startup message: • Type 'agstart' to start Allegrograph • Type 'agstop' to stop Allegrograph • Type 'hostname -I' to find the external ipaddr of the Guest VM. Use this address to connect to the VM from other computers. All these commands will work regardless of the current directory in the shell. pág. 103 Starting AllegroGraph Type agstart to the shell prompt: Imagen 55. Iniciando AllegroGraph The server starts and runs in the background. Because we are using the default agraph.cfg which does not include a license, we are restricted to 5 million triples. The local port (10035) is reported. See Using AGWebView below for information on using AGWebview to control AllegroGraph. The agstart command works regardless of the current directory of the shell. Stopping AllegroGraph You stop AllegroGraph with the agstop command. This illustration show agstop being called (at the bottom) just below the call to hostname described next. pág. 104 Imagen 56. Parando AllegroGraph Determining the IP address The third predefined command listed when the shell is opened is hostname. When called with the -I argument it returns the hostname which can be used by browsers outside the VM for connecting with the AllegroGraph server. See the Remote Connection to the VM for information on allowing connections to the VM just from the local machine (running the VM) or from any accessible machine. (That depends on using a NAT or a Bridged connection. The VM uses a NAT connection when initially started.) Once you have the IP address, you can use AGWebview to control AllegroGraph. Using AGWebView Using hostname -I we determined that the IP address, usuable at least on the machine running the VM, was 192.168.248.128 (you will likely get a different IP address). AllegroGraph by default listens on port 10035. So bringing up a browser on the local machine and entering 192.168.248.128:10035 will open AGWebView: pág. 105 Imagen 57. Inicio AllegroGraph Anonymous login is permitted by default in the VM AllegroGraph so AGWebView typically comes up with the Anonymous login. Clicking on User Anonymous in the menu bar displays a login choice (shown in the picture) and choosing that displays the usual AllegroGraph login prompt: Imagen 58. Usuario y Password See the AGWebview document for information on controlling AllegroGraph with AGWebView. The agrapg.cfg file AllegroGraph is customized by its configuration file agraph.cfg. That file is located in the /home/franz/ag/lib/ directory. It can be opened with the vi built in editor with the command vi /home/franz/ag/lib/agraph.cfg as we have done in the illustration: pág. 112 Imagen 65. Grafo AllegroGraph Servicios Sociales pág. 113 Subject Predicate Object http://semcylrat.edu/serviciossociales/RAT_Ser viciosSociales http://purl.org/dc/elements/1.1/sourc e "https://gobierno.jcyl.es/web/es/consejerias/re gistro-actividades-tratamiento-familia.html" http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://www.w3.org/1999/02/22-rdfsyntax-ns#type http://www.w3.org/1999/02/22-rdf-syntaxns#Bag http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semcylrat.edu/consejeria "Consejería de Familia e Igualdad de Oportunidades" http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semcylrat.edu/centro "Gerencia de Servicios Sociales" pág. 114 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/responsable "R: Gerente de Servicios Sociales de Castilla y León ET:El titular del Servicio correspondiente según materia y/o entidad prestadora de la atención social correspondiente del sistema de servicios sociales de responsabilidad publica. Gerente de Servicios Sociales C/Francisco Suárez, nº 2, 47006 Valladolid Telef.983 410900 Correo electrónico: [email protected]" http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/delegado "Titular del SENP C/ Francisco Suárez, 2, 47006 Valladolid. Teléfono 983 413996. Correo de contacto: [email protected]" pág. 115 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/base_juridica "Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo de 27 de abril de 2016 relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos, en cumplimiento de una obligación legal y asimismo, en ejercicio de una misión realizada en interés público o en ejercicio de poderes públicos. Artículo 6.1.e) y c). Igualmente, en cumplimiento de obligaciones en el ámbito de la protección social y para la gestión del sistema de asistencia social. Artículo 9.2. b) y h) del RGPD. Ley 16/2010, de 20 de diciembre, de Servicios Sociales de Castilla y León. Artículos 34, 35, 42 y 43 Ley 4/2018, de 2 de julio, de ordenación y funcionamiento de la de la Red de protección e inclusión de las personas y familias en situación de mayor vulnerabilidad social o económica en Castilla y León. Artículo 30." pág. 116 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/fines "Gestionar de forma coordinada e integral las prestaciones del sistema de servicios sociales para: -Atención social integral. -Detección, acceso, provisión y seguimiento de las prestaciones sociales. -Gestión de peticiones de cita previa e información. -Coordinación con otras AA.PP. y entidades colaboradoras. - Elaboración de informes de carácter asistencial y social. - Fines estadísticos" http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/categoria_interesa do "Usuarios de los servicios sociales y personas relacionadas con ellos con motivo de su atención social." pág. 117 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/categoria_datos_pe rsonales "Datos de carácter identificativo: -Número y fecha de apertura de la historia social, si la hubiera. -Nombre y apellidos, DNI, NIE, NIF, pasaporte u otros documentos de identidad; fecha y lugar de nacimiento; sexo; nacionalidad, estado civil y fecha de fallecimiento, en su caso. -Firma o huella. -Domicilio (nombre de vía, número, localidad, municipio, provincia, país, código postal). -Datos de contacto (teléfono fijo, teléfono móvil, correo electrónico, fax). - Número de seguridad social o mutualidad. - Imagen y voz. -Identificación de la zona de acción social y el ayuntamiento o la diputación provincial titular del centro de acción social correspondiente al domicilio. -Profesional de referencia de los servicios sociales que coordina la intervención. -Datos sobre guarda; tutela; profesión; situación laboral, escolar y económica, financieros, bancarios y seguros, nivel educativo, estado civil y de vida; condiciones básicas de salud; etnia; personas cuidadoras, personas de contacto del solicitante; datos relacionados con el uso, abuso y dependencia de tabaco, alcohol y otras drogas. - Datos relativos a la unidad de convivencia familiar, integrada por las personas que conviven con la persona interesada y guardan con ella algún tipo de parentesco o afinidad que se consideren relevantes para la intervención social. -Solicitudes de servicios sociales. -Datos sobre pág. 118 actuaciones de órganos jurisdiccionales, de salud, de empleo, de educación o de cuerpos y fuerzas de seguridad del estado. -Datos relativos al origen de las derivaciones asistenciales: Centro o servicio, profesional, teléfono, fecha de primer contacto y fecha de derivación. Datos de la atención: -Valoraciones técnicas e instrumentos de valoración, particularmente, en materia de infancia, menores infractores, familia, violencia de género, dependencia, discapacidad, exclusión social, drogodependencia y otras áreas de interés. -Objetivos de la asistencia. - Prestaciones recibidas del sistema de servicios sociales de responsabilidad pública y otras prestaciones y actuaciones complementarias. - Resultado de intervenciones y evaluación de la adecuación de las prestaciones a las necesidades de la persona usuaria." pág. 119 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/cesiones_datos "Cesiones de datos: • – Entidades que integran el sistema de servicios sociales de responsabilidad pública de Castilla y León. • – Otros órganos de la Administración Autonómica de Castilla y León y del sector público de Castilla y León. • – Administración General del Estado y el sector público institucional dependiente de aquella, Administraciones autonómicas y locales y su sector público institucional respectivo. • – Entidades privadas proveedoras de servicios sociales y entidades colaboradoras con el sistema de servicios sociales de responsabilidad pública." http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/transferencias_inte rnacionales "– Comisión de la Unión Europea en el caso de transferencias internacionales de datos a terceros países respecto a datos referidos a las víctimas de violencia de género." http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/plazo_supresion "Los datos se conservarán durante el tiempo necesario para cumplir la finalidad para la que se recabaron y para determinar las posibles responsabilidades que se pudieran derivar de dicha finalidad y del tratamiento de los datos, en los términos del art. 8.6 RGPD. Sera de aplicación el Decreto 79/2015, de 17 de diciembre, por el que se regula la Historia Social Única, y la normativa en materia de archivos y documentación." pág. 120 http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semrat.edu/medidas_seguridad "Las medidas de seguridad implantadas se corresponden con las previstas en el anexo II (medidas de seguridad) del Real Decreto 3/2010, de 8 de enero, por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica y que se encuentran descritas en los documentos que conforman la política de protección de datos y política de seguridad de la información de la Junta de Castilla y León, según se prevé en la creación del fichero protegido." http://semcylrat.edu/serviciossociales/RAT_Ser viciosSociales http://semcylrat.edu/tratamiento http://semcylrat.edu/REGISTRO ÚNICO DE PERSONAS USUARIAS DEL SISTEMA DE SERVICIOS SOCIALES DE RESPONSABILIDAD PÚBLICA DE CASTILLA Y LEÓN http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semcylrat.edu/consejeria "Consejería de Familia e Igualdad de Oportunidades" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semcylrat.edu/centro "Gerencia de Servicios Sociales" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/responsable "Gerente de Servicios Sociales C/Francisco Suárez, nº 2, 47006 Valladolid Telef.983 410900 Correo electrónico: [email protected]" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/delegado "Titular del SENP C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 41 3996 Correo electrónico: [email protected]" pág. 121 http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/base_juridica "Artículo 6.1.e) del RGPD, cumplimiento de una misión realizada en interés público o en ejercicio de poderes públicos. Ley Orgánica 3/2018, de 5 de diciembre, de protección de datos personales y garantía de los derechos digitales. Ley 5/2014, de 4 de abril, de Seguridad Privada. ." http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/fines "Garantizar la seguridad de personas, bienes e instalaciones y control de acceso. Grabación de imágenes de las personas que acceden y transitan por edificios e instalaciones." http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/categoria_interesa do "Personas físicas que acceden y circulan por edificios e instalaciones dependientes de la Gerencia de SS" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://www.w3.org/1999/02/22-rdfsyntax-ns#type http://www.w3.org/1999/02/22-rdf-syntaxns#Bag http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/categoria_datos_pe rsonales "Imagen/voz Nombre y apellidos DNI/NIF" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/cesiones_datos "A Fuerzas y Cuerpos de Seguridad, Órganos judiciales y Ministerio Fiscal" http://semcylrat.edu/serviciossociales/VIDEOV IGILANCIA http://semrat.edu/transferencias_inte rnacionales "No están previstas." pág. 128 http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semcylrat.edu/centro "Gerencia de Servicios Sociales" http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/responsable "R: Gerente de Servicios Sociales de CyL. C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 410900 Correo electrónico: gerente.servicios.socia[email protected]s ET: El titular del Servicio de Atención a Personas Mayores y Prevención de Dependencia y entidades colaboradores en el desarrollo del proyecto. C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 413877 Correo electrónico: [email protected]" http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/delegado "Titular del SENP C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 41 3996 Correo electrónico: [email protected]" http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/base_juridica "Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo de 27 de abril de 2016 relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos. Art 6.1.a) Ley 16/2010, de 20 de diciembre, de servicio sociales de Castilla y León" http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/fines "Finalidad principal: Desarrollo del programa A gusto en mi casa. Atención a las personas, en su domicilio, hasta el final Finalidades Adicionales: Evaluación del programa A gusto en mi casa" pág. 129 http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/categoria_interesa do "Personas físicas adheridas voluntariamente al programa" http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/categoria_datos_pe rsonales "Datos de carácter identificativo: - Nombre y apellidos, DNI, NIF - Domicilio - Datos de contacto Datos de la atención: - Valoraciones técnicas e instrumentos de valoración, particularmente, en materia de dependencia, personas mayores y otras áreas de interés. - Objetivos de la asistencia. - Prestaciones recibidas del sistema de servicios sociales de responsabilidad pública y otras prestaciones y actuaciones complementarias. - Resultado de intervenciones y evaluación de la adecuación de las prestaciones a las necesidades de la persona usuaria. - Hábitos de la vida diaria, salud, actividades y rutinas, gustos, preferencias, etc que los usuarios deseen proporcionar a partir de cuestionarios. - Datos sobre su historia de vida - Datos de los expedientes de dependencia - Datos relativos a la unidad de convivencia, familiares, amigos y otras personas del entorno cercano con las que se relaciona la persona usuaria. - Datos procesados a partir de grabaciones de audio, vídeo e imagen." pág. 130 http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/cesiones_datos "Cesiones de datos : - SACYL, como entidad de que integra el sistema de salud de responsabilidad pública de Castilla y León. - Diputación provincial de Ávila, entidad colaboradora, responsable de los servicios sociales de la zona en la que se desarrolla el proyecto piloto - Universidad de Valladolid, institución responsable de la evaluación del programa y de la calidad de vida de las personas usuarias - PRONISA, entidad privada proveedora de servicios - ASPRODES, entidad privada que realiza funciones de apoyo técnico al programa - Plena Inclusión, entidad privada que difundirá información sobre los resultados del programa - Cruz Roja, entidad privada proveedora de servicios de teleasistencia, voluntariado y otros productos tecnológicos" pág. 131 http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/plazo_supresion "Con carácter general, los datos se mantendrán hasta la finalización del programa, según los convenios suscritos con las diferentes entidades. No obstante, en el caso de personas usuarias que causen baja voluntaria en el programa, no se obtendrán nuevos datos, pero se podrán utilizar los datos obtenidos a efectos de evaluación de resultados. Así mismo, con independencia de la finalización de la experiencia piloto, según los convenios firmados, se mantendrá el registro de datos de las personas usuarias hasta que finalice la intervención y los apoyos que se estén prestando." http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semrat.edu/medidas_seguridad "Le resultan de aplicación, las medidas de seguridad implantadas se corresponden con las previstas en el anexo II (medidas de seguridad) del Real Decreto 3/20101, de 8 de enero, por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica y que se encuentran descritas en los documentos que conforman la política de protección de datos y política de seguridad de la información de la Junta de Castilla y León." http://semcylrat.edu/serviciossociales/RAT_Ser viciosSociales http://semcylrat.edu/tratamiento http://semcylrat.edu/PROGRAMA A GUSTO EN MI CASA DE CASTILLA Y LEÓN http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://www.w3.org/1999/02/22-rdfsyntax-ns#type http://www.w3.org/1999/02/22-rdf-syntaxns#Bag pág. 132 http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semcylrat.edu/consejeria "Consejería de Familia e Igualdad de Oportunidades" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semcylrat.edu/centro "Gerencia de Servicios Sociales" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/responsable "R: Gerente de Servicios Sociales de CyL C/Francisco Suárez, nº 2, 47006 Valladolid Email: [email protected] ET: Titular del Servicio de Concertación C/ Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 41 22 61 E-mail: [email protected]" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/delegado "Titular del SENP C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 41 3996 Correo electrónico: [email protected]" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/base_juridica "Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo de 27 de abril de 2016 relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos, art 6.1.a). Ley 16/2010, de 20 de diciembre, de servicio sociales de Castilla y León" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/fines "Finalidad principal: Desarrollo del proyecto INTecum. Atención a las personas afectadas por una enfermedad en fase avanzada/terminal, en su domicilio, hasta el final de la vida Finalidades Adicionales: Evaluación del proyecto INTecum" pág. 133 http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/categoria_interesa do "Personas físicas adheridas voluntariamente al proyecto" http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/categoria_datos_pe rsonales "Datos de carácter identificativo: - Nombre y apellidos, DNI, NIF - Domicilio - Datos de contacto Datos de la atención: - Valoraciones técnicas e instrumentos de valoración, particularmente, en materia de dependencia, personas mayores o con discapacidad y otras áreas de interés. - Objetivos de la asistencia. - Prestaciones recibidas del sistema de servicios sociales de responsabilidad pública y otras prestaciones y actuaciones complementarias. - Resultado de intervenciones y evaluación de la adecuación de las prestaciones a las necesidades de la persona usuaria. - Hábitos de la vida diaria, salud, actividades y rutinas, gustos, preferencias, etc que los usuarios deseen proporcionar a partir de cuestionarios. - Datos sobre su historia de vida - Datos de los expedientes de dependencia - Datos relativos a la unidad de convivencia, familiares, amigos y otras personas del entorno cercano con las que se relaciona la persona usuaria. - Datos procesados a partir de grabaciones de audio, vídeo e imagen" pág. 134 http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/cesiones_datos "Cesiones de datos: - SACYL, como entidad colaboradora que integra el sistema de salud de responsabilidad pública de Castilla y León, y prestadora de los cuidados sanitarios. - Diputación Provincial de Palencia, entidad colaboradora, responsable de los servicios sociales de la zona en la que se desarrolla el proyecto piloto. - Ayuntamiento de Palencia, entidad colaboradora, responsable de los servicios sociales de la zona en la que se desarrolla el proyecto piloto. - Universidad de Valladolid, institución responsable de la evaluación y seguimiento del proyecto y de la calidad de vida de las personas usuarias - FUNDACIÓN SAN CEBRIÁN, entidad privada proveedora de servicios. - ASPRODES, entidad privada que realiza funciones de apoyo técnico al proyecto. - PLENA INCLUSIÓN, entidad privada que difundirá información sobre los resultados del proyecto. - Cruz Roja, entidad privada proveedora de servicios de teleasistencia, voluntariado y otros productos tecnológicos." pág. 135 http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/plazo_supresion "Con carácter general, los datos se mantendrán hasta la finalización del proyecto, según los convenios suscritos con las diferentes entidades. No obstante, en el caso de personas usuarias que causen baja voluntaria en el proyecto, no se obtendrán nuevos datos, pero se podrán utilizar los datos obtenidos a efectos de evaluación de resultados. Así mismo, con independencia de la finalización de la experiencia piloto, según los convenios firmados, se mantendrá el registro de datos de las personas usuarias hasta que finalice la intervención y los apoyos que se estén prestando." http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN http://semrat.edu/medidas_seguridad "Le resultan de aplicación, las medidas de seguridad implantadas se corresponden con las previstas en el anexo II (medidas de seguridad) del Real Decreto 3/20101, de 8 de enero, por el que se regula el Esquema Nacional de Seguridad en el ámbito de la Administración Electrónica y que se encuentran descritas en los documentos que conforman la política de protección de datos y política de seguridad de la información de la Junta de Castilla y León." http://semcylrat.edu/serviciossociales/RAT_Ser viciosSociales http://semcylrat.edu/tratamiento http://semcylrat.edu/PROYECTO “INTECUM” DE CASTILLA Y LEÓN pág. 136 http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/categoria_datos_pe rsonales "Datos de carácter identificativo: - Nombre y apellidos - Sexo - Fecha de nacimiento - No se tratan datos de categoría especial" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semcylrat.edu/centro "Gerencia de Servicios Sociales" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/responsable "R: Gerente de Servicios Sociales de CyL C/Francisco Suárez, nº 2, 47006 Valladolid Telf.983 410900 E-mail: [email protected] ET: Titular del Servicio de Contratación Administrativa y entidades adjudicatarias de los contratos" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://www.w3.org/1999/02/22-rdfsyntax-ns#type http://www.w3.org/1999/02/22-rdf-syntaxns#Bag http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/categoria_interesa do "Personas físicas, incluyendo representantes de personas jurídicas, que concurran al procedimiento de contratación pública" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semcylrat.edu/consejeria "Consejería de Familia e Igualdad de Oportunidades" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/delegado "Titular del SENP C/Francisco Suarez, nº2, 47006 Valladolid. Telf. 983 41 3996 Correo electrónico: [email protected]" pág. 137 http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/fines "Tramitación de procedimientos de contratación administrativa en materias propias de la CFIO y de la GSS. Los datos personales podrán ser tratados para fines de archivo en interés público fines de investigación científica, histórica o fines estadísticos, de acuerdo con lo establecido en los artículos 5.1b) y 89.1 del RGPD" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/base_juridica "Reglamento (UE) 2016/679 del Parlamento Europeo y del Consejo de 27 de abril de 2016 relativo a la protección de las personas físicas en lo que respecta al tratamiento de datos personales y a la libre circulación de estos datos. Artículos 6.1.c) y e) Ley 9/2017 de 8 de noviembre de Contratos del Sector Público. La aportación de los datos es requisito indispensable para realizar los trámites y ser adjudicatario de los contratos advos. Ley 39/2015 de 1 de octubre del Procedimiento Administrativo Común de las Administraciones Publicas" http://semcylrat.edu/CONTRATACION ADMINISTRATIVA GSS http://semrat.edu/cesiones_datos "* No están previstas cesiones de datos salvo obligación legal * No están previstas transferencias de datos a terceros piases"