Исходный код вики Neo4j

Редактировал(а) Alexandr Fokin 2023/12/16 14:11

Последние авторы
1 ==== Общее ====
2
3 Neo4j - графовая БД.
4
5 Не имеет требований/механизмов для схемы данных. (Разные узлы, даже имеющие одну и ту же метку, могу содержать разные наборы свойств)
6
7 Разработана на языке [[Java>>Разработка.JVM.Java.WebHome]].
8
9 Graph Data Platform | Graph Database Management System | Neo4j
10 https://neo4j.com/
11
12 ----
13
14 ==== Структурные компоненты ====
15
16
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
32 ----
33
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
50 ==== Интерфейс ====
51
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
68 ----
69
70 ==== Другое ====
71
72 Aspen is a simple markup language for creating graph data.
73 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.
74 https://aspen-lang.org/