I don't know if this will help but I've got Fuseki + SDB +MySQL built
based on the 0.2.6 code that we've been using for VIVO at Cornell (my boss
was the original developer of VIVO. It has a few sample sparql queries for
pulling data out of VIVO and include a startup script. It's all zipped up
and can be deployed with just a small change to the configuration file
I've got a ton of things on my plate right now but I want to build a
version from the 1.0.0-SNAPSHOT (but thought I'd wait to see if json-ld
gets in).
In any case, you're welcome to my build (I've got it in a public folder in
Dropbox) if you want it.
-----Original Message-----
From: Andy Seaborne [mailto:[email protected]]
Sent: Friday, September 06, 2013 5:23 PM
To: [email protected]
Subject: Re: fuseki, vivo, mysql. How to set this up?
On 06/09/13 10:41, Michel de Lange wrote:
Hi Andy,
Thank you very much for your help. I must confess that I barely know
what I am doing, and I have been tearing my hear out, so I very much
appreciate your help.
I have run the query you gave me (select * WHERE { { ?a ?b ?c } UNION {
GRAPH ?g { ?s ?p ?o } } } LIMIT 10) , and it returns heaps. Here is
the top part:
{
"head": {
"vars": [ "a" , "b" , "c" , "s" , "p" , "o" , "g" ]
} ,
"results": {
"bindings": [
{
"s": { "type": "uri" , "value":
"http://purl.org/dc/terms/modified" } ,
"p": { "type": "uri" , "value":
"http://www.w3.org/1999/02/22-rdf-syntax-ns#type" } ,
"o": { "type": "uri" , "value":
"http://www.w3.org/2002/07/owl#AnnotationProperty" } ,
"g": { "type": "uri" , "value":
"http://vitro.mannlib.cornell.edu/filegraph/tbox/vivo-dcterms-1.5.owl" }
} ,
{
"s": { "type": "uri" , "value":
"http://purl.org/dc/terms/source" } ,
"p": { "type": "uri" , "value":
"http://www.w3.org/1999/02/22-rdf-syntax-ns#type" } ,
"o": { "type": "uri" , "value":
"http://www.w3.org/2002/07/owl#AnnotationProperty" } ,
"g": { "type": "uri" , "value":
"http://vitro.mannlib.cornell.edu/filegraph/tbox/vivo-dcterms-1.5.owl" }
} ,
{
and on it goes. There are no values for a, b and c anywhere I can see,
but there are things I put into the db myself, such as this line (I
took LIMIT 10 out of the query):
"s": { "type": "uri" , "value":
"http://vivo.mydomain.edu/individual/n6763" } ,
"p": { "type": "uri" , "value":
"http://xmlns.com/foaf/0.1/lastName" } ,
"o": { "datatype": "http://www.w3.org/2001/XMLSchema#string"
,
"type": "typed-literal" , "value": "Tolstoy" } ,
"g": { "type": "uri" , "value":
"http://vitro.mannlib.cornell.edu/default/vitro-kb-2" }
What does this imply for what I am doing? Why does this query return
something, and mine does not?
That means all the data is in named graphs. Maybe VIVO uses "union
default graph" mode
http://jena.apache.org/documentation/sdb/configuration.html#queries-over-all-named-graphs
When you say "connect to one that isn't an SDB database": What makes a
database//an SDB database?
SDB uses it's own schema - it isn't a general SQL to RDF mapper.
Mine is a MYSQL database, filled with tables by VIVO. Is that an SDB
database? It has tables, such as jena_g1t0_reif,
That is a Jena RDB table. The RDB storage system is no longer supported
or included in Jena. Could it be unused and left over from an earlier time?
and so on, and a table called triplets, and one called quads,
They are SDB tables.
so that is
all quite promising. I wonder if there is some part missing, where I
tell the sparql endpoint just how the queries should match the tables
in my database.
This may help:
SELECT * {
GRAPH <urn:x-arq:UnionGraph> {
?s ?p ?o
}
and asking the VIVO people what the setup is.
Andy
Thank you again,
Michel