2.2 Características de un grafo de datos

Las siguientes son las características más relevantes de un grafo de datos para ser utilizado en la web semántica:

  1. Open World Assumption: El grafo de datos utiliza el criterio de Open World Assumption (OWA), esto significa que la ausencia de un dato o una relación en el grafo, no nos permite asumir que ese dato o esa relación no existe en el mundo real.

    El criterio contrario, cuando se asume que la ausencia de un dato significa que el dato no existe en el mundo real se llama Closed World Assumption (CWA) y es el criterio que utilizan las bases de datos relacionales. Si por ejemplo en una tabla relacional de CiudadesTurísticas no está el dato "Montevideo" se asume que "Montevideo" no es una CiudadTurística, mientras que si en un grafo de datos no existe relación entre el dato "Montevideo" y el dato "CiudadTurística" no se puede decir que Montevideo no sea una CiudadTurística.

    Una consecuencia de adoptar CWA es que la adición de una arista al grafo de datos podria contradecir lo que anteriormente se suponía que era falso (debido a la falta de información), mientras que con OWA, una declaración que se demuestra como falsa continúa siendo falsa con la adición de aristas. Esto hace que la opción de OWA sea la más adecuada para modelar datos incompletos.

  2. El grafo de datos puede prescindir de un esquema: En un grafo de datos se puede trabajar sin la definición de un esquema (observando la Figura 2 vemos que sólo concecta datos sin definir ningún esquema).

Modelar los datos como un grafo prescindiendo del esquema ofrece una mayor flexibilidad para integrar nuevas fuentes de datos comparado con el modelo relacional estándar, donde un esquema debe ser definido de antemano y seguido en cada paso.

Sin embargo, también se puede modelar datos en grafos usando esquemas para describir una estructura y/o semántica de alto nivel que el grafo sigue o debería seguir. En general se trabaja con alguno de los siguientes tres tipos de esquemas de grafos: esquema semántico, esquema de validación y/o esquema emergente.

Un esquema semántico permite definir el significado de términos de alto nivel (también conocido como vocabulario o terminología) utilizado en el grafo, lo que facilita el razonamiento sobre los grafos utilizando esos términos.

A pesar que la opción de OWA es la más adecuada para datos incompletos, en algunos escenarios es posible que deseemos garantizar que nuestro grafo de datos, o partes específicas del mismo, estén en algún sentido "completos". Por ejemplo, podemos asegurarnos de que todos las representaciones de "eventos" tengan al menos un nombre, un lugar, una fecha de inicio y una fecha de finalización, de modo que las aplicaciones que usan los datos, pueden garantizar que tengan la información mínima requerida. Podemos definir tales restricciones en un esquema de validación y validar el grafo de datos con respecto al esquema resultante, esto sería al estilo de un XML-Schema. Así, mientras que los esquemas semánticos permiten inferir nuevos datos desde los datos existentes en el grafo, un esquema de validación permite validar que los datos existentes en el grafo son los requeridos. Una forma estándar de definir un esquema de validación para grafos es usando shapes [5].

Tanto los esquemas semánticos como los de validación requieren que un experto en el dominio explique y especifique las definiciones y restricciones que deben cumplir los datos del grafo. Sin embargo, ocurre a veces que un grafo de datos tiene estructuras latentes que se pueden extraer automáticamente como un esquema emergente. Una forma de definir un esquema emergente es el de los quotient graphs, que particionan grupos de nodos en el grafo de datos de acuerdo con alguna relación de equivalencia, conservando algunas propiedades estructurales del grafo.

    En esta unidad nos limitaremos a estudiar el esquema semántico al estudiar RDF. Un buen trabajo sobre los distintos esquemas de grafos es el artículo de Čebirić et. al [6].

  1. El grafo de datos representa fácilmente ciclos: Mientras que otros modelos de datos estructurados como los árboles (XML, JSON, etc.) serían muy similares en flexibilidad, los grafos no requieren organizar los datos jerárquicamente. El grafo permite representar y consultar ciclos entre relaciones de los datos directamente, mientras que en los modelos de datos relacionales es necesario realizar muchas veces varias operaciones de join para trabajar sobre ciclos de datos.

  2. Analíticas de grafos de datos: La analítica es el proceso de descubrir, interpretar y comunicar patrones significativos inherentes a (generalmente grandes) colecciones de datos. La analítica de grafos es entonces la aplicación de procesos de análisis sobre (típicamente grandes) grafos de datos.

Un grafo de datos permite tener analíticas de sus datos aplicando técnicas de la teoría de grafos y del análisis de redes, obteniendo así propiedades interesantes de los datos del grafo como ser: Centralidad (identificar los nodos más importantes -centrales- en el grafo), Detección de Comunidades(detectar sub-grafos en los cuales los nodos están más densamente conectados) y Similaridad de nodos (detectar conjunto de nodos que son similares por los tipos de aristas que conectan con sus vecinos).


¿Base de datos relacional o grafo de datos?

Para decidir si es mejor usar un modelo de datos relacional o un grafo de datos debemos indicar cuál es el objetivo de cada uno de los modelos de datos. Si nuestra apliación necesita las funcionalidades cubiertas por el objetivo del modelo relacional éste será más adecuado, si al contrario, nuestra aplicación está enfocada a resolver objetivos priorizados por el modelo de grafo de datos, entonces un grafo de datos será más adecuado.

Mientras en el modelo de datos relacional el objetivo es priorizar las transacciones ACID (sigla de: Atomicity, Consistency, Isolation and Durability, o Atomicidad, Consistencia, Aislamiento y Durabilidad en español), en los grafos de datos el objetivo es priorizar las propiedades FAIR de los datos.

FAIR se refiere a los términos en inglés de:

Findable, Accessible, Interoperable, Reusable

En 2016, los principios rectores FAIR para la gestión y administración de datos científicos se publicaron en la revista Scientific Data [1], accesible en la sección de materiales complementarios de esta unidad: FAIR-data.pdf y también en el enlace: https://www.nature.com/articles/sdata201618.pdf

En ese artículo los autores proporcionan pautas para mejorar la capacidad de búsqueda, accesibilidad, interoperabilidad y reutilización de recursos digitales. Los principios enfatizan la capacidad de acción de la máquina (es decir, la capacidad de los sistemas computacionales para encontrar, acceder, interoperar y reutilizar datos con ninguna o mínima intervención humana) porque los humanos dependen cada vez más del soporte computacional para manejar los datos como resultado del aumento en el volumen, complejidad y velocidad de creación de datos.En la Figura 3 presentamos el resumen de los principios FAIR.

      Figura 3. Principios FAIR de [1]

Un ejemplo de un modelo de datos estandarizado basado en un grafo de datos dirigido con aristas etiquetadas que utiliza metadatos es RDF (Resource Description Framework). RDF es recomendado por el W3C y también considerado un tipo de grafo de conocimientos, lo estudiaremos en detalle en las próximas secciones.