Для моего проекта у меня есть реляционная БД. Часто моя схема реляционной БД меняется. Недавно я сохранил все данные таблиц реляционной базы данных в одной большой таблице RDF. Таблица хранит данные как тройку. Он состоит из трех столбцов: «Тема», «Предикат», «Объект». Ниже приведен пример таблицы RDF:
Subject->Predicate->Object
1->name->Center
1->description->sample description
1->data->measure
2->data->parameter
2->relation->1
Я сохранил таблицу в Oracle и в настоящее время использую SQL для запроса БД. Однако моя таблица растет очень быстро, в ней много записей, а обработка SQL-запросов требует времени. Я считаю, что в ближайшем будущем таблица будет расти еще больше, и обработка запросов будет неэффективной. Итак, меня беспокоит эффективность.
Не могли бы вы проинформировать меня, как я могу эффективно хранить тройки RDF, чтобы на запросы к БД ушло меньше времени, даже если таблица очень большая.
Я не очень разбираюсь в базе данных RDF и языке запросов. Можно ли сделать таблицу Oracle RDF эффективной? Я видел, что люди говорят об инструменте Apache Jena и языке SPARQL. Решит ли это мою проблему? Если я использую Jena, тогда мне нужно хранить мою тройку RDF в формате XML, или мой текущий формат подходит? Как я могу использовать инструмент Jena? Также будет ли полезно использовать графовую базу данных вместо Oracle DB? Если да, то какой выбрать?