You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Haoqiu Zhang (张豪秋) <hq...@gmail.com> on 2012/04/27 03:54:29 UTC

Need your help for Fuseki endpoint with SDB

Hi, Dear Sir,

This is Haoqiu from California. I saw your posting regarding to endpoint
for Fuseki-SDB.

I have a question to bother me right now, I think, I may get help from you
for you looks like a great expert of Fuseki server.

Normally, the dataset (endpoint ) needs to be specified when the fuseki
server starts, see the followings:

java -classpath
lib\fuseki\fuseki-0.1.0-server.jar;lib\sdb\sdb-1.3.4.jar;lib\sdb\mysql-connector-java-5.1.19-bin.jar
 -Xmx1024M
org.openjena.fuseki.FusekiCmd --update --desc config/sdbGraph.ttl /dataset

 INFO [main] (FusekiCmd.java:165) - Dataset from assembler
 INFO [main] (SPARQLServer.java:135) - Update enabled
 INFO [main] (SPARQLServer.java:55) - Fuseki 0.1.0
 INFO [main] (SPARQLServer.java:57) - Jetty 7.x.y-SNAPSHOT
 INFO [main] (SPARQLServer.java:58) - Dataset = /dataset
 INFO [main] (SPARQLServer.java:59) - Started 2012/04/26 17:32:28 PDT on
port 3030
 INFO [main] (Slf4jLog.java:55) - jetty-7.x.y-SNAPSHOT
 ...

My question is:

Is it possible to dynamically specify another endpoint (e.g, /dataset2 with
sdbGraph2.ttl) and upload the data to the newly specified endpoint
(/dataset2) from SDB backed by MySQL in java codes after fuseki server
started? Is there any example I can take a look and follow up?

Move forward, we have more graphs stored in the corresponding stores and
sdb assemblers:

graph1               sdb1                  sdb1.ttl
graph2               sdb2                  sdb2.ttl
graph3               sdb3                  sdb3.ttl
graph4               sdb4                  sdb4.ttl
graph5               sdb5                  sdb5.ttl

...

graphn               sdbn                  sdbn.ttl


n can be over 100 or 10,000 ... and we need feel free to dynamically create
the endpoint for these graphs so that multiple users can have corresponding
endpoints to operate on....

Or do you have any better to do this kind of jobs?



I hope you'd understand my question well :-) Thanks.


Cheers,
Haoqiu


+++

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/02/12 12:10, John Fereira wrote:
> It's now about 24 hours since I implemented Damians ReconnectSDB
> fix and my fuseki endpoint is still returning results without any
> errors. Thank you much, Damian.

No problem, glad it's working. I'll have a think about working this
into SDB proper.

What we really need is a pooling version, but so far that eludes me.

> Just for kicks I tried using the ReconnectSDB class with a joseki
> implementation but just couldn't seem to get the right combination
> of jena, arq, sdb, tdb versions without some sort of unresolved
> dependency.

Yes, variations in ARQ typically bite me at some point.

Damian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk8pO7cACgkQAyLCB+mTtymWSwCg9jh1Z9nC8lORvTS9S3XDuuEu
r4QAoOVoM1M5XhCvBxD+7Lfc3q78sVfb
=NzMg
-----END PGP SIGNATURE-----

Re: Need your help for Fuseki endpoint with SDB

Posted by Damian Steer <d....@bristol.ac.uk>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 27/04/12 02:54, Haoqiu Zhang (张豪秋) wrote:
> Hi, Dear Sir,

Hi Haoqiu,

> Normally, the dataset (endpoint ) needs to be specified when the
> fuseki server starts, [...]

Correct.

> 
> My question is:
> 
> Is it possible to dynamically specify another endpoint (e.g,
> /dataset2 with sdbGraph2.ttl) and upload the data to the newly
> specified endpoint (/dataset2) from SDB backed by MySQL in java
> codes after fuseki server started? Is there any example I can take
> a look and follow up?

(To be clear, sdbGraph2.ttl is a configuration file for an SDB dataset)

Currently this isn't possible, as far as I know. However you may not
need to do this...

> Move forward, we have more graphs stored in the corresponding
> stores and sdb assemblers:
> 
> graph1               sdb1                  sdb1.ttl

> 
> ...
> 
> graphn               sdbn                  sdbn.ttl
> 
> 
> n can be over 100 or 10,000 ... and we need feel free to
> dynamically create the endpoint for these graphs so that multiple
> users can have corresponding endpoints to operate on....
> 
> Or do you have any better to do this kind of jobs?


If I understand you correctly each sdb configuration corresponds to
one graph. But SDB can hold numerous graphs, and will work much better
that way.

What you want is an endpoint for each graph, I think? To do that I
suggest writing an proxy servlet that will rewrite queries from:

select ... { pattern }

to

select ... { graph <graphN> { pattern } }

Damian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk+aag8ACgkQAyLCB+mTtykooQCcCvyPLt+qjeF67Z5hgJ73B1NT
ssIAn1U2UOkRdRcenii17yD42f7N3Zsf
=ykLP
-----END PGP SIGNATURE-----