-
Notifications
You must be signed in to change notification settings - Fork 673
Open
Labels
Description
Version
5.6.0
What happened?
I created an assembler file which produces the error below (config used included). The schema I wish to use for inference is called Schema_Ontology.ttl but whenever the relevant line is un-commented I receive the error at the bottom. I'm not sure if this is a bug or my configuration is wrong. Any assistance will be appreciated!
Assembler (example.ttl)
# Fuseki configuration
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#>
[] rdf:type fuseki:Server ;
fuseki:services (
<#read_write_service>
<#read_only_service>
) .
# Writable service - direct access to TDB dataset
<#read_write_service> rdf:type fuseki:Service ;
rdfs:label "Example TDB2 Service (RW)" ;
fuseki:name "tdb2-database" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceUpdate "update" ;
fuseki:serviceReadWriteGraphStore "data" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#tdb_dataset_readwrite> ;
.
# Read-only service - access via inference model
<#read_only_service> rdf:type fuseki:Service ;
rdfs:label "Example TDB2 Service (RO with Inference)" ;
fuseki:name "tdb2-inference" ;
fuseki:serviceQuery "query" ;
fuseki:serviceQuery "sparql" ;
fuseki:serviceReadGraphStore "get" ;
fuseki:dataset <#inference_dataset> ;
.
# Dataset wrapper for inference model
<#inference_dataset> rdf:type ja:RDFDataset ;
ja:defaultGraph <#inference_model> ;
.
# Inference model that reads from TDB graph
<#inference_model> rdf:type ja:InfModel ;
ja:baseModel <#tdb_base_graph> ;
ja:reasoner [
ja:reasonerURL <http://jena.hpl.hp.com/2003/OWLFBRuleReasoner>
] ;
ja:schema <file:///fuseki/data/schema/Schema_Ontology.ttl>
.
# TDB graph (model) - this is the key change
<#tdb_base_graph> rdf:type tdb2:GraphTDB ;
tdb2:dataset <#tdb_dataset_readwrite> ;
.
# The underlying TDB dataset storage
<#tdb_dataset_readwrite> rdf:type tdb2:DatasetTDB ;
tdb2:location "Example" ;
.Error
PS C:\Users\Username\Documents\projects\rdf\jena-fuseki-docker-5.6.0> docker-compose run --rm --name BuildingModels --service-ports fuseki --update
time="2025-11-08T10:01:35+11:00" level=warning msg="C:\\Users\\Username\\Documents\\projects\\rdf\\jena-fuseki-docker-5.6.0\\docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
[2025-11-07 23:01:37] INFO Config :: Fuseki Base = /fuseki/run
[2025-11-07 23:01:37] INFO Config :: Load configuration: file:///fuseki/run/configuration/example2.ttl
Exception in thread "main" org.apache.jena.assembler.exceptions.AmbiguousSpecificTypeException: cannot find a most specific type for :inference_model, which has as possibilities: ja:InfModel ja:ReasonerFactory.
doing:
root: file:///fuseki/run/configuration/example2.ttl#inference_dataset with type: http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset assembler class: class org.apache.jena.sparql.core.assembler.DatasetAssemblerGeneral
at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:145)
at org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:96)
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:44)
at org.apache.jena.sparql.core.assembler.DatasetAssemblerGeneral.createDataset(DatasetAssemblerGeneral.java:53)
at org.apache.jena.sparql.core.assembler.NamedDatasetAssembler.createNamedDataset(NamedDatasetAssembler.java:49)
at org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:42)
at org.apache.jena.sparql.core.assembler.DatasetAssembler.open(DatasetAssembler.java:33)
at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.openBySpecificType(AssemblerGroup.java:160)
at org.apache.jena.assembler.assemblers.AssemblerGroup$PlainAssemblerGroup.open(AssemblerGroup.java:147)
at org.apache.jena.assembler.assemblers.AssemblerGroup$ExpandingAssemblerGroup.open(AssemblerGroup.java:96)
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:694)
at org.apache.jena.fuseki.build.FusekiConfig.buildDataService(FusekiConfig.java:443)
at org.apache.jena.fuseki.build.FusekiConfig.buildDataAccessPoint(FusekiConfig.java:431)
at org.apache.jena.fuseki.build.FusekiConfig.readConfiguration(FusekiConfig.java:408)
at org.apache.jena.fuseki.build.FusekiConfig.readConfigurationDirectory(FusekiConfig.java:386)
at org.apache.jena.fuseki.mod.admin.FMod_Admin.prepare(FMod_Admin.java:149)
at org.apache.jena.fuseki.main.sys.FusekiModuleStep.lambda$prepare$0(FusekiModuleStep.java:38)
at java.base/java.lang.Iterable.forEach(Unknown Source)
at org.apache.jena.fuseki.main.sys.FusekiModules.forEach(FusekiModules.java:106)
at org.apache.jena.fuseki.main.sys.FusekiModuleStep.prepare(FusekiModuleStep.java:38)
at org.apache.jena.fuseki.main.FusekiServer$Builder.build(FusekiServer.java:1389)
at org.apache.jena.fuseki.server.FusekiServerRunner.construct(FusekiServerRunner.java:79)
at org.apache.jena.fuseki.main.cmds.FusekiServerCmd.main(FusekiServerCmd.java:50)
Relevant output and stacktrace
Are you interested in making a pull request?
None