Результаты SIREn N-Tuples
Возможно ли в SIREn работать со значениями N-Tuples (по именам) в SolrDocument? Я хочу проанализировать результаты запроса без регулярного выражения строки ответа.
Что-то вроде:
SolrDocument.getField("ntriple","name"); // get "Jim Maple" value for '<http:/example.org/schema/name> predicate
Больше деталей:
//N-Tuple from the IndexQueryNTriple.java file
private final String[] doc1 =
{ "http:/example.org/person/jim",
"<http:/example.org/person/jim> <http:/example.org/schema/type> <http:/example.org
/schema/Person> .\n" +
"<http:/example.org/person/jim> <http:/example.org/schema/name> \"Jim Maple\" .\n"
};
final SolrInputDocument document1 = new SolrInputDocument();
document1.addField("url", doc1[0]);
document1.addField("ntriple", doc1[1]);
add(document1);
final SolrQuery query2 = new SolrQuery();
query2.setQueryType("siren");
query2.set(SirenParams.NQ, "* <name> 'john AND gartner'"); // ntriple query
final QueryResponse response2 = server.query(query2);
for (SolrDocument d : response2.getResults()) {
///?????? want to get 'name' value from the long N-Triple string with ALL values
d.getField("ntriple","name"); // get "Jim Maple" value
}
2 ответа
Решение
К сожалению, NxParser имеет некоторые ограничения для формата триплетов, которые он может анализировать
Я нашел библиотеку NxParser для анализа необходимых N-кортежей.