Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

TerminusDB - это графическая база данных с открытым исходным кодом . Он предназначен для совместного построения и редактирования графов знаний . Это собственная база данных контроля версий , архитектурно похожая на Git и другие распределенные системы контроля версий. TerminusDB является также магазин документ и RDF - магазин (как указано на DB-системах [3] ).

Совместная работа с данными упрощается с помощью TerminusHub, который представляет собой бесплатную версию SaaS, которая позволяет пользователям управлять доступом к базам данных и совместно работать над общими ресурсами.

TerminusDB доступен под разрешающей лицензией Apache 2.0 . [4] Команда разработчиков утверждает, что это будет «открытый исходный код отныне и навсегда». [5] TerminusDB реализован на Prolog и Rust и доступен через транзакционную конечную точку HTTP. TerminusDB использует JSON-LD как легкий, не зависящий от языка формат обмена данными .

История [ править ]

DataChemist [ править ]

TerminusDB, ранее известный как DataChemist, [6] [7] [8] был основан в Дублине , Ирландия . Его запустил ирландец Танайст Саймон Ковени в августе 2018 года. [9] TerminusDB открыл центр исследований и разработок в Утрехте , Нидерланды, в 2019 году. [10]

ВЫРАВНЕН проект [ править ]

Начиная с Тринити - колледжа в Дублине , [11] команда разработчиков за TerminusDB побежал Horizon 2020 проект ОТЦЕНТРИРОВАН , который работал с февраля 2015 года по январь 2018. [12] [13] [14] с открытым доступом электронная книга под названием Engineering Agile big- Data Systems была опубликована по завершении проекта ALIGNED [15]

Сешат [ править ]

Seshat - это международный научно-исследовательский проект некоммерческого института эволюции, который использует TerminusDB в качестве инфраструктуры данных. [16] Сешат работал с командой разработчиков, начиная с проекта ALIGNED. [17] Эта работа была опубликована в нескольких крупных газетах. [18] [19] TerminusDB также является базой данных ассоциированного Института экономики и мира и проекта индекса исторического мира Оксфордского университета . [20]

Результаты некоторых аспектов этого исследования, ориентированные на отношения между сложными обществами и нравоучительных богами, появились в природе , [21] престижный научный журнал . Кевин Фини, один из основателей TerminusDB, является автором статьи и входит в совет директоров Seshat. [22]

Открытый исходный код [ править ]

Версия 1.0 была выпущена в октябре 2019 года. [23] TerminusDB впервые был выпущен под лицензией GPLv3, а клиентские библиотеки выпущены с лицензией Apache 2 . TerminusDB 1.1 с недавно интегрированным terminus-store был выпущен в январе 2020 года. [24] Версия 2.0 базы данных была выпущена в июне 2020 года [25], а 3.0 была выпущена в июле 2020 года. [26] Версия 4.0 была выпущена в декабре. 2020 [27] под лицензией Apache 2.0. Сдвиг широко обсуждался. [28]

Имя [ редактировать ]

TerminusDB назван в честь римского бога границ Терминус . Он также назван в честь родной планеты из Фонда в серии научно-фантастического романа Азимов . [29] TerminusDB использует талисман CowDuck - мотив берет свое начало в примерах, которые использовал главный инженер Маттейс ван Оттердейк при первой демонстрации неизменяемого хранилища данных только с добавлением [30]

Основные особенности [ править ]

TerminusDB - это полнофункциональная система управления базами данных с графами в памяти с богатым языком запросов. При проектировании базовой структуры данных , которая реализована в библиотеке Rust , используются сжатые структуры данных и подход дельта-кодирования, вдохновленный системами управления версиями программного обеспечения , такими как Git . [31] Это позволяет использовать всю семантику Git в TerminusDB.

