
Un grafo de propiedades , grafo de propiedades etiquetado o grafo atribuido es un modelo de datos de varias bases de datos orientadas a grafos , [ 1 ] donde pares de entidades están asociadas por relaciones dirigidas, y las entidades y relaciones pueden tener propiedades.
En términos de teoría de grafos , un grafo de propiedades es un multigrafo dirigido , cuyos vértices representan entidades y arcos representan relaciones. Cada arco tiene un identificador, un nodo de origen y un nodo de destino, y puede tener propiedades.
Las propiedades son pares clave-valor donde las claves son cadenas de caracteres y los valores son números o cadenas de caracteres. Son análogas a los atributos en el modelado entidad-atributo-valor y el modelado orientado a objetos . En cambio, en los grafos RDF , el término "propiedades" se utiliza para referirse a los arcos. Por ello, un nombre más claro es grafos con atributos o grafos con propiedades.
Este modelo de datos surgió a principios de la década de 2000.
Definición formal
Basándose en definiciones ampliamente adoptadas, [ 2 ] [ 3 ] un grafo de propiedades/grafo atribuido puede definirse mediante una 7-tupla (N, A, K, V, α,, π), donde
- N es el conjunto de nodos/ vértices del grafo.
- A es el conjunto de arcos ( aristas dirigidas ) del grafo.
- K es un conjunto de claves, tomadas de un conjunto numerable, que define la naturaleza de los atributos/propiedades.
- V es un conjunto de valores que se asociarán con estas claves para definir atributos completos.
- es una función total que define el multigrafo propiamente dicho. Para a ∈ A, u ∈ N, v ∈ N, α (a) = (u, v) significa que a es un arco del grafo cuyo nodo es u como origen y v como destino.
- es una relación binaria sobre (A∪N) y K (definida formalmente como un subconjunto del producto cartesiano (A∪N)×K), que asocia cero, una o varias claves a cada arco y nodo del grafo.
- es una función parcial que proporciona valores para las propiedades de los nodos y los arcos que los incluyen. Para u ∈ N, a ∈ A y k ∈ K, π (u, k) (respectivamente π (a, k)) es el valor asociado con la clave de propiedad k para el nodo u (respectivamente el arco a), si la propiedad de atributo correspondiente está definida allí.
Una construcción complementaria, utilizada en varias implementaciones de grafos de propiedades con bases de datos de grafos comerciales, es la de las etiquetas , que pueden asociarse tanto a nodos como a arcos del grafo. Las etiquetas tienen una justificación práctica más que teórica, ya que originalmente fueron concebidas para usuarios de modelos Entidad-Relación y bases de datos relacionales , para facilitar la importación de sus conjuntos de datos heredados a bases de datos de grafos : las etiquetas permiten asociar el mismo identificador (el de la tabla relacional o de la entidad ER) a todos los nodos del grafo que corresponderían a las diferentes filas de esta tabla relacional, o a instancias de la misma entidad/clase genérica. Con la definición propuesta, estas etiquetas podrían considerarse, de hecho, como atributos definidos solo por una clave, sin un valor asociado (por eso se define por separado como una relación binaria y π como una función parcial). La definición básica se vuelve así mucho más clara y sencilla, y satisface un principio de parsimonia . Alternativamente, y de forma más consistente, las etiquetas pueden definirse mediante grafos de tipos, como tipos especiales asociados a nodos y arcos.
Relaciones con otros modelos
Teoría de grafos y algoritmos clásicos de grafos
Los grafos con atributos son especialmente útiles y relevantes, ya que constituyen un concepto hipernímico "paraguas" (es decir, una generalización) para varios modelos clave de la teoría de grafos , que se han utilizado ampliamente durante mucho tiempo en los algoritmos clásicos de grafos.
- Los grafos etiquetados asocian etiquetas a cada vértice y/o arista del grafo. En los grafos con atributos, estas etiquetas corresponden a atributos que constan únicamente de una clave , extraída de un conjunto numerable (normalmente una cadena de caracteres o un número entero).
- Los grafos coloreados, tal como se utilizan en los problemas clásicos de coloración de grafos , son casos especiales de grafos etiquetados, cuyas etiquetas se definen en un conjunto finito de claves, que se corresponden con colores.
- Los grafos ponderados asocian un valor numérico a los arcos/aristas y, cuando corresponde, a los vértices de un grafo dirigido o no dirigido. Estos pesos corresponden a los valores de un conjunto de atributos con la misma clave . Por ejemplo, para un modelo de red vial, donde cada segmento tiene una longitud y una capacidad (número de vehículos por unidad de tiempo), se puede representar mediante una arista con dos pesos.
- Las redes de flujo son grafos ponderados cuyos pesos se interpretan como capacidades . Se utilizan en todo tipo de modelos clásicos de redes de transporte, por ejemplo, con algoritmos de flujo máximo .
- Los problemas de búsqueda de la ruta más corta , tal como los resuelven algoritmos clásicos (como el algoritmo de Dijkstra ), operan sobre grafos ponderados en los que los pesos corresponden a distancias , reales o virtuales.
Normalización
El modelo de datos NGSI-LD, especificado por ETSI, fue el primer intento de estandarizar los grafos de propiedades bajo un organismo de estándares de jure . En comparación con el modelo básico aquí definido, el metamodelo NGSI-LD añade una definición formal de categorías básicas (entidad, relación, propiedad) basada en estándares web semánticos ( OWL , RDFS , RDF ), lo que permite convertir todos los datos representados en NGSI-LD en conjuntos de datos RDF mediante la serialización JSON-LD . De este modo, las entidades, relaciones y propiedades de NGSI-LD se definen por referencia a tipos que, a su vez, pueden definirse por referencia a ontologías , tesauros , taxonomías o vocabularios de microdatos , con el fin de garantizar la interoperabilidad semántica de la información correspondiente.
El grupo ISO/IEC JTC1/SC32 /WG3 de ISO , que estableció el estándar SQL , especificó un nuevo lenguaje de consulta adecuado para bases de datos orientadas a grafos, llamado GQL (Graph Query Language). Este estándar incluye la especificación de un modelo de datos de grafo de propiedades, que debería seguir las líneas del modelo básico descrito aquí, posiblemente añadiendo nociones de etiquetas, tipos y esquemas . El estándar GQL se basó en trabajos previos de la industria, incluidas contribuciones de proveedores de bases de datos de grafos como Neo4j, cuya base de datos de grafos también ayudó a popularizar los grafos de propiedades. [ 4 ]
Gráficos y esquemas de tipos
Las bases de datos orientadas a grafos, en comparación con las bases de datos relacionales , se caracterizan por no requerir la definición previa de un esquema para comenzar a poblar la base. Esto resulta deseable y adecuado para entornos y aplicaciones donde se opera bajo el supuesto de un mundo abierto , como la descripción de sistemas complejos y sistemas de sistemas , caracterizados por una organización y evolución ascendente, y no por el control de un único interesado. Sin embargo, incluso en tales entornos, puede ser necesario restringir la representación de subconjuntos específicos de la información ingresada en la base de datos, de una manera que se asemeje a un esquema de base de datos tradicional, manteniendo al mismo tiempo la apertura del grafo general para la adición de datos o configuraciones imprevistas. Por ejemplo, la descripción de una ciudad inteligente se enmarca dentro del supuesto de un mundo abierto y se describirá mediante el nivel superior de una base de datos de grafos, sin un esquema. Sin embargo, subsistemas técnicos específicos de esta ciudad siguen siendo sistemas cerrados descendentes gestionados por un único operador, quien puede imponer una estructuración más estricta de la información, representada habitualmente por un esquema.
Las nociones de "grafos de tipos" y esquemas [ 2 ] permiten satisfacer esta necesidad, donde los tipos desempeñan un papel similar al de las etiquetas en las bases de datos de grafos clásicas, pero con la posibilidad añadida de especificar relaciones entre estos tipos y restringirlas mediante claves y propiedades. El grafo de tipos es en sí mismo un grafo de propiedades, vinculado por una relación de homomorfismo de grafos con los grafos de instancias que utilizan los tipos que define, desempeñando un papel similar al de un esquema en un lenguaje de definición de datos .
Las ontologías , tesauros o taxonomías utilizadas para referenciar los tipos NGSI-LD también se definen mediante grafos, pero se trata de grafos RDF en lugar de grafos de propiedades, y suelen tener un alcance más amplio que los esquemas de bases de datos. El uso complementario, posible con los tipos NGSI-LD, de grafos de tipos y la referencia a ontologías externas, permite garantizar una estructuración y coherencia de datos sólidas, a la vez que proporciona fundamento semántico e interoperabilidad .
Referencias
- ↑ Angles, Renzo (1 de abril de 2012). "Una comparación de los modelos actuales de bases de datos de grafos" . Conferencia Internacional sobre Ingeniería de Datos . IEEE.
- 1 2 Bonifati, Angela; Furniss, Peter; Green, Alastair; Harmer, Russ; Oshurko, Eugenia; Voigt, Hannes (2019), "Validación y evolución de esquemas para bases de datos de grafos" , en Laender, Alberto HF; Pernici, Barbara; Lim, Ee-Peng; de Oliveira, José Palazzo M. (eds.), Conceptual Modeling , vol. 11788, Cham: Springer International Publishing, pp. 448–456 , arXiv : 1902.06427 , doi : 10.1007/978-3-030-33223-5_37 , ISBN 978-3-030-33222-8, consultado el 15 de septiembre de 2021
- ↑ Gutiérrez, Claudio; Hidders, enero; Wood, Peter T. (2018), "Graph Data Models" , en Sakr, Sherif; Zomaya, Albert (eds.), Enciclopedia de tecnologías de Big Data , Cham: Springer International Publishing, págs. 1 a 6, doi : 10.1007/978-3-319-63962-8_81-1 , ISBN 978-3-319-63962-8, consultado el 15 de septiembre de 2021
- ↑ "Grafos de conocimiento frente a grafos de propiedades – Parte I" . Dataversity . Consultado el 10 de julio de 2026 .
- bases de datos de grafos
- Extensiones y generalizaciones de grafos