Fwd'ed:

On 09/12/17 14:58, Chan Simmer wrote:
I have no idea about which files in tdb directory referring to the prefix table, so I delete all the files whose file name contains "prefix" (prefix2id.dat, prefix2id.idn, prefixes.dat, prefixIdx.dat, prefixIdx.idn). And I restart the fuseki server, it doesn't throw error like what stated before.

However, it still doesn't support the inference.
For instance, I define property b being subproperty of a in the ontology file, but the result doesn't show such inference.
The original rdf contains:
X :b Y
I want it can infer X :a Y.

By the way, it will throw error telling there exists invalid id node:
[2017-12-09 22:21:21] Fuseki     WARN  [7] RC = 500 : Invalid id node for object (null node): ([000000000000135B], [00000000076DE83E], [00000000076DEBD8])

When I delete the prefix files, restart the server, the error is gone with the same sparql query as before. Confused.....


On 09/12/17 18:13, Andy Seaborne wrote:
Works for me (v3.5.0 and development)

But I had to fix up the config file a lot.

Please post it in plain text and check that it is not changed when
posted into email.

> [2017-12-08 15:53:16] DatasetPrefixesTDB WARN  Mangled prefix map: graph
> name=
> java.lang.NullPointerException

Firstly - it is a warning and Fuseki continues ... but in this case it
is a sign of bad things to come ...

> [2017-12-08 15:53:16] WebAppContext WARN  Failed startup of context
> o.e.j.w.WebAppContext@775594f2
> {/,file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/webapp/,UNAVAILABLE}
> org.apache.jena.assembler.exceptions.AssemblerException: caught: null
>    doing:
>      root:
>
file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/configuration/chronicle_kg_con.ttl#model_inf
> with type: http://jena.hpl.hp.com/2005/11/Assembler#InfModel assembler
> class: class org.apache.jena.assembler.assemblers.InfModelAssembler
>      root:
>
file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/configuration/chronicle_kg_con.ttl#dataset > with type: http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset assembler
...
> Caused by: java.lang.NullPointerException
>          at
>
org.apache.jena.tdb.store.DatasetPrefixesTDB.readPrefix(DatasetPrefixesTDB.java:86)
>          at
>
org.apache.jena.sparql.graph.GraphPrefixesProjection.get(GraphPrefixesProjection.java:101)
>          at
>
org.apache.jena.sparql.graph.GraphPrefixesProjection.set(GraphPrefixesProjection.java:79)
>          at
>
org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefix(PrefixMappingImpl.java:75)
>          at
>
org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:163)
>          at
>
org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:130)
>          at
> org.apache.jena.rdf.model.impl.ModelCom.setNsPrefixes(ModelCom.java:1047)
>          at
>
org.apache.jena.assembler.assemblers.ContentAssembler$1.fill(ContentAssembler.java:146)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at
>
org.apache.jena.assembler.assemblers.ModelAssembler.addContent(ModelAssembler.java:58)


where it is building the base graph.

The TDB database has a corrupted prefix table. At the warning, this was
mentioned then ignored.  On this path through the code, it is an error.

Using inference means that TDB is not running transactionally.

At some time in the past, that DB has not been closed cleanly (that includes running and loader and killing it part way through).

As it's the prefixes, often you can delete the prefix table files but if
it is a small DB, it's better to rebuild it.

But if it was a crash, the database may be damaged in some other parr as well.

    Andy


