TerminusDB es una base de datos de gráficos de código abierto . Está diseñado para crear y curar gráficos de conocimiento de forma colaborativa . Es una base de datos de control de revisiones nativa que es arquitectónicamente similar a Git y otros sistemas de control de versiones distribuidos . TerminusDB's también es un almacén de documentos y un almacén RDF (como aparece en DB-Engines [3] ).
Desarrollador (es) | TerminusDB |
---|---|
Versión inicial | 2019 |
Lanzamiento estable | 4.0 / 4 de diciembre de 2020 [1] |
Repositorio | |
Escrito en | Óxido , prólogo [2] |
Tipo | Base de datos de gráficos |
Licencia | |
Sitio web | terminusdb |
La colaboración de datos se facilita a través de TerminusHub, que es un SaaS freemium que permite a los usuarios administrar el acceso a las bases de datos y trabajar de forma colaborativa en recursos compartidos.
TerminusDB está disponible bajo la licencia permisiva de Apache 2.0 . [4] El equipo de desarrollo afirma que será de "código abierto ahora y siempre". [5] TerminusDB está implementado en Prolog y Rust y se puede acceder a él mediante un punto final HTTP transaccional. TerminusDB usa JSON-LD como un formato de intercambio de datos ligero e independiente del idioma .
Historia
DataChemist
TerminusDB, anteriormente conocida como DataChemist, [6] [7] [8] fue fundada en Dublín , Irlanda . Fue lanzado por el irlandés Tánaiste Simon Coveney en agosto de 2018. [9] TerminusDB abrió un centro de investigación y desarrollo en Utrecht , Países Bajos en 2019. [10]
Proyecto ALINEADO
Comenzando en Trinity College Dublin , [11] el equipo de desarrollo detrás de TerminusDB ejecutó el proyecto Horizon 2020 ALIGNED que funcionó desde febrero de 2015 hasta enero de 2018. [12] [13] [14] Un libro electrónico de acceso abierto titulado Engineering Agile Big- Data Systems se publicó una vez finalizado el proyecto ALIGNED [15].
Seshat
Seshat es un proyecto de investigación científica internacional de la organización sin fines de lucro Evolution Institute que utiliza TerminusDB como infraestructura de datos. [16] Seshat ha estado trabajando con el equipo de desarrollo desde el proyecto ALIGNED en adelante. [17] Este trabajo se ha publicado en varios periódicos importantes. [18] [19] TerminusDB es también la base de datos detrás del proyecto asociado del índice de paz histórico del Instituto para la Economía y la Paz y la Universidad de Oxford . [20]
Los resultados de algunos aspectos de esta investigación, centrados en la relación entre sociedades complejas y dioses moralizadores, aparecieron en Nature , [21] la prestigiosa revista científica . Kevin Feeney, uno de los fundadores de TerminusDB, es uno de los autores del artículo y es miembro de la junta directiva de Seshat. [22]
Fuente abierta
La versión 1.0 se lanzó en octubre de 2019. [23] TerminusDB se lanzó por primera vez bajo la licencia GPLv3 con las bibliotecas cliente con la licencia Apache 2 . TerminusDB 1.1, con la nueva terminal-store integrada, se lanzó en enero de 2020. [24] La versión 2.0 de la base de datos se lanzó en junio de 2020 [25] y la 3.0 se lanzó en julio de 2020. [26] La versión 4.0 se lanzó en diciembre 2020 [27] bajo la licencia Apache 2.0. El cambio se discutió ampliamente. [28]
Nombre
TerminusDB lleva el nombre del dios romano de los límites, Terminus . También lleva el nombre del planeta natal de la Fundación en la serie de novelas de ciencia ficción de Issac Asimov . [29] TerminusDB usa una mascota CowDuck - el motivo encuentra sus orígenes en los ejemplos usados por el ingeniero principal Matthijs van Otterdijk cuando demostró por primera vez el almacén de datos inmutable adjunto [30]
Principales características
TerminusDB es un sistema de gestión de base de datos de gráficos en memoria con todas las funciones con un lenguaje de consulta enriquecido. El diseño de la estructura de datos subyacente , que se implementa en una biblioteca de Rust , utiliza estructuras de datos sucintas y un enfoque de codificación delta que se inspira en los sistemas de control de fuentes de software como Git . [31] Esto permite utilizar toda la semántica de Git en TerminusDB.
La infraestructura de TerminusDB se basa en el estándar RDF . Este estándar especifica gráficos dirigidos etiquetados finitos que son paramétricos en algún universo de tipos de datos . Los nombres de los nodos y las etiquetas se extraen de un conjunto de IRI ( identificadores de recursos internacionalizados ). TerminusDB usa los tipos de datos XSD como su universo de valores concretos. Para el diseño de esquemas , TerminusDB usa el lenguaje OWL con dos modificaciones para hacerlo adecuado como lenguaje de esquema; prescinde de la interpretación del mundo abierto e insiste en la suposición del nombre único . [32] Esto proporciona un lenguaje de modelado rico que habilita restricciones en las formas permitidas en el gráfico. TerminusDB admite un subconjunto de OWL que proporciona las siguientes funciones de control esquemático:
- Clases y subclases para modelar taxonomías y jerarquías de herencia, con clases especiales para modelar entidades y relaciones complejas
- Propiedades escritas para modelar los atributos de las cosas
- Tipos de datos para modelar los diferentes tipos de datos
- Scopings para modelar cosas que cambian con el tiempo, el espacio y la confianza.
- Restricciones para aplicar la lógica y las reglas a las cosas [33]
TerminusDB tiene un cliente basado en promesas para el navegador y node.js , está disponible a través del registro npm o puede incluirse directamente en sitios web. [34] También tiene un cliente Python para TerminusDB RESTful API y la versión pitónica del lenguaje de consulta de objetos web, WOQLpy. [35]
Lenguaje de consulta
WOQL (lenguaje de consulta de objetos web) es un lenguaje de consulta basado en registros de datos. Permite a TerminusDB tratar la base de datos como un almacén de documentos o un gráfico indistintamente, y proporciona funciones de consulta para facilitar el recorrido de las relaciones. La sintaxis principal y el formato de intercambio de WOQL está en JSON-LD. Esto proporciona un formato legible por humanos relativamente sencillo que se puede almacenar fácilmente en TerminusDB.
Ejemplo
Esto demuestra una consulta simple que crea un documento en la base de datos, junto con etiquetas y restricciones de cardinalidad . [36]
WOQL.doctype ("BankAccount"). Label ("Cuenta bancaria") .property ("propietario", "xsd: string") .label ("propietario") .cardinalidad (1) .property ("saldo", "xsd: nonNegativeInteger") .label ("propietario") .cardinalidad (1)
Ver también
- Base de datos de gráficos
Referencias
- ^ "RELEASE_NOTES" .
- ^ "Repositorio TerminusDB" .
- ^ "Propiedades del sistema TerminusDB" . db-engines.com . Consultado el 9 de diciembre de 2020 .
- ^ "Nos encanta GPLv3, pero estamos cambiando la licencia a Apache 2.0: TerminusDB" . Blog de Graph Database - Noticias y tutoriales de TerminusDB . Consultado el 9 de diciembre de 2020 .
- ^ Feeney, Luke (7 de octubre de 2019). "Hoy lanzamos TerminusDB - la base de datos para la gente de datos" . Medio . Consultado el 9 de diciembre de 2020 .
- ^ "DataChemist quiere dar sentido a la inteligencia del panorama general de los análisis de datos 'carrera armamentista ' " . Fora.ie . Consultado el 6 de mayo de 2020 .
- ^ "Startup Scout: empresas a seguir en 2020" . Fora.ie . Consultado el 6 de mayo de 2020 .
- ^ "Innovadores | Cómo lograr la paz en el mundo con ayuda del big data" . Innovadores (en español) . Consultado el 6 de mayo de 2020 .
- ^ "Si los datos son el nuevo petróleo, DataChemist es la refinería" . 2018-08-27. Cite journal requiere
|journal=
( ayuda ) - ^ Earley, Kelly (20 de noviembre de 2019). "DataChemist de Dublín anuncia expansión en los Países Bajos" . Silicon Republic . Consultado el 6 de mayo de 2020 .
- ^ "Mostrar HN: TerminusDB - Una base de datos de gráficos en memoria de código abierto | Noticias de hackers" . news.ycombinator.com . Consultado el 6 de mayo de 2020 .
- ^ "Resultados de la investigación de CORDIS EU" .
- ^ "Proyecto ID: 644055; Ingeniería de datos y software alineado, centrado en la calidad" .
- ^ "Sitio web del proyecto ALIGNED" .
- ^ Feeney, Kevin; Davies, Jim; Welch, James; Hellmann, Sebastián; Dirschl, Christian; Koller, Andreas; Francois, Pieter; Marciniak, Arkadiusz (30 de octubre de 2018). Ingeniería de sistemas ágiles de Big Data . River Publishers. ISBN 978-87-7022-016-3.
- ^ "Quiénes somos" . Seshat: Banco de datos de historia global . Consultado el 6 de mayo de 2020 .
- ^ Kevin, Feeney; Jim, Davies; Sebastián, Hellmann (5 de noviembre de 2018). Ingeniería de sistemas ágiles de Big Data . River Publishers. ISBN 978-87-7022-016-3.
- ^ Jueves; 21 de diciembre; Am, 2017-11: 20 (2017-12-21). "Datos de Trinidad detrás de una nueva investigación que sugiere un camino común gobernado por la evolución de las sociedades" . www.irishexaminer.com . Consultado el 6 de diciembre de 2019 .CS1 maint: nombres numéricos: lista de autores ( enlace )
- ^ Ahlstrom, Dick. "Trinity Big Data Investigadores para liderar el esfuerzo de control de calidad de 4 millones de euros" . The Irish Times . Consultado el 6 de diciembre de 2019 .
- ^ Gleeson, Colin. "Start-up de Dublín elegida para trabajar en la iniciativa de paz global" . The Irish Times . Consultado el 6 de diciembre de 2019 .
- ^ Whitehouse, Harvey; François, Pieter; Salvaje, Patrick E .; Currie, Thomas E .; Feeney, Kevin C .; Cioni, Enrico; Purcell, Rosalind; Ross, Robert M .; Larson, Jennifer; Baines, John; ter Haar, Barend (20 de marzo de 2019). "Las sociedades complejas preceden a los dioses moralizadores a lo largo de la historia del mundo" . Naturaleza . 568 (7751): 226–229. Bibcode : 2019Natur.568..226W . doi : 10.1038 / s41586-019-1043-4 . hdl : 10871/36936 . ISSN 0028-0836 . PMID 30894750 . S2CID 84186554 .
- ^ "Quiénes somos" . Consultado el 22 de julio de 2020 .
- ^ Feeney, Luke (7 de octubre de 2019). "Hoy lanzamos TerminusDB - la base de datos para la gente de datos" . Medio . Consultado el 6 de diciembre de 2019 .
- ^ Feeney, Luke (28 de enero de 2020). "TerminusDB 1.1 - La gran Babushka" . Medio . Consultado el 6 de mayo de 2020 .
- ^ "Versión Alfa de TerminusDB 2.0" . TerminusDB . 2020-06-04 . Consultado el 22 de julio de 2020 .
- ^ "NOTAS DE LA PUBLICACIÓN" . 2020-11-22.
- ^ "terminusdb / terminusdb" . GitHub . Consultado el 9 de diciembre de 2020 .
- ^ "Nos encanta GPLv3, pero estamos cambiando la licencia a Apache 2.0 | Hacker News" . news.ycombinator.com . Consultado el 9 de diciembre de 2020 .
- ^ Feeney, Luke (1 de octubre de 2019). "TerminusDB - ¿Qué hay en un nombre?" . Medio . Consultado el 6 de diciembre de 2019 .
- ^ terminusdb / terminus-store , TerminusDB, 2020-05-06 , consultado 2020-05-06
- ^ "Estructuras de datos sucintas y codificación delta para bases de datos modernas" (PDF) .
- ^ Brennan, Rob (2018). "Esquemas de datos vinculados: arreglando bases poco sólidas" . Web semántica . 9 (1): 53–75 - vía DORAS.
- ^ "Documentación TerminusDB - la base de datos para la gente de datos" . terminusdb.com . Consultado el 6 de mayo de 2020 .
- ^ terminusdb / terminus-client , TerminusDB, 2020-04-29 , consultado 2020-05-06
- ^ terminusdb / terminus-client-python , TerminusDB, 2020-05-06 , consultado 2020-05-06
- ^ "Llevando TerminusDB al Banco (Parte I)" . Blog de Graph Database - Noticias y tutoriales de TerminusDB . Consultado el 9 de diciembre de 2020 .
enlaces externos
- Página web oficial