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