Исходный код вики Neo4j
Редактировал(а) Alexandr Fokin 2023/12/16 14:11
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
2.5 | 1 | ==== Общее ==== |
2 | |||
![]() |
2.3 | 3 | Neo4j - графовая БД. |
![]() |
2.1 | 4 | |
![]() |
3.2 | 5 | Не имеет требований/механизмов для схемы данных. (Разные узлы, даже имеющие одну и ту же метку, могу содержать разные наборы свойств) |
![]() |
2.1 | 6 | |
![]() |
3.2 | 7 | Разработана на языке [[Java>>Разработка.JVM.Java.WebHome]]. |
8 | |||
![]() |
2.7 | 9 | Graph Data Platform | Graph Database Management System | Neo4j |
10 | https://neo4j.com/ | ||
11 | |||
![]() |
2.3 | 12 | ---- |
13 | |||
![]() |
2.4 | 14 | ==== Структурные компоненты ==== |
![]() |
2.3 | 15 | |
![]() |
2.4 | 16 | |
![]() |
2.5 | 17 | |=(% style="width: 152px;" %)Элемент|=(% style="width: 417px;" %)Описание|=(% style="width: 953px;" %)Отношение |
18 | |(% style="width:152px" %)Узлы|(% style="width:417px" %)Ноды графа.|(% style="width:953px" %)((( | ||
19 | Каждый узел: | ||
20 | |||
21 | * Имеет коллекцию свойств. | ||
![]() |
2.9 | 22 | * Имеет от 1 до n меток. |
![]() |
2.5 | 23 | ))) |
24 | |(% style="width:152px" %)Взаимосвязи|(% style="width:417px" %)Ребра графа, связывающие 2 узла.|(% style="width:953px" %)((( | ||
25 | Каждая взаимосвязь: | ||
26 | |||
27 | * Является направленной (Узел1 -> Узел2). | ||
![]() |
3.10 | 28 | (При этом в запросе можно явно указать игнорирования направления) |
![]() |
2.5 | 29 | * Имеет единственное строкове имя. |
30 | * Имеет коллекцию свойств. | ||
![]() |
3.10 | 31 | |
32 | ---- | ||
33 | |||
34 | Способы обозначения подвидов связи: | ||
35 | |||
36 | * За счет объявления разных имен связей. | ||
37 | * Объявление одного имени связи, но добавление атрибута "тип связи" в коллекцию свойств связи. | ||
38 | |||
39 | (Указанные способы могут различаться по влиянию на производительность запросов) | ||
![]() |
2.5 | 40 | ))) |
![]() |
3.10 | 41 | |(% style="width:152px" %)Метки|(% style="width:417px" %)Инструмент группировки узлов, обозначения их ролей.|(% style="width:953px" %)((( |
42 | Можно сказать, что к каждой метке привязана коллекция узлов. | ||
43 | |||
44 | При этом за счет меток можно ввести неявную иерархию - обозначив общей меткой некое множество узлов целиком (AllObjects), и отдельными метками его подмножества (ObjectGroup1, ObjectGroup2 ...). | ||
45 | ))) | ||
![]() |
3.2 | 46 | |(% style="width:152px" %)Коллекция свойств|(% style="width:417px" %)Key-Value коллекция свойств, в которой ключ - строка.|(% style="width:953px" %) |
![]() |
2.5 | 47 | |
![]() |
2.3 | 48 | ---- |
49 | |||
![]() |
2.4 | 50 | ==== Интерфейс ==== |
51 | |||
![]() |
2.7 | 52 | |(% style="width:193px" %)**Название**|(% style="width:171px" %)**Тип**|(% style="width:1158px" %) |
![]() |
3.12 | 53 | |(% style="width:193px" %)Rest API|(% style="width:171px" %) |(% style="width:1158px" %) |
![]() |
3.11 | 54 | |(% style="width:193px" %) |(% style="width:171px" %) |(% style="width:1158px" %) |
![]() |
2.7 | 55 | |(% style="width:193px" %)Cypher|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %)((( |
![]() |
2.6 | 56 | Язык запросов для работы с графовой структурой данных. |
57 | Используется только в [[Neo4j>>WebHome]] | ||
58 | ))) | ||
![]() |
2.7 | 59 | |(% style="width:193px" %)SPARQL|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %)((( |
60 | Язык запросов для работы с RDF. | ||
61 | Используется для работы с графовыми онтологиями семантического веба. | ||
62 | ))) | ||
![]() |
5.1 | 63 | |(% style="width:193px" %)[[Apache TinkerPop Gremlin>>Разработка.Базы данных.NoSQL.Графовая структура.Apache TinkerPop Gremlin.WebHome]]|(% style="width:171px" %)Язык запросов|(% style="width:1158px" %) |
![]() |
3.11 | 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" %) | ||
![]() |
2.6 | 67 | |
![]() |
2.4 | 68 | ---- |
69 | |||
![]() |
2.5 | 70 | ==== Другое ==== |
71 | |||
![]() |
2.1 | 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/ |