Можно ли индексировать внешние данные RDF?Как и в RDF, существует тройка с объектом в виде ссылки на внешний файл.Можно ли индексировать содержимое этого файла вместо значения ссылки?
Абсолютно.Lucene является основной частью GraphDB и предлагает стандартную функциональность, которая поставляется с автономной Lucene.Данные должны быть параметризованы как строковый литерал.<http://www.example.org/> rdfs:label "An example webpage url."@EN . Затем вы можете настроить индекс Lucene:
<http://www.example.org/> rdfs:label "An example webpage url."@EN .
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://www.w3.org/2000/01/rdf-schema#label" . }
И, получив конфигурацию, вы можете создать индекс.
PREFIX luc: <http://www.ontotext.com/owlim/lucene#> INSERT DATA { luc:myTestIndex luc:createIndex "true" . }
И, учитывая индекс и ваши данныевы можете запросить его.
PREFIX luc: <http://www.ontotext.com/owlim/lucene#> SELECT * { ?subj luc:myTestIndex "web*" }
Поскольку вы спрашиваете о предмете, содержащем строку web *, вы получите <http://www.example.org/>.Если бы у вас были другие тройки, ссылающиеся на эту, они могли бы также появиться.
<http://www.example.org/>
Дополнительная информация о том, как GraphDB взаимодействует с Lucene и его Полнотекстовый поиск *Возможности 1017 * можно найти в документации к GraphDB.