Инфраструктура TerminusDB основана на стандарте RDF . Этот стандарт определяет конечные помеченные ориентированные графы, которые являются параметрическими в некоторой совокупности типов данных . Имена узлов и меток взяты из набора IRI ( интернационализированных идентификаторов ресурсов ). TerminusDB использует типы данных XSD как набор конкретных значений. Для проектирования схемы TerminusDB использует язык OWL с двумя модификациями, чтобы сделать его подходящим в качестве языка схемы; он отказывается от интерпретации открытого мира и настаивает на предположении об уникальном имени . [32]Это обеспечивает богатый язык моделирования, который позволяет ограничивать допустимые формы на графике. TerminusDB поддерживает подмножество OWL, которое обеспечивает следующие функции управления схемой:

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

TerminusDB имеет основанный на обещаниях клиент для браузера, а node.js доступен через реестр npm или может быть напрямую включен в веб-сайты. [34] Он также имеет клиент Python для TerminusDB RESTful API и питоническую версию языка запросов веб-объектов, WOQLpy. [35]

Язык запроса [ править ]

WOQL (язык запросов веб-объектов) - это язык запросов на основе журнала данных . Это позволяет TerminusDB рассматривать базу данных как хранилище документов или как график, а также предоставляет функции запросов, упрощающие обход отношений. Основной синтаксис и формат обмена WOQL - JSON-LD. Это дает относительно простой для восприятия человеком формат, который можно легко сохранить в самом TerminusDB.

Пример [ править ]

Это демонстрирует простой запрос, который создает документ в базе данных вместе с метками и ограничениями количества элементов . [36]

WOQL.doc t ype ( "BankAccount" ) .label ( "Банковский счет" )  .proper t y ( "owner" , "xsd: string" )  .label ( "owner" )  .cardi nal i t y ( 1 )  . собственное t y ( "баланс" , "xsd: nonNegativeInteger" )  .label ( "владелец" )  .cardi nal i t y ( 1 )

См. Также [ править ]

  • База данных графиков

