Если вы хотите использовать PostgresQL в качестве серверной части, вы должны использовать SDB .Это более современная обертка для реляционных хранилищ для моделей Jena, чем старый драйвер db.Существует также документация по быстрому запуску для начала работы с SDB.
TDB - это постоянное хранилище, которое предоставляет альтернативу использованию реляционной базы данных в качестве внутреннего трехуровневого хранилища.TDB создает свои собственные индексы b-дерева на диске и управляет кэшированием для вас.Во всем остальном это кажется программисту как обычная Йена Model
.В TDB есть инструменты командной строки, которые помогают в процессе загрузки, хотя, поскольку они являются скриптами bash, они требуют Linux или cygwin.Чтобы загрузить dbpedia, это то, что я делал в прошлом:
$> tdbloader2 --loc ./tdb ./source/*.nt
, где ./source
- это каталог, куда я загружал различные файлы .nt
из dpbedia.На разумной машине это займет несколько часов, но определенно не дни.
После того, как у вас есть образ TDB в ./tdb
, просто следуйте документации , чтобы загрузить Model
в вашПрограмма на Java:
String directory = "./tdb" ;
Model model = TDBFactory.createModel(directory) ;
...
model.close() ;
Оттуда, просто используйте model
, как вы обычно используете любую модель Jena.Есть одно предупреждение: TDB не обеспечивает поддержку параллелизма.Если вашему приложению требуется одновременный доступ к хранилищу (в частности, любые записи одновременно с одной или несколькими операциями чтения), вам потребуется обработать блокировку на уровне приложения.