[ 
https://issues.apache.org/jira/browse/JENA-1618?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16649431#comment-16649431
 ] 

Andy Seaborne edited comment on JENA-1618 at 10/14/18 7:20 PM:
---------------------------------------------------------------

In that thread, the problem was having both ja:baseModel and ja:content.

 I have tried the following and it works for me with 3.9.0. It is a read-only 
endpoint - I loaded the database with {{s-post}} from the command line.
 
{noformat}
PREFIX tdb2:    <http://jena.apache.org/2016/tdb#>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ja:      <http://jena.hpl.hp.com/2005/11/Assembler#>
PREFIX ex:      <http://jena.example.org/>

PREFIX fuseki:  <http://jena.apache.org/fuseki#>

<#service1>  rdf:type fuseki:Service ;
    fuseki:name              "inf" ;
    fuseki:serviceQuery      "sparql" ;          # SPARQL query service
    fuseki:serviceUpdate         "update";
    fuseki:serviceUpload         "upload" ;
    fuseki:serviceReadWriteGraphStore "data" ;
    fuseki:serviceReadGraphStore "get" ;
    fuseki:dataset           ex:dataset ;
    .

ex:dataset rdf:type      ja:RDFDataset ;
     ja:defaultGraph <#infGraph> ;
     . 

<#infGraph> a ja:InfModel;
    ja:reasoner [ja:reasonerURL 
<http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] ;
    ja:baseModel <#tdb_graph> ;
  .

<#tdb_graph> rdf:type tdb2:GraphTDB ;
    tdb2:dataset <#tdb_dataset> ;
    .

<#tdb_dataset> rdf:type tdb2:DatasetTDB ;
    tdb2:location "DB2" ;
    .
{noformat}


was (Author: andy.seaborne):
In that thread, the problem was having both ja:baseModel and ja:content.

 I have tried the following and it works for me with 3.9.0. It is a read-only 
endpoint - I loaded teh database with {{s-post}} from the command line.
 
{noformat}
PREFIX tdb2:    <http://jena.apache.org/2016/tdb#>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX ja:      <http://jena.hpl.hp.com/2005/11/Assembler#>
PREFIX ex:      <http://jena.example.org/>

PREFIX fuseki:  <http://jena.apache.org/fuseki#>

<#service1>  rdf:type fuseki:Service ;
    fuseki:name              "inf" ;
    fuseki:serviceQuery      "sparql" ;          # SPARQL query service
    fuseki:serviceUpdate         "update";
    fuseki:serviceUpload         "upload" ;
    fuseki:serviceReadWriteGraphStore "data" ;
    fuseki:serviceReadGraphStore "get" ;
    fuseki:dataset           ex:dataset ;
    .

ex:dataset rdf:type      ja:RDFDataset ;
     ja:defaultGraph <#infGraph> ;
     . 

<#infGraph> a ja:InfModel;
    ja:reasoner [ja:reasonerURL 
<http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] ;
    ja:baseModel <#tdb_graph> ;
  .

<#tdb_graph> rdf:type tdb2:GraphTDB ;
    tdb2:dataset <#tdb_dataset> ;
    .

<#tdb_dataset> rdf:type tdb2:DatasetTDB ;
    tdb2:location "DB2" ;
    .
{noformat}

