Я хочу проиндексировать две разные модели OntModel и выполнить на них запросы sparql. Например:
String query = "PREFIX fise: <http://fise.iks-project.eu/ontology/>\n"
+ "PREFIX pf: <http://jena.hpl.hp.com/ARQ/property#>\n"
+ "PREFIX skos: <http://www.w3.org/2004/02/skos/core#>\n"
+ "SELECT distinct ?def\n" + "WHERE {\n"
+ " ?item a skos:Concept .\n"
+ " ?item skos:definition ?def.\n"
+ " (?label ?score) pf:textMatch 'someKeyword'. \n"
+ "};
ResultSet result = QueryExecutionFactory.create(query, ontModel1).execSelect();
ResultSet result2 = QueryExecutionFactory.create(query, ontModel2).execSelect();
Как я могу создать разные индексы для двух моделей ont или я должен это сделать? В конце концов, мне нужно запросить две модели ont с помощью функций LARQ.
Насколько я понимаю, чтобы иметь возможность использовать функции lucene при выполнении SPARQL, нам необходимо реализовать код, подобный следующему.
IndexBuilderString larqBuilder = new IndexBuilderString();
larqBuilder.indexStatements(ontModel.listStatements());
IndexLARQ index = larqBuilder.getIndex();
LARQ.setDefaultIndex(index);
Но этот код позволяет установить единый индекс. Более того, я не хочу объединять две модели ont. Есть концепция Concext, но я не понимал, как ее использовать.