Hello, I have been working with Fuseki and TDB for quite some time, however this weekend I have been trying to setup Fuseki with SDB. In particular, I have my application to open a connection to a local MySQL server and then to create a new database called "sdb_data". Then I create a Store object programmatically etc., a very brief snapshot of the Java code:
StoreDesc storeDesc = new StoreDesc(DEFAULT_LAYOUT, getDBType()); sdbStore = SDBFactory.connectStore(getSDBConnection(), storeDesc); ... sdbStore.getTableFormatter().create(); I can verify that the SDB Store is created successfully because I can see that the database "sdb_data" is created with all the necessary tables inside to store RDF. Also, I can load/query an RDF-Graph in the store without any problems or exceptions. Note that for the purposes of my application I have many RDF-Graphs stored as Named Graphs, that means that I will never have any data to the default graph. What I would like to do is to be able to connect to the SDB store just created and query the store with Sparql from Fuseki. The problem that I have is that when I ask a query to get a list of all the Named Graphs in the Store it returns an error in console. The strange thing is that if I run this query from the Java application programmatically it works, so it must be the setup of Fuseki using the .ttl file. SELECT DISTINCT ?g WHERE { GRAPH ?g { ?s ?p ?o . } } Error I am getting (Error 500: Server Error): 15:51:19 INFO [1] Query = SELECT DISTINCT ?g WHERE { GRAPH ?g { ?s ?p ?o . } } 15:51:19 WARN [1] RC = 500 : null java.lang.NullPointerException at com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.buildIterator(QueryIterGraph.java:175) at com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.nextIterator(QueryIterGraph.java:155) at com.hp.hpl.jena.sparql.engine.main.iterator.QueryIterGraph$QueryIterGraphInner.hasNextBinding(QueryIterGraph.java:118) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterRepeatApply.hasNextBinding(QueryIterRepeatApply.java:81) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterConvert.hasNextBinding(QueryIterConvert.java:59) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) at com.hp.hpl.jena.sparql.engine.iterator.QueryIterDistinctReduced.hasNextBinding(QueryIterDistinctReduced.java:54) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorBase.hasNext(QueryIteratorBase.java:112) at com.hp.hpl.jena.sparql.engine.iterator.QueryIteratorWrapper.hasNextBinding(QueryIteratorWrapper.java:40) Config setup: The .ttl config file for Fuseki is as below, and just to provide as much info as I can, I am using: jena-fuseki-0.2.7, jena-sdb-1.3.6.jar, jena-arq-2.10.1.jar, jena-tdb-0.10.1.jar, jena-core-2.10.1.jar, mysql-connector-java-5.1.22.jar. Config file: @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 tdb: <http://jena.hpl.hp.com/2008/tdb#> . @prefix sdb: <http://jena.hpl.hp.com/2007/sdb#> . @prefix ja: <http://jena.hpl.hp.com/2005/11/Assembler#> . @prefix : <#> . ##Setup a Fuseki server [] rdf:type fuseki:Server ; ##Service to start fuseki:services ( <#sdb_service> ) . ## SDB Store [] ja:loadClass "com.hp.hpl.jena.sdb.SDB" . sdb:DatasetStore rdfs:subClassOf ja:RDFDataset . sdb:Model rdfs:subClassOf ja:Model . <#sdb_service> rdf:type fuseki:Service ; rdfs:label "SDB Service (RW)" ; fuseki:name "metadata" ; fuseki:serviceQuery "query" ; fuseki:serviceQuery "sparql" ; fuseki:serviceUpdate "update" ; fuseki:serviceReadGraphStore "get" ; fuseki:dataset <#dataset1> ; . <#dataset1> rdf:type sdb:DatasetStore ; sdb:store <#store>; . ##Connection to MySQL <#store> rdf:type sdb:Store ; rdfs:label "SDB Store" ; sdb:layout "layout2" ; sdb:engine "InnoDB" ; sdb:connection [ rdf:type sdb:SDBConnection ; sdb:sdbType "MySQL" ; sdb:sdbHost "localhost" ; sdb:sdbName "sdb_data"; sdb:sdbUser "root"; sdb:sdbPassword "******"; sdb:driver "com.mysql.jdbc.Driver"; ] . Many Thanks, Paul