<
От версии < 2.4 >
отредактировано Alexandr Fokin
на 2022/06/23 14:39
К версии < 3.12 >
отредактировано Alexandr Fokin
на 2022/06/25 16:28
>
Изменить комментарий: К данной версии нет комментариев

Комментарий

Подробности

Свойства страницы
Содержимое
... ... @@ -1,18 +1,74 @@
1 +==== Общее ====
2 +
1 1  Neo4j - графовая БД.
2 2  
3 -Разработана на языке [[Java>>Разработка.JVM.Java.WebHome]]
5 +Не имеет требований/механизмов для схемы данных. (Разные узлы, даже имеющие одну и ту же метку, могу содержать разные наборы свойств)
4 4  
7 +Разработана на языке [[Java>>Разработка.JVM.Java.WebHome]].
8 +
9 +Graph Data Platform | Graph Database Management System | Neo4j
10 +https://neo4j.com/
11 +
5 5  ----
6 6  
7 7  ==== Структурные компоненты ====
8 8  
9 9  
17 +|=(% style="width: 152px;" %)Элемент|=(% style="width: 417px;" %)Описание|=(% style="width: 953px;" %)Отношение
18 +|(% style="width:152px" %)Узлы|(% style="width:417px" %)Ноды графа.|(% style="width:953px" %)(((
19 +Каждый узел:
20 +
21 +* Имеет коллекцию свойств.
22 +* Имеет от 1 до n меток.
23 +)))
24 +|(% style="width:152px" %)Взаимосвязи|(% style="width:417px" %)Ребра графа, связывающие 2 узла.|(% style="width:953px" %)(((
25 +Каждая взаимосвязь:
26 +
27 +* Является направленной (Узел1 -> Узел2).
28 +(При этом в запросе можно явно указать игнорирования направления)
29 +* Имеет единственное строкове имя.
30 +* Имеет коллекцию свойств.
31 +
10 10  ----
11 11  
34 +Способы обозначения подвидов связи:
35 +
36 +* За счет объявления разных имен связей.
37 +* Объявление одного имени связи, но добавление атрибута "тип связи" в коллекцию свойств связи.
38 +
39 +(Указанные способы могут различаться по влиянию на производительность запросов)
40 +)))
41 +|(% style="width:152px" %)Метки|(% style="width:417px" %)Инструмент группировки узлов, обозначения их ролей.|(% style="width:953px" %)(((
42 +Можно сказать, что к каждой метке привязана коллекция узлов.
43 +
44 +При этом за счет меток можно ввести неявную иерархию - обозначив общей меткой некое множество узлов целиком (AllObjects), и отдельными метками его подмножества (ObjectGroup1, ObjectGroup2 ...).
45 +)))
46 +|(% style="width:152px" %)Коллекция свойств|(% style="width:417px" %)Key-Value коллекция свойств, в которой ключ - строка.|(% style="width:953px" %)
47 +
48 +----
49 +
12 12  ==== Интерфейс ====
13 13  
52 +|(% style="width:193px" %)**Название**|(% style="width:171px" %)**Тип**|(% style="width:1158px" %)
53 +|(% style="width:193px" %)Rest API|(% style="width:171px" %) |(% style="width:1158px" %)
54 +|(% style="width:193px" %) |(% style="width:171px" %) |(% style="width:1158px" %)
55 +|(% style="width:193px" %)Cypher|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %)(((
56 +Язык запросов для работы с графовой структурой данных.
57 +Используется только в [[Neo4j>>WebHome]]
58 +)))
59 +|(% style="width:193px" %)SPARQL|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %)(((
60 +Язык запросов для работы с RDF.
61 +Используется для работы с графовыми онтологиями семантического веба.
62 +)))
63 +|(% style="width:193px" %)[[Apache TinkerPop Gremlin>>Разработка.Базы данных.NoSQL.Графовая структура.Apache TinkerPop Gremlin.WebHome]]|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %)
64 +|(% style="width:193px" %) |(% style="width:171px" %) |(% style="width:1158px" %)
65 +|(% style="width:193px" %)Base Api|(% style="width:171px" %)code api|(% style="width:1158px" %)
66 +|(% style="width:193px" %)Traversal Framework|(% style="width:171px" %)code api|(% style="width:1158px" %)
67 +
14 14  ----
15 15  
70 +==== Другое ====
71 +
16 16  Aspen is a simple markup language for creating graph data.
17 17  Aspen lets you write about people, places, things, and the relationships between them using marked-up text, and converts your text to valid Cypher that can be used in Neo4j graph databases.
18 18  https://aspen-lang.org/
XWiki.XWikiComments[0]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,7 @@
1 +База данных имеет определенную преимущества при определенных моделях данных (древовидная структура, структура ориентированная на связи между элементами).
2 +
3 +Например может быть более производительной при выполнении запросов, которые в sql решении называются рекурсивными.
4 +
5 +Имеет более широкий (по сравнению с sql) инструментарий для получения данных, основанные на отношениях.
6 +
7 +Отчасти избегает проблемы соединение отношений многие-ко-многим.
Дата
... ... @@ -1,0 +1,1 @@
1 +2022-06-25 10:45:09.364
XWiki.XWikiComments[1]
Автор
... ... @@ -1,0 +1,1 @@
1 +XWiki.cccc1808
Комментарий
... ... @@ -1,0 +1,5 @@
1 +Понятие "отправные точки" в запросе.
2 +
3 +1. В начале выполнения запроса БД выбирает узлы, с которых будет начинаться обход.
4 +(Например один или группа узлов могут быть указаны явно по некому атрибуту из коллекции свойств, при этом скорость их поиска будет зависеть в том числе от наличия индекса)
5 +1. Следующим шагом выполнения является обход графа из найденных на первом этапе узлов, с использованием критериев и ограничений запроса.
Дата
... ... @@ -1,0 +1,1 @@
1 +2022-06-25 10:46:57.413