Andy,

I've rolled back to fuseki-0.2.2, which I know works for the most part with my 
version of SDB.

The original problem that I was trying to solve was that updates weren't 
working for us.  As a possible fix, it was recommended to me to update my 
fuseki version, though it appears to be a bit of a pain to do so.

Heading back to the original version and problem...
Select queries run fine, but when I try and run any update query, fuseki barfs 
with the following:
java.lang.UnsupportedOperationException: DatasetGraph.delete(Quad)

Do you think that the way my config file is set up may have something to do 
with the updates not working?  I've pasted my config file below.

(The server was started with --update, I just wondered if the config somehow 
was overwriting that, I'm a total novice to fuseki as is probably obvious by 
now  ;)  .)

Thanks!
-Michael












Config file:

# 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 tdb:     <http://jena.hpl.hp.com/2008/tdb#> .
@prefix ja:      <http://jena.hpl.hp.com/2005/11/Assembler#> .
@prefix jumble:   <http://rootdev.net/vocab/jumble#> .
@prefix sdb: <http://jena.hpl.hp.com/2007/sdb#> .

[] rdf:type fuseki:Server ;
   # Timeout - server-wide default: milliseconds.
   # Format 1: "1000" -- 1 second timeout
   # Format 2: "10000,60000" -- 10s timeout to first result, then 60s timeout 
to for rest of query.
   # See java doc for ARQ.queryTimeout
   ja:context [ ja:cxtName "arq:queryTimeout" ;  ja:cxtValue "10000,60000" ] ;

   fuseki:services (
     <#service_VIVO_read_only>
   ) .

# SDB
[] ja:loadClass "net.rootdev.fusekisdbconnect.SDBConnect" .
jumble:SDBConnect rdfs:subClassOf ja:RDFDataset .

<#service_VIVO_read_only> rdf:type fuseki:Service ;
    rdfs:label                      "UF VIVO Service (R)" ;
    fuseki:name                     "VIVO" ;
    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           <#ufvivo_dataset_read> ;
    #fuseki:dataset           <#VIVOStore> ;
        .
<#ufvivo_dataset_read> rdf:type      sdb:DatasetStore ;
    sdb:store <#VIVOStore>
        .
<#VIVOStore> rdf:type jumble:SDBConnect;
    rdfs:label                  "UF VIVO SDB Store";
    sdb:layout                  "layout2";
    jumble:defaultUnionGraph "true" ;
    sdb:engine                  "InnoDB";
    sdb:connection
    [ rdf:type sdb:SDBConnection;
        sdb:sdbHost "********";
        sdb:sdbType "mysql";
        sdb:sdbName "********";
        sdb:sdbUser "*********";
        sdb:sdbPassword "********";
        sdb:driver "com.mysql.jdbc.Driver";
    ]
        .


Michael Cox
-------------------------------------------------------------------
Undergraduate Assistant Database Administrator
Mission Operations and Data Systems
Laboratory for Atmospheric and Space Physics
1234 Innovation Drive
Boulder, CO 80303
[email protected]


-----Original Message-----
From: Andy Seaborne [mailto:[email protected]] On Behalf Of Andy 
Seaborne
Sent: Wednesday, March 13, 2013 2:58 PM
To: [email protected]
Subject: Re: Fuseki update with SDB

On 13/03/13 19:47, Michael Cox wrote:
> Andy,
>
> Thanks for the response.
>
> I am getting classnotfound and methodnotfound errors when I try and 
> run queries in fuseki, I'm assuming because I have some sort of 
> library mismatch.
>
> I'm trying to get a fuseki-0.2.6 endpoint running and pulling from 
> what I believe is an sdb-1.3.4 database, do you have any advice on 
> what versions of the jars I should try looking at?  Right now, I'm 
> running into the following when I run a SPARQL query:
>
> java.lang.NoSuchMethodError:
> org.apache.jena.atlas.io.IndentedWriter.print(Ljava/lang/String;)V
> etc etc
>
 > the versions of the jars I am using are:
 > arq-2.8.8.jar
 > jena-2.6.4.jar
 > mysql-connector-java-5.1.19.jar
 > iri-0.8.jar
 > jena-sdb-1.3.6-20130312.095818-13.jar
 > ReconnectingSDB-0.1-SNAPSHOT.jar

That's a bit of a mixture.

fuseki-0.2.6 isn't compatible with jena-2.6.4 so I guess you have multiple 
jena/arq on the classpath.  The Fuseki server jar has jena and arq already in 
it.

And ARQ 2.8.8 does not have org.apache.jena.atlas....

It's probably easier if you take a consistent set from snapshot if you want to 
run any snapshot version.  I'm afraid there isn't a SDB build for exactly 
Fuseki 0.2.6 (I thought there was but checking I see SDB is checking Jena 
development builds - 2.10.1-SNAPSHOT which for Fuseki is 0.2.7-SNAPHOST - sorry 
about that).


If you have Fuseki+SDB from development,

https://repository.apache.org/content/repositories/snapshots/org/apache/jena/

Modules jena-fuseki, jena-sdb

Fuseki is currently 0.2.7-SNAPSHOT
SDB is currently 1.3.6-SNAPSHOT

and you want the latest build (which is at the bottom - highest increment 
number).

if you use maven, add the snapshot repo to the repositories.

        Andy

>
> When using the sdb-1.3.4.jar instead of the new version, Fuseki fails 
> with the following:
>
> Exception in thread "main" java.lang.NoSuchMethodError:
> com.hp.hpl.jena.query.DatasetFactory.create(Lcom/hp/hpl/jena/sparql/co
> re/DatasetGraph;)Lcom/hp/hpl/jena/query/DataSource;
>
>
at com.hp.hpl.jena.sdb.store.DatasetStore.create(DatasetStore.java:34)
> at
> com.hp.hpl.jena.sdb.SDBFactory.connectDataset(SDBFactory.java:159)

Reply via email to