Диалект Hibernate для RDF с тройным хранилищем

Нам нужно работать над проектом на основе JPA с использованием Hibernate. На данный момент он работает в базе данных H2 по умолчанию с диалектом H2 по умолчанию.

Мы хотели бы перенести наш проект в базу данных с тройным хранилищем, такую ​​как OpenRDF Sesame.

Мне было интересно, лучший ли способ найти/создать собственный диалект для OpenRDF? Возможный? Или если нам придется прекратить использовать Hibernate?

Я новичок в диалекте Hibernate, но я видел несколько пользовательских... Итак, можно ли создать один для базы данных Triplestore?


person Jocelyn    schedule 10.02.2014    source источник
comment
FWIW в настоящее время мы изучаем возможность реализации Sesame для Hibernate OGM. Хотя ранние дни.   -  person Jeen Broekstra    schedule 13.02.2014


Ответы (1)


Вы можете попробовать использовать Empire, который является реализацией JPA для RDF и SPARQL, в отличие от RDBMS и SQL.

Empire не зависит от API, поэтому вы можете легко использовать с ним любую базу данных, совместимую с Sesame или Jena API, что требует только изменений в конфигурации. Должно быть довольно просто реализовать поддержку других провайдеров.

Он не охватывает все JPA, есть некоторое несоответствие между частями, которые в настоящее время опущены, но основы покрыты. Есть несколько специфичных для RDF аннотаций, которые необходимо включить, чтобы существующая реализация Hibernate заработала, но это должен быть простой переход.

В прошлом я выполнял миграцию через Empire с СУБД на Sesame, включая этап, на котором я сохранял обе системы, и все прошло довольно хорошо.

(отказ от ответственности, я автор Империи)

person Michael    schedule 11.02.2014
comment
Хороший проект! Я этого не знал. У меня только что была встреча по этому проекту, и мы не будем хранить все данные в Sesame. Возможно ли иметь проект JPA с двумя поставщиками данных JPA? - person Jocelyn; 13.02.2014
comment
Я сделал именно это, используя Play! framework, Sesame и mysql, которые отлично сработали; Играть в! мне было довольно легко это сделать, но ymmv - person Michael; 13.02.2014