Base de datos de grafos

Una base de datos de gráficos, también conocida como base de datos semántica, es una aplicación de software diseñada para almacenar, consultar y modificar gráficos de red.. Un gráfico de red es una construcción visual que consta de nodos y bordes. Cada nodo representa una entidad (como una persona) y cada borde representa una conexión o relación entre dos nodos. 

Las bases de datos de gráficos han existido con algunas variaciones durante mucho tiempo. Por ejemplo, un árbol genealógico es una base de datos de gráficos muy simple. 

El concepto de usar bases de datos para mapear las relaciones digitalmente comenzó a tener un uso popular en los negocios alrededor de 2015 cuando el aumento de la potencia informática, la computación en memoria y los estándares acordados trasladaron el concepto de los académicos a los usos del mundo real en los negocios y la informática empresarial.

Las bases de datos de gráficos son adecuadas para analizar interconexiones, por lo que ha habido mucho interés en utilizar bases de datos de gráficos para extraer datos de las redes sociales. Las bases de datos gráficas también son útiles para trabajar con datos en disciplinas comerciales que implican relaciones complejas y esquemas dinámicos, como la gestión de la cadena de suministro, la identificación de la fuente de un problema de telefonía IP y la creación de "clientes que compraron esto también vieron ..." motores de recomendación. .

El concepto detrás de graficar una base de datos a menudo se le atribuye al matemático del siglo XVIII Leonhard Euler.

La estructura de una base de datos gráfica

Tradicionalmente clasificadas como un tipo de base de datos NoSQL, las bases de datos de gráficos a veces se denominan almacenes triples. Esto se debe a que este tipo de base de datos utiliza un índice especial que almacena información sobre nodos, bordes y la relación entre ellos en grupos de tres.

Un triple, que también puede denominarse aserción, tiene tres campos principales: un sujeto, un predicado y un objeto. Cada sujeto, predicado u objeto está representado por un identificador de recurso único (URI).

Cómo se indexa la información

En un almacenamiento triple, el primer campo de la base de datos contiene el URI del sujeto, el segundo campo contiene el URI del predicado y el tercer campo contiene un URI del objeto. Si bien hay varias estrategias diferentes que las bases de datos de gráficos pueden usar para almacenar triples, la mayoría usa un índice que abrevia los tres campos primarios a {? S,? P,? O}. 

Por ejemplo, si la construcción visual de un gráfico se da de la siguiente manera:

Nodos y bordes

Entonces el índice se verá así:

 Fila

?s

?p

?o

1

:Beto

:casado con

: Julie

2

:Beto

:hermano de

: Steve

3

:Beto

:escucha a

:La música rock

4

: Julie

:escucha a

:La música rock

5

: Julie

: sisterInLawTo

: Steve

6

: Jim

:trabaja para

: IBM

Cómo se consulta la información en una base de datos de gráficos

Cada triple en una base de datos gráfica solo se almacena una vez en el índice. Al igual que las bases de datos relacionales, es un proceso sencillo realizar una consulta de búsqueda directa en una base de datos de gráficos.

  • Si la consulta es sobre qué información se conoce sobre Bob, la programación del indexador solo necesita buscar las filas 1-3 de la base de datos.

El poder y la velocidad reales de una base de datos gráfica proviene de indexar combinaciones de triples. A continuación se muestran algunos ejemplos:

  • Si la consulta es para saber con quién está casado Bob, el indexador buscará el predicado: marriedTo en las filas 1-3 y luego recuperará el objeto coincidente. (Bob está casado con Julie). 
  • Si la consulta es para identificar a todos los que escuchan el mismo tipo de música que Bob, el indexador primero preguntará {: Bob: listensTo? O} e identificará: RockMusic como el objeto. 

En la segunda consulta, los resultados devolverán: RockMusic en las filas 3 y 4. El sujeto de la fila 3 es el mismo Bob, por lo que quien sea el sujeto de la fila 4 será la otra persona que escuche música rock. (Resulta ser Julie, la esposa de Bob). 

Tipos de bases de datos de gráficos

Históricamente, las bases de datos de gráficos se han dividido en dos categorías: gráficos de propiedades que simplemente admiten nodos y bordes, y gráficos de conocimiento como el anterior que se pueden enfocar en el aspectos semánticos de los datos y almacenar información en triples. En términos generales, las estrategias de indexación para ambos tipos son similares.

Se espera que con el tiempo, los gráficos de conocimiento y los gráficos de propiedades se fusionen y las distinciones arquitectónicas entre estos dos tipos de bases de datos de gráficos se desvanezcan.

Casos de uso para bases de datos de gráficos

Los casos de uso actuales de bases de datos de gráficos incluyen los siguientes:

  • Permita que los analistas de datos federen conjuntos de datos sin tener que crear y ejecutar consultas complejas que unen combinaciones de tablas, como en el modelo de base de datos relacional.
  • Ayude a los desarrolladores a crear el back-end para asistentes de voz mapeando las posibles preguntas de los usuarios con las respuestas correctas. 
  • Identifique grupos de eventos que están conectados de formas inusuales para detectar fraudes.
  • Examine las conexiones directas para identificar posibles conexiones indirectas para motores de recomendación. 

Futuro de las bases de datos de grafos

Se espera que las bases de datos de Graphs desempeñen un papel importante en áreas tan diversas como el aprendizaje automático, el análisis bayesiano, la ciencia de los datos y la inteligencia artificial, además de ayudar a administrar los datos empresariales y el intercambio de datos durante la próxima década.

Uno de los impactos más significativos en este tipo de base de datos serán las mejoras en la federación de datos. Cuando los gráficos de conocimiento se pueden federar fácilmente, una base de datos podrá determinar que necesita datos que no tiene y recuperar automáticamente esos datos de otro gráfico de conocimiento. Con esta capacidad, es probable que la federación ayude a los desarrolladores a crear cadenas de bloques que utilicen metadatos relevantes para autenticar transacciones en banca, finanzas, votación y contratos inteligentes.

Véase también: gráfico social, búsqueda de gráfico