Как смоделировать схему для графовой базы данных? - PullRequest
1 голос
/ 07 июня 2019

Я знаком с системами реляционных баз данных, где определяются таблицы с конкретными столбцами, и все входящие данные хранятся точно так же, как моделируется в схеме базы данных. Все входящие данные автоматически проверяются, то есть нельзя сохранить запись с пропущенными обязательными значениями столбца.

Графовые базы данных, такие как neo4j, позволяют неограниченно и свободно хранить узлы и отношения. Мне интересно, есть ли что-то вроде схемы для графовых баз данных. Можно ли определить, что узел, представляющий User, всегда должен иметь хотя бы одно отношение к узлу, представляющему Department? Я не особо ищу путь neo4j, а скорее общий формализм или обозначения. Существует ли что-то подобное?

Для neo4j есть Ограничения , но они накладывают ограничения только на свойства узлов для определенных типов узлов. Я ищу подход к ограничениям на основе отношений модели.

EDIT: Я ищу установленную запись / определение схем в графовых базах данных, которая соответствует определениям схем таблиц в базе данных на основе реляционных таблиц. Тем временем я нашел предложение добавить узлы в базу данных, которые определяют метамодель здесь . Но я надеюсь найти ответы, которые могут указать мне на устоявшиеся передовые практики, исследовательские работы или математические определения, скажем, схемы базы данных, которая является подграфом общего графа и образует двудольный граф с узлами, содержащими фактические данные.

1 Ответ

0 голосов
/ 12 июня 2019

Мое понимание: Для реляционной модели данных мы должны попытаться преобразовать ее в описание естественного языка, а затем преобразовать описание естественного языка в графовую модель или другую модель.

Например, пользовательская таблица user_id является внешней конструкцией таблицы аннотаций, тогда выражение является естественным языком «заметок пользователя», но записи в пользовательской таблице также являются атрибутами пользователя, и Записи таблицы аннотаций привлекают к себе внимание. Атрибут, оба являются узлами, а отношение является внешним отношением

...