GraphDB поддерживает плагин FTS Lucene для создания «молекулы» RDF для эффективного индексирования текстов.Однако, если в слове, которое вы ищете, есть опечатка (missspell), Lucene не получит результат.Интересно, возможно ли реализовать FuzzyQuery на основе алгоритма Дамерау-Левенштейна поверх индекса Lucene в GraphDB для FTS.Таким образом, даже если слово написано неправильно, вы можете получить список более «закрытых» слов на основе сходства расстояния редактирования.
Это индекс, который я создал для индексирования меток NounSynset в WordNet RDF.
PREFIX wn20schema: <http://www.w3.org/2006/03/wn/wn20/schema/>
INSERT DATA {
luc:index luc:setParam "uris" .
luc:include luc:setParam "literals" .
luc:moleculeSize luc:setParam "1" .
luc:includePredicates luc:setParam "http://www.w3.org/2000/01/rdf-schema#label" .
luc:includeEntities luc:setParam wn20schema:NounSynset.
luc:nounIndex luc:createIndex "true".
}
При выполнении запроса
select * where {
{?id luc:nounIndex "credict"}
?id luc:score ?score.
}
Результат пуст, и я хотел бы получить хотя бы слово "credit", поскольку расстояние редактирования равно 1.
Спасибо !!!