Графовая структура - Neo4j

Page / - Изменено Alexandr Fokin в 2022/02/11 19:39

Neo4j

Изменено Alexandr Fokin

в 2022/02/11 19:39

Оглавление

Общее

Neo4j - графовая БД.

Не имеет требований/механизмов для схемы данных. (Разные узлы, даже имеющие одну и ту же метку, могу содержать разные наборы свойств)

Разработана на языке Java.

Graph Data Platform | Graph Database Management System | Neo4j
https://neo4j.com/

Структурные компоненты

Элемент	Описание	Отношение
Узлы	Ноды графа.	Каждый узел: Имеет коллекцию свойств. Имеет от 1 до n меток.
Взаимосвязи	Ребра графа, связывающие 2 узла.	Каждая взаимосвязь: Является направленной (Узел1 -> Узел2). (При этом в запросе можно явно указать игнорирования направления) Имеет единственное строкове имя. Имеет коллекцию свойств. Способы обозначения подвидов связи: За счет объявления разных имен связей. Объявление одного имени связи, но добавление атрибута "тип связи" в коллекцию свойств связи. (Указанные способы могут различаться по влиянию на производительность запросов)
Метки	Инструмент группировки узлов, обозначения их ролей.	Можно сказать, что к каждой метке привязана коллекция узлов. При этом за счет меток можно ввести неявную иерархию - обозначив общей меткой некое множество узлов целиком (AllObjects), и отдельными метками его подмножества (ObjectGroup1, ObjectGroup2 ...).
Коллекция свойств	Key-Value коллекция свойств, в которой ключ - строка.

Интерфейс

Название	Тип
Rest API
Cypher	Язык запросов	Язык запросов для работы с графовой структурой данных. Используется только в Neo4j
SPARQL	Язык запросов	Язык запросов для работы с RDF. Используется для работы с графовыми онтологиями семантического веба.
Apache TinkerPop Gremlin	Язык запросов
Base Api	code api
Traversal Framework	code api

Другое

Aspen is a simple markup language for creating graph data.
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.
https://aspen-lang.org/