incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Castagna <>
Subject Re: Jena and PostGIS (à la LARQ)
Date Tue, 13 Sep 2011 16:40:37 GMT
Hi Alex

Alexander Dutton wrote:
> Hash: SHA1
> On 13/09/11 15:52, Paolo Castagna wrote:
>> Which kind of queries you would like/need to run?
> Probably just (non-BB) containment and distance to start with.


Containment == is a shape|polygon|point fully contained into
another shape|polygon?

Distance == distance between two points or two polygons or
a point and a polygon?

>> Ideally, it would be good to have something pure Java which keeps
>> things very simple to install. Ideally, zero installation cost:
>> download, unzip, load data, run (as it is for Fuseki).
> I agree. I've previously done some GeoDjango stuff, and even just
> creating the PostGIS DB template was 'fun'. The minimum requirement
> would be to set up a blank Postgres DB, provide {host, user, password}
> details in the assembly and have it take it from there…
>> What would be the best way to integrate|use such extensions into
>> Fuseki? Ideally, with 0 changes to Fuseki code base... is that
>> currently possible?
> I've previously written a custom describe handler that IIRC uses
> ja:loadClass to hook itself in, so it's certainly possible…


I wonder if things could be improved (i.e. simplified) for LARQ as well
using ja:loadClass. As I said, I am not an assembly guru myself and help
or suggestions on this are welcome.

I'll give ja:loadClass capabilities a serious look and try it.

These are the two property functions I came up with in my quick hack:

   ?s geoarq:nearby (x y) .
   ?s geoarq:within (x1 y1 x2 y2) .

... pretty self explanatory.

What do you have or would you like to have?

>> Also, I have not been following the progress around GeoSPARQL:
>> ... is
>> there anything interesting/relevant there? Code? :-)
> Me neither, I'm afraid.
>> Finally, things to think about are:
>> - how to you initially build your geo indexes [and] keep those
>> indexes up-to-date as you add/remove triples|quads?
> I would be happy with a manual cmd (again, following how LARQ does it
> atm). Mind you, our data changes infrequently, so I'm happy for them
> to get out-of-sync for short periods. Other people might be less happy ;).
> Does Fuseki/TDB currently fire off some kind of signal when updates
> happen?

LARQ uses the StatementListener mechanism in Jena:
... there might be a better way (i.e. a new/better event system) but
I've not tried it yet.

For some of our use cases it is not acceptable to have indexes out-of-sync
for a too long period of time. Often users post some RDF data and almost
immediately after search for it (to see if it's there) and sometimes they
use free text searches for that (or their UI use it behind the scenes).

>> Ideally, I'd like to have a way to add property functions to ARQ
>> (and use them with TDB datasets or Fuseki) without changing ARQ or
>> TDB nor Fuseki source code. You drop a jar in your class path and
>> the property function as well as keeping indexes up-to-date is
>> there.
> Is this not possible with the ja:loadClass approach?

Probably yes. As I said, I am not an assembler guru...

Using the ja:loadClass I am not sure how you would attach the various
Model to listen for updates (in order to keep the index up-to-date).

Would that be possible?


> - - Alex
> - -- 
> Alexander Dutton
> Metamorphoses Project Developer, Claros
> Oxford University Computing Services, ℡ 01865 (6)13483
> Version: GnuPG v1.4.11 (GNU/Linux)
> Comment: Using GnuPG with Fedora -
> iEYEARECAAYFAk5vc1UACgkQS0pRIabRbjB50ACggZkT8fnvFhSUOrK55+0JHSi4
> n0kAn1WWOSi74YKtI4TPx52q6ir/mH5W
> =W9Ye

View raw message