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

Page / - Изменено Alexandr Fokin в 2022/06/25 14:41 

Neo4j 
Изменено Alexandr Fokin
в 2022/06/25 14:41

Оглавление

Общее
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/