Исходный код вики Neo4j
Редактировал(а) Alexandr Fokin 2023/12/16 14:11
Последние авторы
author | version | line-number | content |
---|---|---|---|
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/ |