Ссылки [ править ]

  1. ^ "RELEASE_NOTES" .
  2. ^ "Репозиторий TerminusDB" .
  3. ^ "Свойства системы TerminusDB" . db-engines.com . Проверено 9 декабря 2020 .
  4. ^ «Мы любим GPLv3, но переключаем лицензию на Apache 2.0: TerminusDB» . Блог о базе данных Graph - Новости и учебные материалы от TerminusDB . Проверено 9 декабря 2020 .
  5. ^ Фини, Люк (2019-10-07). «Сегодня мы выпускаем TerminusDB - базу данных для людей с данными» . Средний . Проверено 9 декабря 2020 .
  6. ^ «DataChemist хочет сделать чувство большой картины разведки в аналитических данных„гонка вооружений » . Fora.ie . Проверено 6 мая 2020 .
  7. ^ «Startup Scout: компании, за которыми стоит следить в 2020 году» . Fora.ie . Проверено 6 мая 2020 .
  8. ^ "Innovadores | Cómo lograr la paz en el mundo con ayuda del big data" . Innovadores (на испанском языке) . Проверено 6 мая 2020 .
  9. ^ «Если данные - это новая нефть, DataChemist - это нефтеперерабатывающий завод» . 2018-08-27. Цитировать журнал требует |journal=( помощь )
  10. ^ Эрли, Келли (2019-11-20). «Дублинская DataChemist объявляет о расширении своей деятельности в Нидерландах» . Кремниевая Республика . Проверено 6 мая 2020 .
  11. ^ "Показать HN: TerminusDB - База данных графов в памяти с открытым исходным кодом | Hacker News" . news.ycombinator.com . Проверено 6 мая 2020 .
  12. ^ «Результаты исследований CORDIS EU» .
  13. ^ «Идентификатор проекта: 644055; Согласованное, ориентированное на качество программное обеспечение и разработка данных» .
  14. ^ "ВЫРАВНИВАЕМЫЙ Сайт проекта" .
  15. ^ Фини, Кевин; Дэвис, Джим; Уэлч, Джеймс; Хеллманн, Себастьян; Диршль, Кристиан; Коллер, Андреас; Франсуа, Питер; Марчиняк, Аркадиуш (30.10.2018). Разработка гибких систем больших данных . River Publishers. ISBN 978-87-7022-016-3.
  16. ^ "Кто мы" . Сешат: Глобальный исторический банк данных . Проверено 6 мая 2020 .
  17. ^ Кевин, Фини; Джим, Дэвис; Себастьян, Хеллманн (2018-11-05). Разработка гибких систем больших данных . River Publishers. ISBN 978-87-7022-016-3.
  18. ^ Четверг; 21 декабря; Am, 2017-11: 20 (2017-12-21). «Данные троицы, лежащие в основе нового исследования, которое предлагает общий путь, управляющий эволюцией обществ» . www.irishexaminer.com . Проверено 6 декабря 2019 .CS1 maint: numeric names: authors list (link)
  19. ^ Альстрем, Дик. «Исследователи больших данных Trinity возглавят усилия по контролю качества за 4 миллиона евро» . The Irish Times . Проверено 6 декабря 2019 .
  20. ^ Глисон, Колин. «Дублинский стартап выбран для работы над глобальной мирной инициативой» . The Irish Times . Проверено 6 декабря 2019 .
  21. ^ Белый дом, Харви; Франсуа, Питер; Сэвидж, Патрик Э .; Карри, Томас Э .; Фини, Кевин С.; Чиони, Энрико; Перселл, Розалинд; Росс, Роберт М .; Ларсон, Дженнифер; Бейнс, Джон; Тер Хаар, Баренд (20.03.2019). «Сложные общества предшествуют морализирующим богам на протяжении всей мировой истории» . Природа . 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 .   
  22. ^ "Кто мы" . Проверено 22 июля 2020 .
  23. ^ Фини, Люк (2019-10-07). «Сегодня мы выпускаем TerminusDB - базу данных для людей с данными» . Средний . Проверено 6 декабря 2019 .
  24. ^ Фини, Люк (2020-01-28). «TerminusDB 1.1 - Большая бабушка» . Средний . Проверено 6 мая 2020 .
  25. ^ "Альфа-релиз TerminusDB 2.0" . TerminusDB . 2020-06-04 . Проверено 22 июля 2020 .
  26. ^ «ЗАМЕТКИ О ВЫПУСКЕ» . 2020-11-22.
  27. ^ "terminusdb / terminusdb" . GitHub . Проверено 9 декабря 2020 .
  28. ^ «Мы любим GPLv3, но переключаем лицензию на Apache 2.0 | Hacker News» . news.ycombinator.com . Проверено 9 декабря 2020 .
  29. ^ Фини, Люк (2019-10-01). "TerminusDB - что в имени?" . Средний . Проверено 6 декабря 2019 .
  30. ^ terminusdb / terminus-store , TerminusDB, 06.05.2020 , получено 06.05.2020
  31. ^ «Краткие структуры данных и дельта-кодирование для современных баз данных» (PDF) .
  32. ^ Бреннан, Роб (2018). «Связанные схемы данных: исправление ненадежных оснований» . Семантическая сеть . 9 (1): 53–75 - через DORAS.
  33. ^ «Документация TerminusDB - база данных для людей с данными» . terminusdb.com . Проверено 6 мая 2020 .
  34. ^ terminusdb / terminus-client , TerminusDB, 2020-04-29 , получено 2020-05-06
  35. ^ terminusdb / terminus-client-python , TerminusDB, 2020-05-06 , получено 2020-05-06
  36. ^ «Взятие TerminusDB в Банк (Часть I)» . Блог о базе данных Graph - Новости и учебные материалы от TerminusDB . Проверено 9 декабря 2020 .

Внешние ссылки [ править ]

  • Официальный сайт