Следуя инструкциям, я создал индекс, охватывающий несколько ( буквальные-) предикаты:
PREFIX luc: <http://www.ontotext.com/owlim/lucene#>
INSERT DATA {
luc:index luc:setParam "uris" .
luc:include luc:setParam "literals" .
luc:moleculeSize luc:setParam "1" .
luc:includePredicates luc:setParam "http://purl.org/dc/terms/title http://www.w3.org/2000/01/rdf-schema#label http://www.w3.org/2004/02/skos/core#prefLabel http://www.w3.org/2004/02/skos/core#altLabel" .
}
а также
PREFIX luc: <http://www.ontotext.com/owlim/lucene#>
INSERT DATA {
luc:${Cfg.literalIndex} luc:createIndex "true" .
}
Эта часть, кажется, работает нормально. У меня вопрос: есть ли способ получить соответствующий предикат или литерал в моем запросе SPARQL?
Итак, предположим следующие данные:
:exA rdfs:label 'label' ;
dct:title 'title' .
Я бы хотел сделать что-то подобное
SELECT *
WHERE {
?needle luc:labelIndex "title" ;
luc:predicate ?predicate ;
?predicate ?label .
}
Если что-то вроде этого luc:predicate
существует, это могло бы дать мне фактически совпавший предикат вместе со значением совпадений. Однако я даже не уверен, что Lucene индексирует предикат, который потребуется для включения такой функции.