On 08/12/17 08:08, Chan Simmer wrote:
> Sorry, I don't know markmail doesn't display screenshot. The whole stack
> trace:
>
> D:\apache jena\apache-jena-fuseki-3.5.0>fuseki-server.bat
> [2017-12-08 15:53:15] Server     INFO  Apache Jena Fuseki 3.5.0
> [2017-12-08 15:53:15] Config     INFO  FUSEKI_HOME=D:\apache
> jena\apache-jena-fuseki-3.5.0\.
> [2017-12-08 15:53:15] Config     INFO  FUSEKI_BASE=D:\apache
> jena\apache-jena-fuseki-3.5.0\run
> [2017-12-08 15:53:15] Config     INFO  Shiro file: file://D:\apache
> jena\apache-jena-fuseki-3.5.0\run\shiro.ini
> [2017-12-08 15:53:15] Config     INFO  Configuration file: D:\apache
> jena\apache-jena-fuseki-3.5.0\run\config.ttl
> [2017-12-08 15:53:15] riot       WARN  [line: 5, col: 9 ] Bad IRI:
> <D:\apache jena\apache-jena-fuseki-3.5.0\run\config.ttl#> Code:
> 4/UNWISE_CHARACTER in PATH: The character matches no grammar rules of
> URIs/IRIs. These characters are permitted in RDF URI References, XML system
> identifiers, and XML Schema anyURIs.
> [2017-12-08 15:53:15] riot       WARN  [line: 5, col: 9 ] Bad IRI:
> <D:\apache jena\apache-jena-fuseki-3.5.0\run\config.ttl#> Code:
> 17/WHITESPACE in PATH: A single whitespace character. These match no
> grammar rules of URIs/IRIs. These characters are permitted in RDF URI
> References, XML system identifiers, and XML Schema anyURIs.
> [2017-12-08 15:53:16] Config     INFO  Load configuration:
> file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/configuration/chronicle_kg_con.ttl > [2017-12-08 15:53:16] DatasetPrefixesTDB WARN  Mangled prefix map: graph
> name=
> java.lang.NullPointerException
>          at
> org.apache.jena.tdb.store.DatasetPrefixesTDB.readPrefixMap(DatasetPrefixesTDB.java:117)
>          at
> org.apache.jena.sparql.graph.GraphPrefixesProjection.getNsPrefixMap(GraphPrefixesProjection.java:68)
>          at
> org.apache.jena.sparql.graph.GraphPrefixesProjection.<init>(GraphPrefixesProjection.java:46)
>          at
> org.apache.jena.tdb.store.DatasetPrefixesTDB.getPrefixMapping(DatasetPrefixesTDB.java:174)
>          at
> org.apache.jena.tdb.store.DatasetPrefixesTDB.getPrefixMapping(DatasetPrefixesTDB.java:169)
>          at
> org.apache.jena.tdb.store.GraphTDB.createPrefixMapping(GraphTDB.java:82)
>          at
> org.apache.jena.graph.impl.GraphBase.getPrefixMapping(GraphBase.java:165)
>          at
> org.apache.jena.reasoner.BaseInfGraph.getPrefixMapping(BaseInfGraph.java:55)
>          at
> org.apache.jena.rdf.model.impl.ModelCom.getPrefixMapping(ModelCom.java:1010)
>          at
> org.apache.jena.rdf.model.impl.ModelCom.setNsPrefixes(ModelCom.java:1047)
>          at
> org.apache.jena.assembler.assemblers.ContentAssembler$1.fill(ContentAssembler.java:146)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at
> org.apache.jena.assembler.assemblers.ModelAssembler.addContent(ModelAssembler.java:58)
>          at
> org.apache.jena.assembler.assemblers.ModelAssembler.open(ModelAssembler.java:44)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup.openModel(AssemblerGroup.java:47)
>          at
> org.apache.jena.sparql.core.assembler.DatasetAssembler.createDataset(DatasetAssembler.java:56)
>          at
> org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.getDataset(FusekiBuilder.java:111)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.buildDataService(FusekiBuilder.java:70)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.buildDataAccessPoint(FusekiBuilder.java:61)
>          at
> org.apache.jena.fuseki.build.FusekiConfig.readConfiguration(FusekiConfig.java:214)
>          at
> org.apache.jena.fuseki.build.FusekiConfig.readConfigurationDirectory(FusekiConfig.java:184)
>          at
> org.apache.jena.fuseki.server.FusekiSystem.initializeDataAccessPoints(FusekiSystem.java:207)
>          at
> org.apache.jena.fuseki.server.FusekiServerListener.serverInitialization(FusekiServerListener.java:88)
>          at
> org.apache.jena.fuseki.server.FusekiServerListener.contextInitialized(FusekiServerListener.java:52)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:890)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:853)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
>          at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1501)
>          at
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1463)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:785)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
>          at
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>          at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>          at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:272)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>          at org.eclipse.jetty.server.Server.start(Server.java:452)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>          at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>          at org.eclipse.jetty.server.Server.doStart(Server.java:419)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.apache.jena.fuseki.jetty.JettyFuseki.start(JettyFuseki.java:139)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd.runFuseki(FusekiCmd.java:367)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:351)
>          at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
>          at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
>          at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:103) >          at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:67) > [2017-12-08 15:53:16] Server     ERROR Exception in initialization: caught:
> null
> [2017-12-08 15:53:16] WebAppContext WARN  Failed startup of context
> o.e.j.w.WebAppContext@775594f2
> {/,file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/webapp/,UNAVAILABLE}
> org.apache.jena.assembler.exceptions.AssemblerException: caught: null
>    doing:
>      root:
> file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/configuration/chronicle_kg_con.ttl#model_inf
> with type: http://jena.hpl.hp.com/2005/11/Assembler#InfModel assembler
> class: class org.apache.jena.assembler.assemblers.InfModelAssembler
>      root:
> file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/configuration/chronicle_kg_con.ttl#dataset > with type: http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset assembler
> class: class org.apache.jena.sparql.core.assembler.DatasetAssembler
>
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:165)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup.openModel(AssemblerGroup.java:47)
>          at
> org.apache.jena.sparql.core.assembler.DatasetAssembler.createDataset(DatasetAssembler.java:56)
>          at
> org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:43)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:144)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:39)
>          at
> org.apache.jena.assembler.assemblers.AssemblerBase.open(AssemblerBase.java:35)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.getDataset(FusekiBuilder.java:111)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.buildDataService(FusekiBuilder.java:70)
>          at
> org.apache.jena.fuseki.build.FusekiBuilder.buildDataAccessPoint(FusekiBuilder.java:61)
>          at
> org.apache.jena.fuseki.build.FusekiConfig.readConfiguration(FusekiConfig.java:214)
>          at
> org.apache.jena.fuseki.build.FusekiConfig.readConfigurationDirectory(FusekiConfig.java:184)
>          at
> org.apache.jena.fuseki.server.FusekiSystem.initializeDataAccessPoints(FusekiSystem.java:207)
>          at
> org.apache.jena.fuseki.server.FusekiServerListener.serverInitialization(FusekiServerListener.java:88)
>          at
> org.apache.jena.fuseki.server.FusekiServerListener.contextInitialized(FusekiServerListener.java:52)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:890)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:853)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
>          at
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1501)
>          at
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1463)
>          at
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:785)
>          at
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
>          at
> org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>          at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>          at
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:272)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>          at org.eclipse.jetty.server.Server.start(Server.java:452)
>          at
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>          at
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>          at org.eclipse.jetty.server.Server.doStart(Server.java:419)
>          at
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>          at
> org.apache.jena.fuseki.jetty.JettyFuseki.start(JettyFuseki.java:139)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd.runFuseki(FusekiCmd.java:367)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:351)
>          at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
>          at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
>          at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
>          at
> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.innerMain(FusekiCmd.java:103) >          at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:67)
> Caused by: java.lang.NullPointerException
>          at
> org.apache.jena.tdb.store.DatasetPrefixesTDB.readPrefix(DatasetPrefixesTDB.java:86)
>          at
> org.apache.jena.sparql.graph.GraphPrefixesProjection.get(GraphPrefixesProjection.java:101)
>          at
> org.apache.jena.sparql.graph.GraphPrefixesProjection.set(GraphPrefixesProjection.java:79)
>          at
> org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefix(PrefixMappingImpl.java:75)
>          at
> org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:163)
>          at
> org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:130)
>          at
> org.apache.jena.rdf.model.impl.ModelCom.setNsPrefixes(ModelCom.java:1047)
>          at
> org.apache.jena.assembler.assemblers.ContentAssembler$1.fill(ContentAssembler.java:146)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at org.apache.jena.assembler.Content.fill(Content.java:62)
>          at
> org.apache.jena.assembler.assemblers.ModelAssembler.addContent(ModelAssembler.java:58)
>          at
> org.apache.jena.assembler.assemblers.ModelAssembler.open(ModelAssembler.java:44)
>          at
> org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:157)
>          ... 49 more
> [2017-12-08 15:53:16] Server     INFO  Started 2017/12/08 15:53:16 CST on
> port 3030
>
> No similar problem found on stackoverflow or anywhere else.
> I have also tried two RDF formats, N-Triples and Turtle. It doesn't work as
> well.
> I'm so confused about that TDB with inference doesn't work while the case
> without infmodel is ok.
> Actually, I tried on the example given by jfmunozf at
> https://github.com/jfmunozf/Jena-Fuseki-Reasoner-Inference. I use the
> tdbloader tool to convert the data.ttl into TDB. The fuseki server works
> well with Infmodel integrated.
>
> 2017-12-08 15:45 GMT+08:00 Laura Morales <[email protected]>:
>
>> Can you paste the error here? I mean the whole stack trace?
>>
>>
>>
>> Sent: Friday, December 08, 2017 at 6:38 AM
>> From: "Chan Simmer" <[email protected]>
>> To: [email protected]
>> Subject: fuseki-server tdb prefix null pointer exception.
>>
>> Hi,
>> I want to host fuseki-server for SPARQL query. I encountered
>> NullPointerException when integrating inference with tdb (It's normal
>> without inference). The process of tdb loading is Ok. When I start the
>> fuseki server, it will throw the graph name null pointer exception and it
>> seems the tdb goes wrong. I have no idea how to fix it. Have you ever
>> encountered such problem or any suggestion on this problem? THX!
>>
>> It seems it has nothing to do with fuseki version and OS. I have tested on
>> fuseki-3.4.0 and fuseki-3.5.0 on win 10 as well as ubuntu.
>>
>> By the way, the RDF (in N-Triples format) file loaded into TDB is dumped
>> by dump-rdf tool of d2rq latest version 0.8.1
>>
>> Configuration as below:
>>
>> @PreFix[https://github.com/prefix] : <#> .
>> @PreFix[https://github.com/prefix] fuseki: http://jena.
>> apache.org/fuseki#[http://jena.apache.org/fuseki#] .
>> @PreFix[https://github.com/prefix] rdf: http://www.w3.
>> org/1999/02/22-rdf-syntax-ns#[http://www.w3.org/1999/02/22-
>> rdf-syntax-ns#] .
>> @PreFix[https://github.com/prefix] rdfs: http://www.w3.
>> org/2000/01/rdf-schema#[http://www.w3.org/2000/01/rdf-schema#] .
>> @PreFix[https://github.com/prefix] tdb: http://jena.hpl.
>> hp.com/2008/tdb#[http://jena.hpl.hp.com/2008/tdb#] .
>> @PreFix[https://github.com/prefix] ja: http://jena.hpl.
>> hp.com/2005/11/Assembler#[http://jena.hpl.hp.com/2005/11/Assembler#] .
>> [] rdf:type fuseki:Server .
>> [] ja:loadClass "org.apache.jena.tdb.TDB" .
>> tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
>> tdb:GraphTDB rdfs:subClassOf ja:Model .
>> :service1 a fuseki:Service ;
>> fuseki:dataset :dataset ;
>> fuseki:name "chronicle_kg" ;
>> fuseki:serviceQuery "query" , "sparql" ;
>> fuseki:serviceReadGraphStore "get" ;
>> fuseki:serviceReadWriteGraphStore "data" ;
>> fuseki:serviceUpdate "update" ;
>> fuseki:serviceUpload "upload" .
>> :dataset rdf:type ja:RDFDataset ;
>> ja:defaultGraph
>> [ a ja:InfModel ;
>> ja:baseModel <#tdbGraph> ;
>> #Location of ontology file
>> ja:content [ja:externalContent <file:///D:/apache%20jena/
>> apache-jena-fuseki-3.5.0/run/databases/chronicle_schema.ttl> ] ;
>> #Enable OWL based reasoner
>> ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/
>> OWLFBRuleReasoner[http://jena.hpl.hp.com/2003/OWLFBRuleReasoner]>] ;
>> ] ;
>> .
>> <#tdbGraph> rdf:type tdb:GraphTDB ;
>> tdb:dataset <#tdbDataset> .
>> <#tdbDataset> rdf:type tdb:DatasetTDB ;
>> tdb:location "D:/apache jena/tdb" .
>>
>> If I don't use infmodel, I mean, with TDB dataset directly
>> (fuseki:dataset <#tdbDataset>), it's completely ok. If not, error as
>> follow will be thrown.
>>
>>
>> SimmerChan
>>
>


On 08/12/17 05:38, Chan Simmer wrote:
Hi,
I want to host fuseki-server for SPARQL query. I encountered NullPointerException when integrating inference with tdb (It's normal without inference). The process of tdb loading is Ok. When I start the fuseki server, it will throw the graph name null pointer exception and it seems the tdb goes wrong. I have no idea how to fix it. Have you ever encountered such problem or any suggestion on this problem? THX!

It seems it has nothing to do with fuseki version and OS. I have tested on fuseki-3.4.0 and fuseki-3.5.0 on win 10 as well as ubuntu.

By the way, the RDF (in N-Triples format) file loaded into TDB is dumped by dump-rdf tool of d2rq latest version 0.8.1

Configuration as below:

@PreFix <https://github.com/prefix> : <#> .
@PreFix <https://github.com/prefix> fuseki: http://jena.apache.org/fuseki# . @PreFix <https://github.com/prefix> rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# . @PreFix <https://github.com/prefix> rdfs: http://www.w3.org/2000/01/rdf-schema# . @PreFix <https://github.com/prefix> tdb: http://jena.hpl.hp.com/2008/tdb# . @PreFix <https://github.com/prefix> ja: http://jena.hpl.hp.com/2005/11/Assembler# .

[] rdf:type fuseki:Server .
[] ja:loadClass "org.apache.jena.tdb.TDB" .
tdb:DatasetTDB rdfs:subClassOf ja:RDFDataset .
tdb:GraphTDB rdfs:subClassOf ja:Model .

:service1 a fuseki:Service ;
fuseki:dataset :dataset ;
fuseki:name "chronicle_kg" ;
fuseki:serviceQuery "query" , "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceUpload "upload" .

:dataset rdf:type ja:RDFDataset ;
ja:defaultGraph
[ a ja:InfModel ;
ja:baseModel <#tdbGraph> ;
#Location of ontology file
ja:content [ja:externalContent <file:///D:/apache%20jena/apache-jena-fuseki-3.5.0/run/databases/chronicle_schema.ttl> ] ;
#Enable OWL based reasoner
ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] ;
] ;
.

<#tdbGraph> rdf:type tdb:GraphTDB ;
tdb:dataset <#tdbDataset> .

<#tdbDataset> rdf:type tdb:DatasetTDB ;
tdb:location "D:/apache jena/tdb" .

If I don't use infmodel, I mean, with TDB dataset directly (fuseki:dataset <#tdbDataset>), it's completely ok. If not, error as follow will be thrown.


​
SimmerChan

Reply via email to