Разработчик (и) | TerminusDB |
---|---|
Первоначальный выпуск | 2019; 1 год назад (2019) |
Стабильный выпуск | 2.0.5 / 6 января 2020 г.; 9 месяцев назад (2020-01-06) |
Написано на | Rust, Prolog |
Тип | База данных Graph |
Лицензия | |
Веб-сайт | terminusdb.com |
TerminusDB - это open-source model-driv ru база данных графов, в которой хранятся данные типа Git. Он разработан для представления графа знаний и представляет собой родную базу данных контроля версий. Вторичные модели базы данных TerminusDB перечислены как хранилище документов и хранилище RDF на DB-Engines
TerminusDB доступен по лицензии GPLv3. Команда разработчиков заявляет, что это будет «открытый исходный код отныне и навсегда».
TerminusDB реализован в Prolog и Rust и доступен из программного обеспечения, написанного на других языках с использованием через транзакционную конечную точку HTTP. TerminusDB использует JSON-LD в качестве облегченного, независимого от языка формата обмена данными.
TerminusDB, ранее известная как DataChemist, была основана в Дублине, Ирландия. Он был запущен ирландцем Tánaiste Саймоном Ковени в августе 2018 года. TerminusDB открыл центр исследований и разработок в Утрехте, Нидерланды. в 2019 году.
Начиная с Trinity College Dublin, команда разработчиков TerminusDB запустила проект Horizon 2020 ALIGNED, который работал с февраля 2015 года по январь 2018 года. Электронная книга open-access под названием Engineering Agile Big-Data Systems была опубликована по завершении проекта ALIGNED
Seshat - это международный научно-исследовательский проект некоммерческой организации Evolution Institute, который использует TerminusDB в качестве инфраструктуры данных. Сешат работает с командой разработчиков начиная с проекта ALIGNED. Эта работа была опубликована в нескольких крупных газетах. TerminusDB также является базой данных связанных проектов Института экономики и мира и Оксфордского университета Индекс исторического мира.
Результаты некоторых аспектов Результаты этого исследования, посвященного взаимоотношениям между сложными обществами и богами-морализаторами, были опубликованы в Nature, престижном научном журнале. Кевин Фини, один из основателей TerminusDB, является автором статьи и входит в Совет директоров Seshat.
Была выпущена версия 1.0 в октябре 2019 года. TerminusDB выпускается под лицензией GPLv3, а клиентские библиотеки выпускаются с лицензией Apache 2. TerminusDB 1.1 с недавно интегрированным terminus-store был выпущен в январе 2020 года. Версия 2.0 базы данных была выпущена в июне 2020 года.
TerminusDB названо в честь Roman Бог Границ, Терминус. Он также назван в честь родной планеты Фонда из серии научно-фантастических романов Иссака Азимова. TerminusDB использует логотип CowDuck - мотив берет свое начало в примерах, использованных основным инженером при первой демонстрации только добавления неизменяемое хранилище данных
TerminusDB - это полнофункциональная система управления базами данных в оперативной памяти с богатым языком запросов. Дизайн базовой структуры данных , которая реализована в библиотеке Rust , использует сжатые структуры данных и кодирование дельты. Вдохновение из программных систем управления версиями, таких как Git. Это позволяет использовать всю семантику Git в TerminusDB.
Инфраструктура TerminusDB основана на стандарте RDF. Этот стандарт определяет конечные помеченные ориентированные графы, которые являются параметрическими в некоторой совокупности типов данных. Имена узлов и меток взяты из набора IRI (интернационализированных идентификаторов ресурсов ). TerminusDB использует типы данных XSD в качестве своей совокупности конкретных значений. Для дизайна схемы TerminusDB использует язык OWL с двумя модификациями, чтобы сделать его подходящим в качестве языка схемы; он отказывается от интерпретации открытого мира и настаивает на предположении уникального имени. Это предоставляет богатый язык моделирования, который включает ограничения на допустимые формы на графике. TerminusDB поддерживает подмножество OWL, которое обеспечивает следующие возможности управления схемой:
TerminusDB имеет основанный на обещаниях клиент для браузера и node.js, он доступен через npm реестр, или может быть напрямую включен в веб-сайты. Он также имеет клиент Python для TerminusDB RESTful API и питоническую версию языка запросов веб-объектов, WOQLpy.
WOQL (язык запросов веб-объектов) - это язык запросов на основе журнала данных. Это позволяет TerminusDB обрабатывать базу данных как хранилище документов или как график, а также предоставляет функции запросов, упрощающие обход отношений. Основной синтаксис и формат обмена WOQL находятся в JSON-LD. Это дает нам относительно простой для восприятия человеком формат, который также можно легко сохранить в самом TerminusDB.
Здесь демонстрируется простой запрос, который позволяет получить все документы в базе данных, а также их метки и типы.
{"@context": {"@import": "https: //terminusdb/contexts/woql/syntax/context.jsonld", "@propagate": true, "db": "http: // localhost: 6363 / testDB004 /"}, "from": ["db : main ", {" select ": [" v: Object "," v: Class "," v: Class_Label "," v: Label "," v: Type ", {" and ": [{" triple " : ["v: Object", "rdf: type", "v: Class"]}, {"sub": ["v: Class", "dcog: Entity"]}, {"eq": ["v : Type ", {" @value ":" Entity "," @type ":" xsd: string "}]}, {" quad ": [" v: Class "," rdfs: label "," v: Class_Label "," db: schema "]}, {" opt ": [{" triple ": [" v: Object "," rdfs: label "," v: Label "]}]}]}]}]}