> Configuration for a TDB2 ,Reasoner and external content failed.
> ---------------------------------------------------------------
>
>                 Key: JENA-1618
>                 URL: https://issues.apache.org/jira/browse/JENA-1618
>             Project: Apache Jena
>          Issue Type: Question
>          Components: Fuseki, Reasoners, TDB2
>    Affects Versions: Jena 3.9.0
>         Environment: Jena fuseki 3.9
> Mac OS El Capitan 
>            Reporter: Jesus Herrera
>            Priority: Major
>
> Hello everyone,
> I'm barely new to jena fuseki and I'm trying to configurate a config file 
> which use a TDB2 storage, OWL reasoner and an external content (my ontology).
> This is my configuration file:
> {noformat}
> # Licensed under the terms of http://www.apache.org/licenses/LICENSE-2.0
> PREFIX : <#>
> PREFIX fuseki: <http://jena.apache.org/fuseki#>
> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
> PREFIX tdb2: <http://jena.apache.org/2016/tdb#>
> PREFIX ja: <http://jena.hpl.hp.com/2005/11/Assembler#>
> ## ---------------------------------------------------------------
> ## Updatable TDB dataset with all services enabled.
> <#service_tdb_all> rdf:type fuseki:Service ;
>  rdfs:label "TDB2 elmenu" ;
>  fuseki:name "elmenu" ;
>  fuseki:serviceQuery "query" ;
>  fuseki:serviceQuery "sparql" ;
>  fuseki:serviceUpdate "update" ;
>  fuseki:serviceUpload "upload" ;
>  fuseki:serviceReadWriteGraphStore "data" ;
>  # A separate read-only graph store endpoint:
>  fuseki:serviceReadGraphStore "get" ;
>  fuseki:dataset <#tdb_dataset_readwrite> ;
>  
>  .
> <#tdb_dataset_readwrite> a ja:RDFDataset;
>  ja:defaultGraph :modelInf;
>  .
> :modelInf a ja:InfModel;
>  ja:content [ja:externalContent 
> <file://etc/fuseki/databases/elmenuontology.ttl> ] ;
>  ja:reasoner [ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>] 
> ;
>  ja:baseModel <#tdb_storage> ;
>  .
> <#tdb_storage> rdf:type tdb2:DatasetTDB2 ;
>  tdb2:location 
> "/Users/uppersky03/Documents/Momentum/fuseki-run/databases/elmenu" ;
>  ##ja:context [ ja:cxtName "arq:queryTimeout" ; ja:cxtValue "3000" ] ;
>  tdb2:unionDefaultGraph true ;
>  .
> {noformat}
>  
> And the Error I get is this:
> {noformat}
> [2018-10-10 11:50:04] Server ERROR Exception in initialization: cannot find a 
> most specific type for :tdb_storage, which has as possibilities: ja:Model 
> tdb2:DatasetTDB2.
> [2018-10-10 11:50:04] WebAppContext WARN Failed startup of context 
> o.e.j.w.WebAppContext@d4602a\{Apache Jena Fuseki 
> Server,/,file:///Users/uppersky03/Documents/Momentum/apache-jena-fuseki-3.9.0/webapp/,UNAVAILABLE}
> org.apache.jena.assembler.exceptions.AmbiguousSpecificTypeException: cannot 
> find a most specific type for :tdb_storage, which has as possibilities: 
> ja:Model tdb2:DatasetTDB2.
>  doing:
>  root: 
> file:///Users/uppersky03/Documents/Momentum/fuseki-run/configuration/config.ttl#modelInf
>  with type: http://jena.hpl.hp.com/2005/11/Assembler#InfModel assembler 
> class: class org.apache.jena.assembler.assemblers.InfModelAssembler
>  root: 
> file:///Users/uppersky03/Documents/Momentum/fuseki-run/configuration/config.ttl#tdb_dataset_readwrite
>  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.open(AssemblerGroup.java:142)
>  at 
> org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:93)
>  at 
> org.apache.jena.assembler.assemblers.AssemblerBase.openModel(AssemblerBase.java:74)
>  at 
> org.apache.jena.assembler.assemblers.InfModelAssembler.getBase(InfModelAssembler.java:42)
>  at 
> org.apache.jena.assembler.assemblers.InfModelAssembler.openEmptyModel(InfModelAssembler.java:33)
>  at 
> org.apache.jena.assembler.assemblers.ModelAssembler.openModel(ModelAssembler.java:36)
>  at 
> org.apache.jena.assembler.assemblers.ModelAssembler.open(ModelAssembler.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.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.FusekiConfig.getDataset(FusekiConfig.java:272)
>  at 
> org.apache.jena.fuseki.build.FusekiConfig.buildDataServiceCustom(FusekiConfig.java:225)
>  at 
> org.apache.jena.fuseki.build.FusekiConfig.buildDataAccessPoint(FusekiConfig.java:217)
>  at 
> org.apache.jena.fuseki.build.FusekiConfig.readConfiguration(FusekiConfig.java:200)
>  at 
> org.apache.jena.fuseki.build.FusekiConfig.readConfigurationDirectory(FusekiConfig.java:179)
>  at 
> org.apache.jena.fuseki.webapp.FusekiSystem.initializeDataAccessPoints(FusekiSystem.java:226)
>  at 
> org.apache.jena.fuseki.webapp.FusekiServerListener.serverInitialization(FusekiServerListener.java:98)
>  at 
> org.apache.jena.fuseki.webapp.FusekiServerListener.contextInitialized(FusekiServerListener.java:56)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:952)
>  at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:558)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:917)
>  at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:370)
>  at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)
>  at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)
>  at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:847)
>  at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:287)
>  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:138)
>  at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
>  at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:410)
>  at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)
>  at org.eclipse.jetty.server.Server.start(Server.java:416)
>  at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)
>  at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at org.eclipse.jetty.server.Server.doStart(Server.java:383)
>  at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.apache.jena.fuseki.cmd.JettyFuseki.start(JettyFuseki.java:138)
>  at org.apache.jena.fuseki.cmd.FusekiCmd.runFuseki(FusekiCmd.java:372)
>  at 
> org.apache.jena.fuseki.cmd.FusekiCmd$FusekiCmdInner.exec(FusekiCmd.java:356)
>  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:104)
>  at org.apache.jena.fuseki.cmd.FusekiCmd.main(FusekiCmd.java:67)
> {noformat}
> Any help will be appreciate,
> Thanks in advance, Jesus



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to