Я пытаюсь включить полнотекстовый поиск в экземпляре Fuseki v3.12, но я получаю сообщение об ошибке, показанное ниже. FAIR.ttl уже существует в каталоге run / configuration /. Я только что добавил индексную часть Lucene в файл ttl (в моем случае FAIR.ttl).
FAIR.ttl выглядит так:
@prefix : <http://base/#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix tdb2: <http://jena.apache.org/2016/tdb#> .
@prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix fuseki: <http://jena.apache.org/fuseki#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
tdb2:DatasetTDB rdfs:subClassOf ja:RDFDataset .
ja:DatasetTxnMem rdfs:subClassOf ja:RDFDataset .
<http://jena.hpl.hp.com/2008/tdb#DatasetTDB>
rdfs:subClassOf ja:RDFDataset .
<http://jena.hpl.hp.com/2008/tdb#GraphTDB>
rdfs:subClassOf ja:Model .
tdb2:GraphTDB2 rdfs:subClassOf ja:Model .
ja:MemoryDataset rdfs:subClassOf ja:RDFDataset .
ja:RDFDatasetZero rdfs:subClassOf ja:RDFDataset .
<http://jena.apache.org/text#TextDataset>
rdfs:subClassof ja:RDFDataset .
:service_tdb_all a fuseki:Service ;
rdfs:label "TDB2 FAIR" ;
fuseki:dataset :tdb_dataset_readwrite ;
fuseki:name "FAIR" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore
"data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .
:tdb_dataset_readwrite
a tdb2:DatasetTDB2 ;
tdb2:location "../applications/apache-jena-fuseki-3.12.0/run/databases/FAIR" .
tdb2:GraphTDB rdfs:subClassOf ja:Model .
<http://jena.apache.org/spatial#SpatialDataset>
rdfs:subClassOf ja:RDFDataset .
ja:RDFDatasetOne rdfs:subClassOf ja:RDFDataset .
ja:RDFDatasetSink rdfs:subClassOf ja:RDFDataset .
tdb2:DatasetTDB2 rdfs:subClassOf ja:RDFDataset .
###############################################
## below is what I added to for the Lucene index
# Text index description
<#indexLucene> a text:TextIndexLucene ;
text:directory <file:../applications/apache-jena-fuseki-3.12.0/LuceneIndexing"> ;
text:entityMap <#entMap> ;
.
<#entMap> a text:EntityMap ;
text:defaultField "text" ;
text:entityField "uri" ;
text:map (
#RDF label abstracts
[ text:field "text" ;
text:predicate <http://www.w3.org/2000/01/rdf-schema#label> ;
text:analyzer [
a text:StandardAnalyzer
]
]
) .
<#service_text_tdb> rdf:type fuseki:Service ;
fuseki:name "ds" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:dataset :text_dataset ;
.
Затем я запускаю команду:
java -cp fuseki-server.jar jena.textindexer --desc=run/cguration/FAIR.ttl
Я получил ошибку, как показано ниже:
org.apache.jena.sparql.ARQException: No such type: <http://jena.apache.org/text#TextDataset>
at org.apache.jena.sparql.core.assembler.AssemblerUtils.build(AssemblerUtils.java:134)
at org.apache.jena.query.text.TextDatasetFactory.create(TextDatasetFactory.java:38)
at jena.textindexer.processModulesAndArgs(textindexer.java:90)
at jena.cmd.CmdArgModule.process(CmdArgModule.java:52)
at jena.cmd.CmdMain.mainMethod(CmdMain.java:92)
at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
at jena.textindexer.main(textindexer.java:52)
С помощью Google я могу найти очень ограниченное решение. Единственную проблему, которую я обнаружил, можно найти по ссылке ниже, но этот вопрос не получил ответа. http://mail-archives.apache.org/mod_mbox/jena-users/201910.mbox/%3Ctrinity-9a681d06-863f-43f4-beb3-24b8b03d8be0-1570382817685@3c-app-mailcom-lxa16%3E
Я попытался отладить, но эта проблема все еще остается. Кажется, это не имеет никакого отношения к описанию индекса # Text, которое я добавил в конце FAIR.ttl. Потому что, если я удалю эту часть, проблема все еще возникает.
Речь идет о линии
<http://jena.apache.org/text#TextDataset>
rdfs:subClassof ja:RDFDataset .
У кого-нибудь есть идея? Заранее спасибо.