You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Dimitris Spanos <di...@gmail.com> on 2012/11/23 18:12:38 UTC

Fuseki on virtual triples

Hello all,

I have built a custom QueryEngine that enables SPARQL access to a
relational database (yes, pretty much like what D2RQ does...) and it
felt natural to consider Fuseki for the creation of a SPARQL endpoint
that would use my QueryEngine. However, from what I understand by
browsing through the Javadoc and documentation, Fuseki's SPARQLServer
ultimately needs to be "hooked" on a Graph and, in my case, this poses
a problem, since all my triples are virtual and are not
stored/materialized in a Graph.
If I want to use Fuseki, do I absolutely need to create a custom
implementation of Graph? Which Graph methods are actually used by
Fuseki and are the ones that I would have to implement? Just
graphBaseFind() or something more?
Or should I just go ahead and write some custom servlet code to
execute submitted SPARQL queries with my QueryEngine?

Dimitris

Re: Fuseki on virtual triples

Posted by Dimitris Spanos <di...@gmail.com>.
Thank you for your reply Damian,

On Mon, Nov 26, 2012 at 12:16 PM, Damian Steer <d....@bristol.ac.uk> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 23/11/12 17:12, Dimitris Spanos wrote:
>> Hello all,
>
> Hi Dimitris,
>
> Not sure you got a reply to this.
>
>> I have built a custom QueryEngine that enables SPARQL access to a
>> relational database ...
>
> This is read only, I take it?

Yes, for the time being.
>
>> If I want to use Fuseki, do I absolutely need to create a custom
>> implementation of Graph? Which Graph methods are actually used by
>> Fuseki and are the ones that I would have to implement? Just
>> graphBaseFind() or something more?
>
> - From what I remember you'll need an actual Graph for DESCRIBE, but
> that's about it (assuming your query engine is complete).
>
> However given that you've implemented querying the Graph interface
> ought to be trivial.
>
> (There's a thread on jena-dev discussing the simplification of Graph)

Thanks for the hint, I found this thread which is highly relevant to
what I want to do:
http://mail-archives.apache.org/mod_mbox/jena-dev/201205.mbox/%3COF95B7ADCF.1AC42F3B-ON65257A06.002D80D5-65257A06.002E6AEC@in.ibm.com%3E.
It looks like I cannot avoid implementing a DatasetGraph, I will have
to see though how to do it without materializing any statements. I
will take a closer look to the pointers mentioned there and get back
if I'm stuck somewhere.

Dimitris
>
> Damian
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with undefined - http://www.enigmail.net/
>
> iEYEARECAAYFAlCzQWQACgkQAyLCB+mTtyldcACgrDcwGIepiaoh+FnWBSFFaGrS
> A+gAn129tpja2RqSy8ITkhpGogc91V5A
> =bBAG
> -----END PGP SIGNATURE-----

Re: Fuseki on virtual triples

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

On 23/11/12 17:12, Dimitris Spanos wrote:
> Hello all,

Hi Dimitris,

Not sure you got a reply to this.

> I have built a custom QueryEngine that enables SPARQL access to a 
> relational database ...

This is read only, I take it?

> If I want to use Fuseki, do I absolutely need to create a custom 
> implementation of Graph? Which Graph methods are actually used by 
> Fuseki and are the ones that I would have to implement? Just 
> graphBaseFind() or something more?

- From what I remember you'll need an actual Graph for DESCRIBE, but
that's about it (assuming your query engine is complete).

However given that you've implemented querying the Graph interface
ought to be trivial.

(There's a thread on jena-dev discussing the simplification of Graph)

Damian
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iEYEARECAAYFAlCzQWQACgkQAyLCB+mTtyldcACgrDcwGIepiaoh+FnWBSFFaGrS
A+gAn129tpja2RqSy8ITkhpGogc91V5A
=bBAG
-----END PGP SIGNATURE-----