TerminusDB

редактировать
бесплатная графическая база данных с открытым исходным кодом
TerminusDB
TerminusDB.png
Разработчик (и) 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 в качестве облегченного, независимого от языка формата обмена данными.

Содержание
  • 1 История
    • 1.1 DataChemist
    • 1.2 ALIGNED Project
    • 1.3 Seshat
    • 1.4 Открытый исходный код
  • 2 Название
  • 3 Основные возможности
    • 3.1 Язык запросов
      • 3.1.1 Пример
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
История

DataChemist

TerminusDB, ранее известная как DataChemist, была основана в Дублине, Ирландия. Он был запущен ирландцем Tánaiste Саймоном Ковени в августе 2018 года. TerminusDB открыл центр исследований и разработок в Утрехте, Нидерланды. в 2019 году.

Проект ALIGNED

Начиная с Trinity College Dublin, команда разработчиков TerminusDB запустила проект Horizon 2020 ALIGNED, который работал с февраля 2015 года по январь 2018 года. Электронная книга open-access под названием Engineering Agile Big-Data Systems была опубликована по завершении проекта ALIGNED

Seshat

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, которое обеспечивает следующие возможности управления схемой:

  1. Классы и подклассы для моделирования таксономий и иерархий наследования со специальными классами для моделирования сложных отношений и сущностей
  2. Типизированные свойства для моделирования атрибутов вещей
  3. Типы данных для моделирования различных типов данных
  4. Области видимости для моделирования вещей, которые меняются со временем, пространством и достоверностью
  5. Ограничения для применения логика и правила для вещей

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 "]}]}]}]}]}
См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • значок Портал компьютерного программирования
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-10 14:05:28
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте