Как хранить графики RDF в хранилище данных?

Я хочу написать веб-приложение с рельсами, которое использует RDF для представления связанных данных. Но я действительно не знаю, как лучше всего хранить графы RDF в базе данных для постоянного хранения. Также я хочу использовать что-то вроде paper_trail для предоставления объектов базы данных версий.

Я читал про RDF.rb и activeRDF. Но RDF.rb не включает слой для хранения данных в базе данных. А как насчет ActiveRDF?

Я новичок в RDF. Каков наилучший подход к обработке больших графов RDF с помощью рельсов?

Изменить:

Я нашел 4Store и AllegroGraph, что подходит для Ruby on Rails. Я читал, что 4Store полностью бесплатен, а AllegroGraph в бесплатной версии ограничен 50 миллионами троек. Каковы преимущества каждого из них?

Спасибо.


person sn3ek    schedule 21.10.2012    source источник
comment
Возможно, вам следует рассмотреть возможность использования такого продукта, как Fuseki, для хранения ваших RDF. И если вам нужно управление версиями, я думаю, вам следует подумать о добавлении информации о версии в вашу модель данных.   -  person Sami Korhonen    schedule 22.10.2012
comment
Спасибо. Это помогло мне найти несколько альтернативных репозиториев. Так я нашел 4Store, AllegroGraph и некоторые другие. Каковы преимущества Fuseki?   -  person sn3ek    schedule 22.10.2012


Ответы (1)


Ваш опрос по базе данных довольно неполный. Также есть BigData, OWLIM, Stardog, Виртуоз, Сезам, Mulgara, а также TDB или SDB, предоставленные Jena. .

Чтобы уточнить, Fuseki — это просто серверный компонент для бэкэнда, который поддерживает Jena API для обеспечения поддержки протокола SPARQL. Как правило, поскольку вы используете Ruby, именно так вы будете взаимодействовать с базой данных — через HTTP с использованием протокола SPARQL. Вероятно, каждая отдельная база данных поддерживает HTTP-протокол SPARQL для запросов, и многие будут поддерживать что-то вроде протокола обновления SPARQL, протокола хранилища графа или аналогичного пользовательского HTTP-протокола для обработки обновлений.

Итак, если вы настроены на использование Rails, то лучше всего выбрать базу данных, разработать простую оболочку для протокола HTTP, возможно, добавить поддержку в существующую библиотеку Ruby, если она существует, и создать свое приложение на основе этой поддержки. .

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

person Michael    schedule 22.10.2012