Может ли OrientDB обрабатывать несколько корневых

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

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

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

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

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


person Community    schedule 22.05.2012    source источник


Ответы (1)


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

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

person Lvca    schedule 22.05.2012