Графова база даних — це база даних, яка використовує структури графів для семантичних запитів з вершинами, ребрами та властивостями для представлення та зберігання даних. Ключовим поняттям системи є «граф» (або «ребро» або «відносини»), який безпосередньо пов'язує елементи даних у сховищі. Відносини дозволяють безпосередньо об'єднувати дані у сховищі, а в багатьох випадках, вибрати однією операцією.
Це відрізняється від реляційних баз даних, які за допомогою реляційних систем управління дозволяють керувати даними без накладання аспектів реалізації; наприклад, зв'язки між даними зберігаються в самій базі даних на логічному рівні, і операції реляційної алгебри (наприклад, join можуть використовуватися для маніпулювання та повернення відповідних даних у відповідний логічний формат. Виконання реляційних запитів можливе за допомогою систем управління базами даних на фізичному рівні (наприклад, за допомогою індексів), що дозволяє підвищити продуктивність без зміни логічної структури бази даних.
Графові бази даних аналогічні базам даних мережевої моделі 1970-х років, в обох представлені загальні графи, але бази даних мережевих моделей працюють на нижчому рівні абстракції та їм бракує легкого проходу через ланцюг ребер.
Основний механізм зберігання графових баз даних може бути різним. Деякі з них залежать від реляційного двигуна та «зберігають» дані графу у таблицях (хоча таблиця є логічним елементом, цей підхід передбачає інший рівень абстракції між графовою базою даних, системою управління бази даних та фізичними пристроями, де фактично зберігаються дані). Інші використовують тип сховища ключ-значення або документо-орієнтований тип для зберігання, що робить їх по суті NoSQL структурами. Більшість графових баз даних, заснованих на не реляційних двигунах зберігання, додають поняття теги або властивості, які, по суті, мають зв'язки з покажчиком на інший документ. Це дозволяє класифікувати елементи даних для легкого пошуку «в масовому порядку».
Отримання даних з графової бази даних вимагає мови запитів, відмінної від SQL, яка була розроблена для маніпулювання даними в реляційній системі і тому не може «елегантно» обробляти граф. Станом на 2017 жодна мова запитів не була загальноприйнятою таким же чином, як SQL для реляційних баз даних. Найпоширенішими мовами запитів є , SPARQL та .
Опис
Графові бази даних базуються на теорії графів і використовують вершини, ребра та властивості.
- Вершини або вузли представляють такі об'єкти, як люди, підприємства, облікові записи або будь-який інший об'єкт, який слід відслідковувати. Вони приблизно еквівалентні «запису», «відношенню» або «рядку» в реляційній базі даних або «документу» в документо-орієнтованій базі даних.
- Ребра, також називаються графи або відносини, це лінії, що з'єднують вузли до інших вузлів; вони представляють відносини між ними. Змістовні моделі виникають при розгляді зв'язків і взаємозв'язків вузлів, властивостей і ребер. Ребра є ключовими поняттями в графовій базі даних, що представляють собою абстракцію, яка безпосередньо не реалізована в інших системах.
- Властивості це рідна інформація, яка стосується вузлів. Наприклад, якщо Вікіпедія була б одним із вузлів, вона могла б бути прив'язана до таких властивостей, як вебсайт, довідковий матеріал або слово, яке починається з букви «в», залежно на яких аспектах «Вікіпедія» знаходиться в певній базі даних.
Реляційна модель збирає дані разом, використовуючи інформацію в даних. Наприклад, можна шукати всіх «користувачів», чий номер телефону містить код міста «311». Це буде зроблено шляхом пошуку обраних даних, або таблиць, дивлячись у вибрані поля номера телефону для рядка «311». Це може бути тривалим процесом у великих таблицях, тому реляційні бази даних пропонують концепцію «індекс таблиці бази даних», що дозволяє зберігати дані, як ці, у меншій субтаблиці, що містить лише вибрані дані та унікальний ключ (або «первинний ключ») запису, в якій вона є частиною. Якщо номери телефонів індексуються, той же пошук буде відбуватися в меншій таблиці з індексом, збирати ключі відповідних записів, а потім переглядати основну таблицю даних для записів за допомогою цих ключів. Як правило, таблиці фізично зберігаються так, що пошук цих ключів відбувається швидко.
Реляційні бази даних не містять ідеї фіксованих зв'язків між записами. Натомість дані зв'язуються один з одним, зберігаючи унікальний ключ одного запису в даних іншого запису. Наприклад, таблиця, що містить адреси електронної пошти для користувачів, може мати елемент даних, який називається userpk
, який містить основний ключ запису користувача, до якого він пов'язаний. Для того, щоб пов'язати користувачів та їх електронні адреси, система спочатку шукає вибрані користувацькі записи з основними ключами, шукає ці ключі в стовпці userpk
у таблиці електронної пошти (або, швидше за все, їх індекс), витягує дані електронної пошти, а потім зв'язує записи користувача та електронної пошти, щоб створити складові записи, що містять усі обрані дані. Ця операція, яка називається join, може бути обчислена за витратами. Залежно від складності запиту, кількості об'єднань та індексації різних клавіш, система, можливо, повинна буде шукати через кілька таблиць та індексів, збирати багато інформації, а потім сортувати все, щоб вони збігалися.
На відміну від реляційних баз, графові бази даних безпосередньо зберігають відносини між записами. Замість того, щоб знайти адресу електронної пошти, переглянувши ключ користувача в стовпці userpk
, користувацький запис має покажчик безпосередньо до адреси електронної пошти. Тобто, вибравши користувача, можна безпосередньо перейти до записів електронної пошти, немає необхідності шукати в таблиці електронної пошти, щоб знайти відповідні записи. Це може усунути дорогі операції приєднання (join). Наприклад, якщо пошук здійснюється за всіма адресами електронної пошти для користувачів з кодом області «311», то спочатку виконується звичайний пошук, щоб знайти користувачів в «311», але потім витягуються адреси електронної пошти за посиланнями, знайдені в ціх записах. Реляційна база даних спочатку знайде всіх користувачів в «311», витягне список pk's, виконає інший пошук будь-яких записів в таблиці електронної пошти з цими pk's і з'єднає відповідні записи. Для цих типів загальних операцій, графова база даних (принаймні теоретично) значно швидше.
Справжнє значення графового підходу стає очевидним, коли виконуються пошуки, які глибше ніж один рівень. Наприклад, вкажіть пошук користувачів, які мають «абонентів» (таблицю, що зв'язує користувачів з іншими користувачами) в коді регіону «311». У цьому випадку реляційна база даних повинна спочатку шукати всіх користувачів з кодом міста в «311», а потім переглянути таблицю абонентів для будь-якого з цих користувачів, а потім, нарешті, переглянути таблицю користувачів, щоб отримати відповідних користувачі. На відміну від цього, графова база даних буде шукати всіх користувачів в «311», а потім слідувати зворотним посиланням через відносини з підпискою, щоб знайти користувачів-абонентів. Це дозволяє уникнути декількох запитів. Технічно такий пошук виконується за O(log(n)) + O(1) тобто приблизно за логарифмічний час. На відміну від реляційної версії де буде кілька O(log(n)) пошуку, а також треба більше часу, щоб приєднати всі дані.
Відносна перевага отримання графу зростає з ускладненням запиту. Наприклад, можна було б знати «цей фільм про підводні човни з актором, який був у цьому фільмі разом з тим актором, який зіграв лідера у Gone With the Wind». Це спочатку вимагає, щоб система знайшла акторів у «Gone With the Wind», знайшла всі фільми, в яких ці актори були, знайшла їх у всіх цих фільмах, де вони не були лідерами у «Gone With the Wind», а потім знайшли всі фільми де вони були, нарешті, відфільтрувати цей список тим, де опис «підводний човен». У реляційній базі даних це вимагатиме декількох окремих пошуків через таблиці фільмів та акторів, здійснення іншого пошуку в фільмах з підводним човнем, пошуку всіх акторів у цих фільмах та порівняння (великих) зібраних результатів. На відміну від цього, графова база даних буде просто ходити від «Віднесеного вітром» до «Кларк Гейбл», збирати посилання на фільми, в яких він був, збирати посилання з цих фільмів на інших учасників, а потім слідкувати за посиланнями з цих акторів назад до списку фільмів. Отриманий список фільмів може потім шукати для «підводного човна». Все це можна зробити за допомогою одного пошуку.
Реляційні бази даних дуже добре підходять для плоских макетів даних, де взаємозв'язок між даними є глибиною одного або двох рівнів. Наприклад, для бухгалтерської бази даних, можливо, доведеться шукати всі позиції для всіх рахунків-фактур для даного клієнта, запит з трьох приєднань. Бази даних діаграм націлені на набори даних, які містять багато інших посилань. Вони особливо добре підходять для систем соціальна мережа, де відносини «друзів» є суто необмеженими. Ці властивості створюють графові бази даних, які, природно, підходять для типів пошуків, які все частіше зустрічаються в онлайнових системах та у середовищах «великі дані». З цієї причини графові бази даних стають дуже популярними для великих онлайнових систем, таких як Facebook, Google, Twitter та подібних систем із глибокими зв'язками між записами.
Історія
В середині 1960-х років навігаційні бази даних, такі як [en], підтримували деревоподібні структури у своїй ієрархічній моделі, але жорстку структуру дерева можна було обійти з віртуальними записами.
Графові структури можуть бути представлені в мережевих моделях баз даних з кінця 1960-х років. CODASYL, яка визначила COBOL у 1959 році, також визначила мову мережевої бази даних в 1969 році.
Позначені графи можуть бути представлені у графових базах даних з середини 1980-х років, наприклад модель логічних даних.
Кілька покращень у графових базах даних з'явилися на початку 1990-х років, прискорюючи наприкінці 1990-х років зусилля для індексування вебсторінок.
У середині кінця 2000-х років стали доступними комерційні (ACID) графові бази даних, такі як Neo4j та Oracle Spatial and Graph.
В 2010-х, комерційні ACID графові бази даних, що можуть бути розширені по горизонталі стали доступними. Крім того, SAP HANA представила технології [en] і [en] для графових баз даних. Також у 2010-х роках стали доступними багатопрофільні бази даних, які підтримували графові моделі (та інші моделі, такі як реляційна база даних або документ-орієнтована база даних), такі як OrientDB, ArangoDB та MarkLogic (починаючи з версії 7.0). За цей час графові бази даних різних типів стали особливо популярними в аналізі соціальних мереж з появою соціальних медіа компаній.
Перелік графових баз даних
Нижче наведено список відомих графових баз даних:
Назва | Версія | Ліцензія | Мова | Опис |
---|---|---|---|---|
[en] | 5.1 (Травень 2015) | власницька, клієнти: [en] v1 | C#, C, Common Lisp, Java, Python | Середовище опису ресурсів (RDF) та графова база даних |
ArangoDB | 3.2.0 (Липень 2017) | вільна, (Apache 2) | , JavaScript | Найпопулярніша (станом на 2015) NoSQL база даних доступна під ліцензією із відкритим вихідним кодом, і яка забезпечує як зберігання документів, так і можливості потрійного магазину |
Blazegraph | 2.1 (Квітень 2016) | комерційна, або GPLv2 для оцінки | Java | RDF-графова база даних, здатна до кластерізованого розгортання та графічного процесора (GPU), у комерційній версії; підтримує режим високої доступності (HA), вбудований режим, режим одного сервера. Підтримує креслення та SPARQL. |
Cayley | 0.6.1 (Квітень 2017) | вільна, (Apache 2) | Go | Графова база даних |
Dgraph | 0.9.4 (Грудень 3, 2017) | вільна, AGPLv3 для сервера, (Apache 2) для клієнта | Go | Графова база даних з відкритим вихідним кодом, масштабована, розподілена, високо доступна та швидка, розроблена з нуля, для запуску в вебмасштабах. |
[en] Enterprise Graph | v5.0.2 (Серпень 2016) | власницька | Java | Розподілена в режимі реального часу масштабована база даних, натхненна Титаном; підтримує Tinkerpop і інтегрується з Cassandra |
[en] | 5.2.0 (2015) | власницька, комерційна, безплатна для оцінки, дослідження, розробки | Високопродуктивна масштабована система управління базами даних від Sparsity Technologies; Основною рисою є продуктивність запиту для вилучення та дослідження великих мереж; має прив'язки для Java, , C#, Python, та Objective-C; | |
GraphBase | 1.0.03b | власницька, комерційна | Java | Кастомізіруеме, розподілене графове сховище малого розміру з багатим набором інструментів із FactNexus. |
gStore | 0.4.1 (Березень 2017) | BSD-3 | Двигун для керування великими графово структурованими даними; open-source для операційних систем Linux; повністю написаний на C ++, з деякими бібліотеками, такими як readline, antlr тощо; режими використання: рідний, сервер-клієнт або розподілений. | |
InfiniteGraph | 3.0 (Січень 2013) | власницька, комерційна | Java | Розповсюджений, має хмарну підтримку |
JanusGraph | 0.6.1 (Січнь 2022) | вільна, (Apache 2) | Java | Масштабована, розподілена графова база даних під Linux Foundation; Може працювати на різних базах данних (Apache Cassandra, [en], Google Cloud Bigtable, Oracle Berkeley DB); підтримує глобальну графову аналітику даних, звітування, та ETL за рахунок інтеграції з платформами великих даних (Apache Spark, [en], Apache Hadoop); підтримує географічний, числовий діапазон та повнотекстовий пошук за допомогою зовнішніх сховищ індексів (Elasticsearch, Apache Solr, Apache Lucene). Була вилучена з Titan у кінці 2016 року. |
MarkLogic | 8.0.4 (2015) | власницька, безплатна версія розробника | Java | База даних NoSQL, яка зберігає документи (JSON і XML) та дані семантичного графу RDF втричі); також має вбудовану пошукову систему та повний перелік функцій підприємства, таких як ACID транзакції, висока доступність і аварійне відновлення, сертифікована безпека, масштабовність та [en] |
Neo4j | 3.1.1 (Січень 2017) | GPLv3 Community Edition, комерційна & AGPLv3 варіанти для підприємства та розширені видання | Java, .NET, JavaScript, Python, Ruby | Висока масштабованість з відкритим вихідним кодом, підтримує ACID, має кластери високої доступності для розгортання підприємств, а також оснащений вебінструментом адміністрування, який включає в себе повну підтримку транзакцій та візуальний графічний дослідницький вузол; доступний з більшості мов програмування за допомогою вбудованого інтерфейсу REST [en] та власного протоколу Bolt з офіційними драйверами; найпопулярніша графова база даних у використанні станом на січень 2017 |
OpenLink Software [en] | 8.0 (Вересень 2017) | Open Source Edition - GPLv2, Enterprise Edition - власницька | C, | Гібридний сервер баз даних, що обробляє RDF та інші дані графу, дані RDB-SQL, дані XML, файлові системи документів-об'єктів, а також вільний текст; може бути розгорнута як місцевий вбудований примірник (як це використовується в [en] семантичний робочий стіл), як одноразовий мережевий сервер або мережевий сервер з декількома екземплярами, що не використовують жодного еластичного кластера |
[en]; part of Oracle Database | 12.1.0.2 (2014) | власницька | Java, PL/SQL | 1) RDF Semantic Graph: комплексне керування графом RDF W3C в базі даних Oracle з власними міркуваннями та тривимірною захищеною міткою. 2) Граф властивостей моделі даних мережі: для фізичних / логічних мереж з постійним сховищем та Java API для аналізу графів в пам'яті. |
OrientDB | 2.2.24 (Липень 2017) | Community Edition - (Apache 2), Enterprise Edition - комерційна | Java | Друге покоління розподіленої графової бази даних з гнучкістю документів в одному продукті (тобто, вона одночасно як графова база даних, так і база даних NoSQL); вона має комерційну дружню (Apache 2) ліцензію з відкритим вихідним кодом; є масштабованою з повною підтримкою ACID; має багатокористувацьку реплікацію та осідання; підтримує режим без схем, повний та змішаний режими; має потужну систему профілювання безпеки, засновану на користуванні та ролях; підтримує мову запитів. Вона має HTTP REST + JSON API. |
[en] | SPS12 Revision 120 | власницька | C, , Java, JavaScript & SQL-like language | ACID транзакція в оперативній пам'яті, підтримує граф властивостей |
[en] Enterprise | 2.0 (Лютий 2015) | власницька | Java | Розповсюджена, «real-time» графова база даних що забезпечує безпеку на рівні клітин та масову масштабованість |
Teradata Aster | 7 (2016) | власницька | Java, SQL, Python, , R | База даних високої продуктивності, багатоцільової, масштабованої та розширюваної MPP, що включає в себе запатентовані движки, що підтримують збереження та маніпулювання даними SQL, MapReduce та Graph; надає широкий набір аналітичних бібліотек функцій та можливостей візуалізації даних |
TigerGraph | 1.0 (2017) | власницька | Висока продуктивна паралельно-графова база даних, що підтримує GSQL, RESTful API та візуалізацію GraphStudio SDK. | |
Microsoft SQL Server 2017 | RC1 | власницька | SQL/T-SQL, R, Python | Надає можливості графової бази даних, щоб змоделювати «many-to-many» відносини. Графові відносини інтегровані в Transact-SQL і отримують переваги використання SQL Server як основної системи управління базами даних. |
API та графові мови-запитів
- — SQL-подібна мова, яка використовується у ArangoDB для документів і для графів
- (Cypher) — графова мова декларативного програмування для Neo4j, яка дає спеціальний і програмний (SQL-подібний) доступ до графу.
- GraphQL — мова запитів Facebook для служб бекенда
- — графова мова програмування, яка працює над різними системами графових баз даних; частина Apache TinkerPop проекта з відкритим кодом
- GSQL — TigerGraph декларативна мова для аналітики графів.
- SPARQL — мова запитів для баз даних, може отримувати та обробляти дані, що зберігаються у форматі RDF
- V1 — візуальна мова запитів для графів властивостей
Див. також
Примітки
- Angles, Renzo; Gutierrez, Claudio (1 лютого 2008). (PDF). ACM Computing Surveys. Association for Computing Machinery. 40 (1). doi:10.1145/1322432.1322433. Архів оригіналу (PDF) за 15 серпня 2017. Процитовано 28 травня 2016.
network models [...] lack a good abstraction level: it is difficult to separate the db-model from the actual implementation
- Silberschatz, Avi (28 січня 2010). (PDF). McGraw-Hill. с. D-29. ISBN . Архів оригіналу (PDF) за 26 серпня 2018. Процитовано 27 грудня 2017.
- . Neo4j. Архів оригіналу за 17 березня 2018. Процитовано 27 грудня 2017.
- Silberschatz, Avi (28 січня 2010). (PDF). McGraw-Hill. с. E-20. ISBN . Архів оригіналу (PDF) за 27 січня 2018. Процитовано 27 грудня 2017.
- Parker, Lorraine. . vcu.edu. Архів оригіналу за 5 квітня 2017. Процитовано 31 травня 2016.
- Kuper, Gabriel M (1985). (PDF) (Ph.D.). STAN-CS-85-1069. Архів оригіналу (PDF) за 30 червня 2016. Процитовано 31 травня 2016.
- (амер.). 22 жовтня 2014. Архів оригіналу за 10 січня 2018. Процитовано 7 липня 2016.
- Fowler, Adam (24 лютого 2015). NoSQL for Dummies. John Wiley & Sons. с. 298–. ISBN .
- Vaughan, Jack (25 січня 2016). . . Архів оригіналу за 7 травня 2017. Процитовано 9 травня 2017.
- Yegulalp, Serdar (26 вересня 2016). . . Архів оригіналу за 25 квітня 2017. Процитовано 9 травня 2017.
- Google Releases Cayley Open-Source Graph Database. eWeek. 13 листопада 2014. Процитовано 9 травня 2017.
{{}}
: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url () - . . 17 травня 2016. Архів оригіналу за 31 липня 2017. Процитовано 31 липня 2017.
- Bailey, Michael (18 травня 2016). . afr.com. . Архів оригіналу за 31 липня 2017. Процитовано 31 липня 2017.
- Woodie, Alex (21 червня 2016). . Datanami. Архів оригіналу за 13 вересня 2019. Процитовано 9 травня 2017.
- . Sparsity-technologies. Архів оригіналу за 4 травня 2017. Процитовано 9 травня 2017.
- Longbottom, Clive (1 травня 2016). . . Архів оригіналу за 5 травня 2017. Процитовано 9 травня 2017.
- . Архів оригіналу за 31 серпня 2017. Процитовано 27 грудня 2017.
- Zou, Lei; Özsu, M. Tamer; Chen, Lei; Shen, Xuchuan; Huang, Ruizhe; Zhao, Dongyan (August 2014). . Архів оригіналу за 23 жовтня 2017. Процитовано 27 грудня 2017.
- . Архів оригіналу за 29 грудня 2020. Процитовано 8 вересня 2021.
- Woodie, Alex (13 січня 2017). . Datanami. Архів оригіналу за 24 серпня 2018. Процитовано 9 травня 2017.
- . Neo4j. Архів оригіналу за 16 листопада 2018. Процитовано 9 травня 2017.
- . . Архів оригіналу за 8 березня 2019. Процитовано 9 травня 2017.
- Clustering Deployment Architecture Diagrams for Virtuoso. Virtuoso Open-Source Wiki. OpenLink Softwar]. Процитовано 9 травня 2017.
- Rudolf, Michael; Paradies, Marcus; Bornhövd, Christof; Lehner, Wolfgang. (PDF). Lecture Notes in Informatics. Архів оригіналу (PDF) за 5 квітня 2017. Процитовано 27 грудня 2017.
- Vanian, Jonathan (18 лютого 2015). . . Архів оригіналу за 9 березня 2019. Процитовано 9 травня 2017.
- Woodie, Alex (23 жовтня 2015). . Datanami. Архів оригіналу за 15 вересня 2019. Процитовано 9 травня 2017.
- (амер.). 19 вересня 2017. Архів оригіналу за 7 листопада 2017. Процитовано 19 вересня 2017.
- . Microsoft Docs. 19 квітня 2017. Архів оригіналу за 21 серпня 2017. Процитовано 9 травня 2017.
- Svensson, Johan (5 липня 2016). . sdtimes.com. BZ Media. Архів оригіналу за 21 серпня 2016. Процитовано 30 серпня 2016.
- TinkerPop, Apache. . tinkerpop.apache.org. Архів оригіналу за 17 вересня 2018. Процитовано 2 листопада 2016.
- . doc.tigergraph.com/dev/. Архів оригіналу за 25 вересня 2017. Процитовано 1 жовтня 2017.
- Kogan, Lior (2017). V1: A Visual Query Language for Property Graphs. arXiv:1710.04470.
- . github.com. Архів оригіналу за 13 червня 2018. Процитовано 1 листопада 2017.
Ця стаття є сирим з англійської мови. Можливо, вона створена за допомогою машинного перекладу або перекладачем, який недостатньо володіє обома мовами. (грудень 2017) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Grafova baza danih ce baza danih yaka vikoristovuye strukturi grafiv dlya semantichnih zapitiv z vershinami rebrami ta vlastivostyami dlya predstavlennya ta zberigannya danih Klyuchovim ponyattyam sistemi ye graf abo rebro abo vidnosini yakij bezposeredno pov yazuye elementi danih u shovishi Vidnosini dozvolyayut bezposeredno ob yednuvati dani u shovishi a v bagatoh vipadkah vibrati odniyeyu operaciyeyu Ce vidriznyayetsya vid relyacijnih baz danih yaki za dopomogoyu relyacijnih sistem upravlinnya dozvolyayut keruvati danimi bez nakladannya aspektiv realizaciyi napriklad zv yazki mizh danimi zberigayutsya v samij bazi danih na logichnomu rivni i operaciyi relyacijnoyi algebri napriklad join mozhut vikoristovuvatisya dlya manipulyuvannya ta povernennya vidpovidnih danih u vidpovidnij logichnij format Vikonannya relyacijnih zapitiv mozhlive za dopomogoyu sistem upravlinnya bazami danih na fizichnomu rivni napriklad za dopomogoyu indeksiv sho dozvolyaye pidvishiti produktivnist bez zmini logichnoyi strukturi bazi danih Grafovi bazi danih analogichni bazam danih merezhevoyi modeli 1970 h rokiv v oboh predstavleni zagalni grafi ale bazi danih merezhevih modelej pracyuyut na nizhchomu rivni abstrakciyi ta yim brakuye legkogo prohodu cherez lancyug reber Osnovnij mehanizm zberigannya grafovih baz danih mozhe buti riznim Deyaki z nih zalezhat vid relyacijnogo dviguna ta zberigayut dani grafu u tablicyah hocha tablicya ye logichnim elementom cej pidhid peredbachaye inshij riven abstrakciyi mizh grafovoyu bazoyu danih sistemoyu upravlinnya bazi danih ta fizichnimi pristroyami de faktichno zberigayutsya dani Inshi vikoristovuyut tip shovisha klyuch znachennya abo dokumento oriyentovanij tip dlya zberigannya sho robit yih po suti NoSQL strukturami Bilshist grafovih baz danih zasnovanih na ne relyacijnih dvigunah zberigannya dodayut ponyattya tegi abo vlastivosti yaki po suti mayut zv yazki z pokazhchikom na inshij dokument Ce dozvolyaye klasifikuvati elementi danih dlya legkogo poshuku v masovomu poryadku Otrimannya danih z grafovoyi bazi danih vimagaye movi zapitiv vidminnoyi vid SQL yaka bula rozroblena dlya manipulyuvannya danimi v relyacijnij sistemi i tomu ne mozhe elegantno obroblyati graf Stanom na 2017 zhodna mova zapitiv ne bula zagalnoprijnyatoyu takim zhe chinom yak SQL dlya relyacijnih baz danih Najposhirenishimi movami zapitiv ye SPARQL ta OpisGrafovi bazi danih vikoristovuyut vershini vlastivosti ta rebra Grafovi bazi danih bazuyutsya na teoriyi grafiv i vikoristovuyut vershini rebra ta vlastivosti Vershini abo vuzli predstavlyayut taki ob yekti yak lyudi pidpriyemstva oblikovi zapisi abo bud yakij inshij ob yekt yakij slid vidslidkovuvati Voni priblizno ekvivalentni zapisu vidnoshennyu abo ryadku v relyacijnij bazi danih abo dokumentu v dokumento oriyentovanij bazi danih Rebra takozh nazivayutsya grafi abo vidnosini ce liniyi sho z yednuyut vuzli do inshih vuzliv voni predstavlyayut vidnosini mizh nimi Zmistovni modeli vinikayut pri rozglyadi zv yazkiv i vzayemozv yazkiv vuzliv vlastivostej i reber Rebra ye klyuchovimi ponyattyami v grafovij bazi danih sho predstavlyayut soboyu abstrakciyu yaka bezposeredno ne realizovana v inshih sistemah Vlastivosti ce ridna informaciya yaka stosuyetsya vuzliv Napriklad yaksho Vikipediya bula b odnim iz vuzliv vona mogla b buti priv yazana do takih vlastivostej yak vebsajt dovidkovij material abo slovo yake pochinayetsya z bukvi v zalezhno na yakih aspektah Vikipediya znahoditsya v pevnij bazi danih Relyacijna model zbiraye dani razom vikoristovuyuchi informaciyu v danih Napriklad mozhna shukati vsih koristuvachiv chij nomer telefonu mistit kod mista 311 Ce bude zrobleno shlyahom poshuku obranih danih abo tablic divlyachis u vibrani polya nomera telefonu dlya ryadka 311 Ce mozhe buti trivalim procesom u velikih tablicyah tomu relyacijni bazi danih proponuyut koncepciyu indeks tablici bazi danih sho dozvolyaye zberigati dani yak ci u menshij subtablici sho mistit lishe vibrani dani ta unikalnij klyuch abo pervinnij klyuch zapisu v yakij vona ye chastinoyu Yaksho nomeri telefoniv indeksuyutsya toj zhe poshuk bude vidbuvatisya v menshij tablici z indeksom zbirati klyuchi vidpovidnih zapisiv a potim pereglyadati osnovnu tablicyu danih dlya zapisiv za dopomogoyu cih klyuchiv Yak pravilo tablici fizichno zberigayutsya tak sho poshuk cih klyuchiv vidbuvayetsya shvidko Relyacijni bazi danih ne mistyat ideyi fiksovanih zv yazkiv mizh zapisami Natomist dani zv yazuyutsya odin z odnim zberigayuchi unikalnij klyuch odnogo zapisu v danih inshogo zapisu Napriklad tablicya sho mistit adresi elektronnoyi poshti dlya koristuvachiv mozhe mati element danih yakij nazivayetsya userpk yakij mistit osnovnij klyuch zapisu koristuvacha do yakogo vin pov yazanij Dlya togo shob pov yazati koristuvachiv ta yih elektronni adresi sistema spochatku shukaye vibrani koristuvacki zapisi z osnovnimi klyuchami shukaye ci klyuchi v stovpci userpk u tablici elektronnoyi poshti abo shvidshe za vse yih indeks vityaguye dani elektronnoyi poshti a potim zv yazuye zapisi koristuvacha ta elektronnoyi poshti shob stvoriti skladovi zapisi sho mistyat usi obrani dani Cya operaciya yaka nazivayetsya join mozhe buti obchislena za vitratami Zalezhno vid skladnosti zapitu kilkosti ob yednan ta indeksaciyi riznih klavish sistema mozhlivo povinna bude shukati cherez kilka tablic ta indeksiv zbirati bagato informaciyi a potim sortuvati vse shob voni zbigalisya Na vidminu vid relyacijnih baz grafovi bazi danih bezposeredno zberigayut vidnosini mizh zapisami Zamist togo shob znajti adresu elektronnoyi poshti pereglyanuvshi klyuch koristuvacha v stovpci userpk koristuvackij zapis maye pokazhchik bezposeredno do adresi elektronnoyi poshti Tobto vibravshi koristuvacha mozhna bezposeredno perejti do zapisiv elektronnoyi poshti nemaye neobhidnosti shukati v tablici elektronnoyi poshti shob znajti vidpovidni zapisi Ce mozhe usunuti dorogi operaciyi priyednannya join Napriklad yaksho poshuk zdijsnyuyetsya za vsima adresami elektronnoyi poshti dlya koristuvachiv z kodom oblasti 311 to spochatku vikonuyetsya zvichajnij poshuk shob znajti koristuvachiv v 311 ale potim vityaguyutsya adresi elektronnoyi poshti za posilannyami znajdeni v cih zapisah Relyacijna baza danih spochatku znajde vsih koristuvachiv v 311 vityagne spisok pk s vikonaye inshij poshuk bud yakih zapisiv v tablici elektronnoyi poshti z cimi pk s i z yednaye vidpovidni zapisi Dlya cih tipiv zagalnih operacij grafova baza danih prinajmni teoretichno znachno shvidshe Spravzhnye znachennya grafovogo pidhodu staye ochevidnim koli vikonuyutsya poshuki yaki glibshe nizh odin riven Napriklad vkazhit poshuk koristuvachiv yaki mayut abonentiv tablicyu sho zv yazuye koristuvachiv z inshimi koristuvachami v kodi regionu 311 U comu vipadku relyacijna baza danih povinna spochatku shukati vsih koristuvachiv z kodom mista v 311 a potim pereglyanuti tablicyu abonentiv dlya bud yakogo z cih koristuvachiv a potim nareshti pereglyanuti tablicyu koristuvachiv shob otrimati vidpovidnih koristuvachi Na vidminu vid cogo grafova baza danih bude shukati vsih koristuvachiv v 311 a potim sliduvati zvorotnim posilannyam cherez vidnosini z pidpiskoyu shob znajti koristuvachiv abonentiv Ce dozvolyaye uniknuti dekilkoh zapitiv Tehnichno takij poshuk vikonuyetsya za O log n O 1 tobto priblizno za logarifmichnij chas Na vidminu vid relyacijnoyi versiyi de bude kilka O log n poshuku a takozh treba bilshe chasu shob priyednati vsi dani Vidnosna perevaga otrimannya grafu zrostaye z uskladnennyam zapitu Napriklad mozhna bulo b znati cej film pro pidvodni chovni z aktorom yakij buv u comu filmi razom z tim aktorom yakij zigrav lidera u Gone With the Wind Ce spochatku vimagaye shob sistema znajshla aktoriv u Gone With the Wind znajshla vsi filmi v yakih ci aktori buli znajshla yih u vsih cih filmah de voni ne buli liderami u Gone With the Wind a potim znajshli vsi filmi de voni buli nareshti vidfiltruvati cej spisok tim de opis pidvodnij choven U relyacijnij bazi danih ce vimagatime dekilkoh okremih poshukiv cherez tablici filmiv ta aktoriv zdijsnennya inshogo poshuku v filmah z pidvodnim chovnem poshuku vsih aktoriv u cih filmah ta porivnyannya velikih zibranih rezultativ Na vidminu vid cogo grafova baza danih bude prosto hoditi vid Vidnesenogo vitrom do Klark Gejbl zbirati posilannya na filmi v yakih vin buv zbirati posilannya z cih filmiv na inshih uchasnikiv a potim slidkuvati za posilannyami z cih aktoriv nazad do spisku filmiv Otrimanij spisok filmiv mozhe potim shukati dlya pidvodnogo chovna Vse ce mozhna zrobiti za dopomogoyu odnogo poshuku Relyacijni bazi danih duzhe dobre pidhodyat dlya ploskih maketiv danih de vzayemozv yazok mizh danimi ye glibinoyu odnogo abo dvoh rivniv Napriklad dlya buhgalterskoyi bazi danih mozhlivo dovedetsya shukati vsi poziciyi dlya vsih rahunkiv faktur dlya danogo kliyenta zapit z troh priyednan Bazi danih diagram nacileni na nabori danih yaki mistyat bagato inshih posilan Voni osoblivo dobre pidhodyat dlya sistem socialna merezha de vidnosini druziv ye suto neobmezhenimi Ci vlastivosti stvoryuyut grafovi bazi danih yaki prirodno pidhodyat dlya tipiv poshukiv yaki vse chastishe zustrichayutsya v onlajnovih sistemah ta u seredovishah veliki dani Z ciyeyi prichini grafovi bazi danih stayut duzhe populyarnimi dlya velikih onlajnovih sistem takih yak Facebook Google Twitter ta podibnih sistem iz glibokimi zv yazkami mizh zapisami IstoriyaV seredini 1960 h rokiv navigacijni bazi danih taki yak en pidtrimuvali derevopodibni strukturi u svoyij iyerarhichnij modeli ale zhorstku strukturu dereva mozhna bulo obijti z virtualnimi zapisami Grafovi strukturi mozhut buti predstavleni v merezhevih modelyah baz danih z kincya 1960 h rokiv CODASYL yaka viznachila COBOL u 1959 roci takozh viznachila movu merezhevoyi bazi danih v 1969 roci Poznacheni grafi mozhut buti predstavleni u grafovih bazah danih z seredini 1980 h rokiv napriklad model logichnih danih Kilka pokrashen u grafovih bazah danih z yavilisya na pochatku 1990 h rokiv priskoryuyuchi naprikinci 1990 h rokiv zusillya dlya indeksuvannya vebstorinok U seredini kincya 2000 h rokiv stali dostupnimi komercijni ACID grafovi bazi danih taki yak Neo4j ta Oracle Spatial and Graph V 2010 h komercijni ACID grafovi bazi danih sho mozhut buti rozshireni po gorizontali stali dostupnimi Krim togo SAP HANA predstavila tehnologiyi en i en dlya grafovih baz danih Takozh u 2010 h rokah stali dostupnimi bagatoprofilni bazi danih yaki pidtrimuvali grafovi modeli ta inshi modeli taki yak relyacijna baza danih abo dokument oriyentovana baza danih taki yak OrientDB ArangoDB ta MarkLogic pochinayuchi z versiyi 7 0 Za cej chas grafovi bazi danih riznih tipiv stali osoblivo populyarnimi v analizi socialnih merezh z poyavoyu socialnih media kompanij Perelik grafovih baz danihNizhche navedeno spisok vidomih grafovih baz danih Nazva Versiya Licenziya Mova Opis en 5 1 Traven 2015 vlasnicka kliyenti en v1 C C Common Lisp Java Python Seredovishe opisu resursiv RDF ta grafova baza danih ArangoDB 3 2 0 Lipen 2017 vilna Apache 2 C JavaScript Najpopulyarnisha stanom na 2015 NoSQL baza danih dostupna pid licenziyeyu iz vidkritim vihidnim kodom i yaka zabezpechuye yak zberigannya dokumentiv tak i mozhlivosti potrijnogo magazinu Blazegraph 2 1 Kviten 2016 komercijna abo GPLv2 dlya ocinki Java RDF grafova baza danih zdatna do klasterizovanogo rozgortannya ta grafichnogo procesora GPU u komercijnij versiyi pidtrimuye rezhim visokoyi dostupnosti HA vbudovanij rezhim rezhim odnogo servera Pidtrimuye kreslennya ta SPARQL Cayley 0 6 1 Kviten 2017 vilna Apache 2 Go Grafova baza danih Dgraph 0 9 4 Gruden 3 2017 vilna AGPLv3 dlya servera Apache 2 dlya kliyenta Go Grafova baza danih z vidkritim vihidnim kodom masshtabovana rozpodilena visoko dostupna ta shvidka rozroblena z nulya dlya zapusku v vebmasshtabah en Enterprise Graph v5 0 2 Serpen 2016 vlasnicka Java Rozpodilena v rezhimi realnogo chasu masshtabovana baza danih nathnenna Titanom pidtrimuye Tinkerpop i integruyetsya z Cassandra en 5 2 0 2015 vlasnicka komercijna bezplatna dlya ocinki doslidzhennya rozrobki C Visokoproduktivna masshtabovana sistema upravlinnya bazami danih vid Sparsity Technologies Osnovnoyu risoyu ye produktivnist zapitu dlya viluchennya ta doslidzhennya velikih merezh maye priv yazki dlya Java C C Python ta Objective C GraphBase 1 0 03b vlasnicka komercijna Java Kastomizirueme rozpodilene grafove shovishe malogo rozmiru z bagatim naborom instrumentiv iz FactNexus gStore 0 4 1 Berezen 2017 BSD 3 C Dvigun dlya keruvannya velikimi grafovo strukturovanimi danimi open source dlya operacijnih sistem Linux povnistyu napisanij na C z deyakimi bibliotekami takimi yak readline antlr tosho rezhimi vikoristannya ridnij server kliyent abo rozpodilenij InfiniteGraph 3 0 Sichen 2013 vlasnicka komercijna Java Rozpovsyudzhenij maye hmarnu pidtrimku JanusGraph 0 6 1 Sichn 2022 vilna Apache 2 Java Masshtabovana rozpodilena grafova baza danih pid Linux Foundation Mozhe pracyuvati na riznih bazah dannih Apache Cassandra en Google Cloud Bigtable Oracle Berkeley DB pidtrimuye globalnu grafovu analitiku danih zvituvannya ta ETL za rahunok integraciyi z platformami velikih danih Apache Spark en Apache Hadoop pidtrimuye geografichnij chislovij diapazon ta povnotekstovij poshuk za dopomogoyu zovnishnih shovish indeksiv Elasticsearch Apache Solr Apache Lucene Bula viluchena z Titan u kinci 2016 roku MarkLogic 8 0 4 2015 vlasnicka bezplatna versiya rozrobnika Java Baza danih NoSQL yaka zberigaye dokumenti JSON i XML ta dani semantichnogo grafu RDF vtrichi takozh maye vbudovanu poshukovu sistemu ta povnij perelik funkcij pidpriyemstva takih yak ACID tranzakciyi visoka dostupnist i avarijne vidnovlennya sertifikovana bezpeka masshtabovnist ta en Neo4j 3 1 1 Sichen 2017 GPLv3 Community Edition komercijna amp AGPLv3 varianti dlya pidpriyemstva ta rozshireni vidannya Java NET JavaScript Python Ruby Visoka masshtabovanist z vidkritim vihidnim kodom pidtrimuye ACID maye klasteri visokoyi dostupnosti dlya rozgortannya pidpriyemstv a takozh osnashenij vebinstrumentom administruvannya yakij vklyuchaye v sebe povnu pidtrimku tranzakcij ta vizualnij grafichnij doslidnickij vuzol dostupnij z bilshosti mov programuvannya za dopomogoyu vbudovanogo interfejsu REST en ta vlasnogo protokolu Bolt z oficijnimi drajverami najpopulyarnisha grafova baza danih u vikoristanni stanom na sichen 2017 OpenLink Software en 8 0 Veresen 2017 Open Source Edition GPLv2 Enterprise Edition vlasnicka C C Gibridnij server baz danih sho obroblyaye RDF ta inshi dani grafu dani RDB SQL dani XML fajlovi sistemi dokumentiv ob yektiv a takozh vilnij tekst mozhe buti rozgornuta yak miscevij vbudovanij primirnik yak ce vikoristovuyetsya v en semantichnij robochij stil yak odnorazovij merezhevij server abo merezhevij server z dekilkoma ekzemplyarami sho ne vikoristovuyut zhodnogo elastichnogo klastera en part of Oracle Database 12 1 0 2 2014 vlasnicka Java PL SQL 1 RDF Semantic Graph kompleksne keruvannya grafom RDF W3C v bazi danih Oracle z vlasnimi mirkuvannyami ta trivimirnoyu zahishenoyu mitkoyu 2 Graf vlastivostej modeli danih merezhi dlya fizichnih logichnih merezh z postijnim shovishem ta Java API dlya analizu grafiv v pam yati OrientDB 2 2 24 Lipen 2017 Community Edition Apache 2 Enterprise Edition komercijna Java Druge pokolinnya rozpodilenoyi grafovoyi bazi danih z gnuchkistyu dokumentiv v odnomu produkti tobto vona odnochasno yak grafova baza danih tak i baza danih NoSQL vona maye komercijnu druzhnyu Apache 2 licenziyu z vidkritim vihidnim kodom ye masshtabovanoyu z povnoyu pidtrimkoyu ACID maye bagatokoristuvacku replikaciyu ta osidannya pidtrimuye rezhim bez shem povnij ta zmishanij rezhimi maye potuzhnu sistemu profilyuvannya bezpeki zasnovanu na koristuvanni ta rolyah pidtrimuye movu zapitiv Vona maye HTTP REST JSON API en SPS12 Revision 120 vlasnicka C C Java JavaScript amp SQL like language ACID tranzakciya v operativnij pam yati pidtrimuye graf vlastivostej en Enterprise 2 0 Lyutij 2015 vlasnicka Java Rozpovsyudzhena real time grafova baza danih sho zabezpechuye bezpeku na rivni klitin ta masovu masshtabovanist Teradata Aster 7 2016 vlasnicka Java SQL Python C R Baza danih visokoyi produktivnosti bagatocilovoyi masshtabovanoyi ta rozshiryuvanoyi MPP sho vklyuchaye v sebe zapatentovani dvizhki sho pidtrimuyut zberezhennya ta manipulyuvannya danimi SQL MapReduce ta Graph nadaye shirokij nabir analitichnih bibliotek funkcij ta mozhlivostej vizualizaciyi danih TigerGraph 1 0 2017 vlasnicka C Visoka produktivna paralelno grafova baza danih sho pidtrimuye GSQL RESTful API ta vizualizaciyu GraphStudio SDK Microsoft SQL Server 2017 RC1 vlasnicka SQL T SQL R Python Nadaye mozhlivosti grafovoyi bazi danih shob zmodelyuvati many to many vidnosini Grafovi vidnosini integrovani v Transact SQL i otrimuyut perevagi vikoristannya SQL Server yak osnovnoyi sistemi upravlinnya bazami danih API ta grafovi movi zapitiv SQL podibna mova yaka vikoristovuyetsya u ArangoDB dlya dokumentiv i dlya grafiv Cypher grafova mova deklarativnogo programuvannya dlya Neo4j yaka daye specialnij i programnij SQL podibnij dostup do grafu GraphQL mova zapitiv Facebook dlya sluzhb bekenda grafova mova programuvannya yaka pracyuye nad riznimi sistemami grafovih baz danih chastina Apache TinkerPop proekta z vidkritim kodom GSQL TigerGraph deklarativna mova dlya analitiki grafiv SPARQL mova zapitiv dlya baz danih mozhe otrimuvati ta obroblyati dani sho zberigayutsya u formati RDF V1 vizualna mova zapitiv dlya grafiv vlastivostejDiv takozhNoSQL Ob yektno oriyentovana baza danihPrimitkiAngles Renzo Gutierrez Claudio 1 lyutogo 2008 PDF ACM Computing Surveys Association for Computing Machinery 40 1 doi 10 1145 1322432 1322433 Arhiv originalu PDF za 15 serpnya 2017 Procitovano 28 travnya 2016 network models lack a good abstraction level it is difficult to separate the db model from the actual implementation Silberschatz Avi 28 sichnya 2010 PDF McGraw Hill s D 29 ISBN 0 07 352332 1 Arhiv originalu PDF za 26 serpnya 2018 Procitovano 27 grudnya 2017 Neo4j Arhiv originalu za 17 bereznya 2018 Procitovano 27 grudnya 2017 Silberschatz Avi 28 sichnya 2010 PDF McGraw Hill s E 20 ISBN 0 07 352332 1 Arhiv originalu PDF za 27 sichnya 2018 Procitovano 27 grudnya 2017 Parker Lorraine vcu edu Arhiv originalu za 5 kvitnya 2017 Procitovano 31 travnya 2016 Kuper Gabriel M 1985 PDF Ph D STAN CS 85 1069 Arhiv originalu PDF za 30 chervnya 2016 Procitovano 31 travnya 2016 amer 22 zhovtnya 2014 Arhiv originalu za 10 sichnya 2018 Procitovano 7 lipnya 2016 Fowler Adam 24 lyutogo 2015 NoSQL for Dummies John Wiley amp Sons s 298 ISBN 978 1 118 90574 6 Vaughan Jack 25 sichnya 2016 Arhiv originalu za 7 travnya 2017 Procitovano 9 travnya 2017 Yegulalp Serdar 26 veresnya 2016 Arhiv originalu za 25 kvitnya 2017 Procitovano 9 travnya 2017 Google Releases Cayley Open Source Graph Database eWeek 13 listopada 2014 Procitovano 9 travnya 2017 a href wiki D0 A8 D0 B0 D0 B1 D0 BB D0 BE D0 BD Cite web title Shablon Cite web cite web a Obslugovuvannya CS1 Storinki z parametrom url status ale bez parametra archive url posilannya 17 travnya 2016 Arhiv originalu za 31 lipnya 2017 Procitovano 31 lipnya 2017 Bailey Michael 18 travnya 2016 afr com Arhiv originalu za 31 lipnya 2017 Procitovano 31 lipnya 2017 Woodie Alex 21 chervnya 2016 Datanami Arhiv originalu za 13 veresnya 2019 Procitovano 9 travnya 2017 Sparsity technologies Arhiv originalu za 4 travnya 2017 Procitovano 9 travnya 2017 Longbottom Clive 1 travnya 2016 Arhiv originalu za 5 travnya 2017 Procitovano 9 travnya 2017 Arhiv originalu za 31 serpnya 2017 Procitovano 27 grudnya 2017 Zou Lei Ozsu M Tamer Chen Lei Shen Xuchuan Huang Ruizhe Zhao Dongyan August 2014 Arhiv originalu za 23 zhovtnya 2017 Procitovano 27 grudnya 2017 Arhiv originalu za 29 grudnya 2020 Procitovano 8 veresnya 2021 Woodie Alex 13 sichnya 2017 Datanami Arhiv originalu za 24 serpnya 2018 Procitovano 9 travnya 2017 Neo4j Arhiv originalu za 16 listopada 2018 Procitovano 9 travnya 2017 Arhiv originalu za 8 bereznya 2019 Procitovano 9 travnya 2017 Clustering Deployment Architecture Diagrams for Virtuoso Virtuoso Open Source Wiki OpenLink Softwar Procitovano 9 travnya 2017 Rudolf Michael Paradies Marcus Bornhovd Christof Lehner Wolfgang PDF Lecture Notes in Informatics Arhiv originalu PDF za 5 kvitnya 2017 Procitovano 27 grudnya 2017 Vanian Jonathan 18 lyutogo 2015 Arhiv originalu za 9 bereznya 2019 Procitovano 9 travnya 2017 Woodie Alex 23 zhovtnya 2015 Datanami Arhiv originalu za 15 veresnya 2019 Procitovano 9 travnya 2017 amer 19 veresnya 2017 Arhiv originalu za 7 listopada 2017 Procitovano 19 veresnya 2017 Microsoft Docs 19 kvitnya 2017 Arhiv originalu za 21 serpnya 2017 Procitovano 9 travnya 2017 Svensson Johan 5 lipnya 2016 sdtimes com BZ Media Arhiv originalu za 21 serpnya 2016 Procitovano 30 serpnya 2016 TinkerPop Apache tinkerpop apache org Arhiv originalu za 17 veresnya 2018 Procitovano 2 listopada 2016 doc tigergraph com dev Arhiv originalu za 25 veresnya 2017 Procitovano 1 zhovtnya 2017 Kogan Lior 2017 V1 A Visual Query Language for Property Graphs arXiv 1710 04470 github com Arhiv originalu za 13 chervnya 2018 Procitovano 1 listopada 2017 Cya stattya ye sirim perekladom z anglijskoyi movi Mozhlivo vona stvorena za dopomogoyu mashinnogo perekladu abo perekladachem yakij nedostatno volodiye oboma movami Bud laska dopomozhit polipshiti pereklad gruden 2017