2012-05-22 3 views
1

Я новичок в концепции GraphDB, поэтому, пожалуйста, простите меня, если я что-то не понял. Этот вопрос в первую очередь касается OrientDB, поскольку я заинтересован в его использовании в качестве гибридного DB + Graph.Может OrientDB обрабатывать несколько корней

Хотя документация от Raw API OrientDB, кажется, мы предлагаем должны объявить корневой узел и дать ему имя ... http://code.google.com/p/orient/wiki/GraphDatabaseRaw

Однако мне интересно, если это абсолютно необходимо. Поскольку я вижу, что независимые графики являются гораздо более обычным практическим использованием и заданы архитектурой OrientDB (GraphDB построен поверх базы данных на основе документа). Конечно, я должен иметь возможность создавать несколько независимых графов в классе Cluster/Class и перемещаться по графику, указав «начальный» узел.

Идеал одного «корневого» узла для «типа/класса» данных кажется слишком строгим.

Есть ли кто-нибудь с лучшими примерами для обработки OrientDB с использованием API Raw Graph? Я не хочу использовать Tinkerpop в соответствии с этой страницей. http://code.google.com/p/orient/wiki/JavaAPI API Tinkerpop намного медленнее, чем Raw Graph API (и я создаю приложение, ориентированное на производительность), но я не могу найти примеры типичного использования.

ответ

1

Корневые узлы являются необязательными как способ начать пересечение графика без запросов. Вы можете избежать его использования и выполнить запрос, чтобы получить свои элементы графика.

Об использовании TinkerPop Blueprints вы можете оставаться гибридным на этом уровне, используя собственный API только тогда, когда производительность является реальной необходимостью (после некоторых тестов) и позволяя Gremlin большей частью проходить.

Смежные вопросы