2013/10/11 Andy Seaborne <[email protected]> > On 10/10/13 07:25, Alexei Golovko wrote: > >> Could not enable pellet reasoner. >> >> If I use approach from the quoted thread, I see: >> >> >> Error 500: tried to access field >> com.hp.hpl.jena.reasoner.**BaseInfGraph.isPrepared from class >> org.mindswap.pellet.jena.**PelletInfGraph >> >> > Running java -cp "${JARS}" org.apache.jena.fuseki.FusekiCmd --update --version --desc=pellet-ex.ttl /inf gives:
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/i/jena-fuseki-1.0.0/fuseki-server.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/i/pellet-2.3.1/lib/jena/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. Jena: VERSION: 2.11.0 Jena: BUILD_DATE: 2013-09-12T10:49:49+0100 ARQ: VERSION: 2.11.0 ARQ: BUILD_DATE: 2013-09-12T10:49:49+0100 RIOT: VERSION: 2.11.0 RIOT: BUILD_DATE: 2013-09-12T10:49:49+0100 TDB: VERSION: 1.0.0 TDB: BUILD_DATE: 2013-09-12T10:49:49+0100 Fuseki: VERSION: 1.0.0 Fuseki: BUILD_DATE: 2013-09-12T10:49:49+0100 > Is the version of Pellet you are using compatible with the version of > Jena in the Fuseki you have? > > (start fuseki with argument "--version" to get the version of components.) > > > > (running fuseki as >> java -cp "${JARS}" org.apache.jena.fuseki.**FusekiCmd --update >> --desc=pellet-ex.ttl /inf >> , where content of pellet-ex.ttl is given below). >> >> If I try select pellet reasoner in modified config-inf-tdb.ttl (running >> fuseki as >> java -cp "${JARS}" org.apache.jena.fuseki.**FusekiCmd >> --config=pellet.ttl /inf >> , where pellet.ttl is given below), fuseki does not start with message: >> com.hp.hpl.jena.assembler.**exceptions.**AmbiguousSpecificTypeException**: >> cannot >> find a most specific type for >> file:///home/i/jena-fuseki-1.**0.0/pellet.ttl#myReasoner, which has as >> possibilities: ja:ReasonerFactory ja:InfModel. >> doing: >> root: file:///home/i/jena-fuseki-1.**0.0/pellet.ttl#model_inf with >> type: >> http://jena.hpl.hp.com/2005/**11/Assembler#InfModel<http://jena.hpl.hp.com/2005/11/Assembler#InfModel>assembler >> class: class >> com.hp.hpl.jena.assembler.**assemblers.InfModelAssembler >> root: file:///home/i/jena-fuseki-1.**0.0/pellet.ttl#dataset with >> type: >> http://jena.hpl.hp.com/2005/**11/Assembler#RDFDataset<http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset>assembler >> class: class >> com.hp.hpl.jena.sparql.core.**assembler.DatasetAssembler >> >> What am I missing? >> > > Something in the config is wrong at <#myReasoner_inf> -- it coudl be that > it is both a model and an inference engine. > > Oh, sorry, I have repeatedly used ... ja:reasoner <#myReasoner> . <#myReasoner> ja:reasoner ... . which obviously raise this error. Now fuseki starts, the only remaining problem is 500 error, same as above. > Andy > > > >> 2013/10/7 Alexei Golovko <[email protected]> >> >> Thank you, I will try Pellet. (Actually, this was already in my plans, >>> but >>> section of Pellet documentation about using with Jena is so short. Though >>> there seems to exist configuration example in >>> http://mail-archives.apache.**org/mod_mbox/jena-users/** >>> 201106.mbox/%3CDDD95E03-9BB4-**423A-8FB6-A1DEE8E2EA97@gmx.**net%3E<http://mail-archives.apache.org/mod_mbox/jena-users/201106.mbox/%[email protected]%3E> >>> .) >>> >>> >>> I use fuseki-1.0.0, pellet-2.3.1. >> >> echo ${JARS} >> /home/i/jena-fuseki-1.0.0/**fuseki-server.jar:/home/i/** >> pellet-2.3.1/lib/aterm-java-1.**6.jar:/home/i/pellet-2.3.1/** >> lib/pellet-cli.jar:/home/i/**pellet-2.3.1/lib/pellet-core.** >> jar:/home/i/pellet-2.3.1/lib/**pellet-datatypes.jar:/home/i/** >> pellet-2.3.1/lib/pellet-el.**jar:/home/i/pellet-2.3.1/lib/** >> pellet-explanation.jar:/home/**i/pellet-2.3.1/lib/pellet-** >> jena.jar:/home/i/pellet-2.3.1/**lib/pellet-modularity.jar:/** >> home/i/pellet-2.3.1/lib/**pellet-owlapiv3.jar:/home/i/** >> pellet-2.3.1/lib/pellet-**pellint.jar:/home/i/pellet-2.** >> 3.1/lib/pellet-query.jar:/**home/i/pellet-2.3.1/lib/** >> pellet-rules.jar:/home/i/**pellet-2.3.1/lib/pellet-test.**jar >> >> >> pellet-ex.ttl (used as --desc=pellet-ex.ttl): >> @prefix rdf: >> <http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>> >> . >> @prefix rdfs: >> <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>> >> . >> @prefix ja: >> <http://jena.hpl.hp.com/2005/**11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>> >> . >> <#dataset> rdf:type ja:RDFDataset ; >> ja:defaultGraph <#inf_graph> ; >> . >> <#inf_graph> rdf:type ja:InfModel ; >> ja:reasoner [ja:reasonerClass >> "org.mindswap.pellet.jena.**PelletReasonerFactory" ; >> ] ; >> ja:baseModel <#baseGraph> >> . >> >> <#baseGraph> a ja:MemoryModel ; >> ja:content [ja:externalContent >> <file:///home/i/jena-fuseki-1.**0.0/Data/books.ttl>] >> . >> >> pellet.ttl (used as config): >> # Licensed under the terms of http://www.apache.org/** >> licenses/LICENSE-2.0 <http://www.apache.org/licenses/LICENSE-2.0> >> >> @prefix : <#> . >> @prefix fuseki: >> <http://jena.apache.org/**fuseki#<http://jena.apache.org/fuseki#>> >> . >> @prefix rdf: >> <http://www.w3.org/1999/02/22-**rdf-syntax-ns#<http://www.w3.org/1999/02/22-rdf-syntax-ns#>> >> . >> @prefix owl: >> <http://www.w3.org/2002/07/**owl#<http://www.w3.org/2002/07/owl#>> >> . >> @prefix rdfs: >> <http://www.w3.org/2000/01/**rdf-schema#<http://www.w3.org/2000/01/rdf-schema#>> >> . >> @prefix tdb: >> <http://jena.hpl.hp.com/2008/**tdb#<http://jena.hpl.hp.com/2008/tdb#>> >> . >> @prefix ja: >> <http://jena.hpl.hp.com/2005/**11/Assembler#<http://jena.hpl.hp.com/2005/11/Assembler#>> >> . >> >> [] rdf:type fuseki:Server ; >> ja:context [ ja:cxtName "arq:outputGraphBNodeLabels" ; ja:cxtValue >> "true" ] ; >> fuseki:services ( >> <#service1> >> ) . >> >> # Custom code. >> [] ja:loadClass "com.hp.hpl.jena.tdb.TDB" . >> >> # TDB >> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset . >> tdb:GraphTDB rdfs:subClassOf ja:Model . >> >> ## ------------------------------**------------------------------**--- >> ## Service with only SPARQL query on an inference model. >> ## Inference model bbase data in TDB. >> >> <#service1> rdf:type fuseki:Service ; >> fuseki:name "inf" ; # http://host/inf >> fuseki:serviceQuery "sparql" ; # SPARQL query service >> fuseki:serviceUpdate "update" ; >> fuseki:dataset <#dataset> ; >> . >> >> <#dataset> rdf:type ja:RDFDataset ; >> ja:defaultGraph <#model_inf> ; >> . >> >> <#model_inf> a ja:InfModel ; >> ###ja:baseModel <#tdbGraph> ; >> #ja:baseModel <#memGraph> ; ## >> ja:reasoner <#myReasoner> . <#myReasoner> #[ >> #ja:reasonerURL <http://jena.hpl.hp.com/2003/** >> OWLFBRuleReasoner <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>> >> ja:reasoner [ja:reasonerClass >> "org.mindswap.pellet.jena.**PelletReasonerFactory"]; >> rdf:type ja:ReasonerFactory; >> #rdf:type [owl:complementOf ja:InfModel] >> . #] . >> >> ###<#tdbDataset> rdf:type tdb:DatasetTDB ; >> ### tdb:location "DB" ; >> # If the unionDefaultGraph is used, then the "update" service should >> be >> removed. >> # The unionDefaultGraph is read only. >> # tdb:unionDefaultGraph true ; >> ### . >> >> ###<#tdbGraph> rdf:type tdb:GraphTDB ; >> ### tdb:dataset <#tdbDataset> . >> ## >> <#memGraph> a ja:MemoryModel . >> >> >
