Как отфильтровать большую модель Jena в TDB
У меня есть большая модель RDF, которая не помещается в памяти. В настоящее время я загружаю все это в TDB, но вместо этого я бы хотел отфильтровать его, сосредоточив внимание только на подграфе (все свойства всех ресурсов, которые являются подклассом или типом некоторой "корневой" концепции).
Я попытался выполнить инструкцию DESCRIBE для полной модели TDB, которая описывает подмножество интересующего меня графа ({? X rdf:type/rdfs:subClassOf*? Type }). У меня есть две проблемы:
В меньшем наборе данных [sample] оператор DESCRIBE завершается, но я не могу понять, как записать полученную модель обратно в TDB (я хочу выбросить все остальные данные). Я пытался вызвать tdbModel.setDefaultModel(), но он выдает исключение. Итак, что я сейчас делаю, это создаю второе местоположение TDB, получаю модель по умолчанию, а затем добавляю результат оператора DESCRIBE в эту другую модель. Есть ли способ лучше?
В полном наборе данных, я думаю, что оператор DESCRIBE приведет к более чем 500 тыс. Троек и будет выполняться в течение пары часов без завершения. Есть ли более эффективный способ сделать это?