Есть ли такая вещь, как схема в графовой базе данных? - PullRequest
9 голосов
/ 29 июля 2011

Есть ли такая вещь, как схема в графовой базе данных? Например, можете ли вы указать, какие типы узлов могут иметь отношения с какими другими типами узлов?

Как выглядит такая схема?

Ответы [ 3 ]

5 голосов
/ 02 января 2014

Да. Схемы полезны при выборе меток вершин, которые являются частью Neo4J 2 и Tinkerpop 3. Я думаю, что запись схемы помогает прояснить, как должен использоваться график, хотя большинство баз данных не поддерживают проверки относительно схемы.

У меня более длинный пост о том, как нарисовать схему в виде графика. http://lambdazen.blogspot.com/2014/01/do-property-graphs-have-schemas.html

4 голосов
/ 30 июля 2011

Графические базы данных сильно отличаются в этой области, как говорит das_weezul . В общем случае я думаю, что графовые базы данных, которые ближе к объектным базам данных ( OODB ), также имеют встроенную поддержку схем. Хорошая особенность графических баз данных в том, что они очень хорошо подходят для смешивания данных и метаданных. Поэтому общий подход как к поддержке схем, так и к безопасности заключается в том, чтобы хранить метаданные такого типа в (иногда скрытой) части одного и того же графика.

Когда дело доходит до Neo4j - где я в команде - в настоящее время используется как минимум два подхода для определения схем:

  • Определение схемы в аннотациях, например, с использованием Spring Data Graph ( docs ).
  • Использование слоя meta-model поверх базы данных.

Более подробную информацию по этой теме вы найдете на myNoSQL .

3 голосов
/ 30 июля 2011

База данных графа всегда будет иметь элементарную схему, состоящую из (как минимум) объектов Vertex и Edge, где Edge может содержать данные о конкретной взаимосвязи. Степень, до которой вы можете добавить эту схему, сильно различается в разных реализациях. Вы можете настроить схему, наследуя, например, объекты Edge и / или Vertex.

Если база данных графа использует базовую СУБД или СУБД, то у вас может быть доступ к более мощным возможностям создания и обработки схем.

...