Подтвердить что ты не робот

База данных графиков: TinkerPop/Blueprints vs W3C Связанные данные

Ищете инфраструктуру для анализа сети для гетерогенных (несколько типов node (многорежимный), множественный тип (многосвязный) и несколько описательных (многофункциональных)) сетей, я заметил, что там это два стандартных стека в мире базы данных Graph:

С одной стороны, у нас есть ThinkPop/Blueprint модель графа свойств. Он поддерживается Neo4j, OrientDB GraphDB, Dex, Titan, InfiniteGraph и т.д.

Стек Tinkerpop включает в себя интерфейс модели свойств Blueprint, трафик Gremlin языка и Furnace.

С другой стороны, мы имеем стек технологий W3C Linked Data, который поддерживается AllegroGraph, 4store, Oracle Semantic Technologies, OWLIM, Sitap BigData и т.д.

Семантические данные представлены с помощью RDF/RDFS/OWL, и его можно запросить с помощью SPARQL. В верхней части он предлагает правила и рассуждения.

Теперь предположим, что я хочу представлять гетерогенные данные в базе данных графа и анализировать такие данные (статистика, обнаружение отношений, структура, эволюция и т.д.) (я знаю, что эти термины являются широкими и неопределенными) - Что являются ли относительные сильные стороны каждой модели для различных типов задач сетевого анализа? Связаны ли эти две модели друг с другом?

4b9b3361

Ответ 1

Пара вещей, ваши экземпляры связанных стеков данных - это все три магазина. Вы начнете создавать связанное приложение данных, сначала создав свой трёхлокальный магазин, но вызов базы данных связанного стека данных будет некорректным. Это также неполный список тройных магазинов, также есть Сезам, Jena, Mulgara и Stardog. Кунжут и Йена - это двойная обязанность, они являются двумя стандартными Java-интерфейсами Java для семантической сети, но оба предоставляют тройные магазины, поставляемые в комплекте с API. Я также знаю, что и Cray, и IBM работают над тройными магазинами, но на данный момент я мало что знаю. Я знаю, что Stardog хорошо работает со стеком TinkerPop и что он в основном заходит и начинает писать запросы Гремлина против RDF.

Я считаю, что сильные стороны RDF/OWL - это то, что вы 1) получаете реальный язык запросов 2) они являются стандартами w3c и 3) вы получаете рассуждения, если трёхмерный магазин поддерживает его, бесплатно (более или менее - вам все равно придется писать онтологию).

Благодаря стандарту RDF/OWL/SPARQL, довольно легко подобрать и перейти в новый трехлокальный магазин с другим набором функций, если вам нужно, ваши данные уже находятся в общем формате, который каждый понимает, и любой логика приложения, закодированная как запросы, полностью переносима. И в большинстве случаев вы будете писать против API-интерфейсов Sesame или Jena или работать над протоколом SPARQL, поэтому вам может потребоваться изменить только конфигурацию /init. Я думаю, что большая победа на ранних этапах прототипирования.

Я также считаю, что RDF/OWL, особенно комбинированные с рассуждениями и типы сложных запросов SPARQL, которые вы можете создать с помощью нового SPARQL 1.1, действительно хорошо подходят для создания сложных аналитических приложений. Кроме того, я думаю, что впечатление, что большинство людей считают, что тройные магазины RDF не масштабируются, уже не верны. Большинство трёх магазинов в этой точке легко масштабируются в миллиарды троек и имеют очень конкурентоспособные показатели пропускной способности.

Итак, основываясь на том, что я думаю, что вы можете делать, я думаю, что semweb может быть лучше для вас. Я сделал аналогичный проект несколько лет назад, используя RDF и RDFS для бэкэнд, с помощью простого веб-приложения на основе Pylons, и был очень доволен результатами.