Re: GeoNames and Spatial Queries

Christopher St John wrote:
> On Thu, Feb 26, 2009 at 10:59 AM, Kingsley Idehen
> <kidehen@openlinksw.com> wrote:
>   
>>> My worry as a mashup author is that the web of linked data
>>> has holes in places I didn't expect, and navigating across the
>>> gaps requires traditional integration code.
>>>       
>> No DBMS is perfect for cognition gifted humans. The Linked Data Web is no
>> exception. Their are two many dimensions to human context :-)
>>
>>     
>
> Fair enough, but location is a very important dimension. At
> least to me :-) The fact that all the major relational databases
> have positional SQL queries is a sign that it's an important
> dimension to other people, as well...
>   
Not disputing that, simply saying: you can construct your dimensions by 
reshaping the data. But I sense that the problem you have is the 
inability to calculate proximity "on the fly" via SPARQL, for instance?
>
>   
>> You are really seeking a URI that expose a Thing with geospatial object
>> association, right? Thus, when you put the URI in a browser you get a map of
>> those things etc..
>>
>>     
>
> Hmmm. I have a lat/long position (given to me by the phone),
> and I want the top 3 closest US National Register sites ranked by
> proximity. And I want to get those sites using linked data as
> "purely" as possible, obeying all relevant best practices.
>
> I have the National Register dataset locally. Part of the exercise
> was to publish it as linked data. I was tentatively planning to use
> geonames URLs for locations. (The National Register dataset is
> also available as part of other datasets, but the idea was to
> actually go through the exercise)
>
> So, if I have lat/long, and a National Register dataset that links
> to the geonames dataset that has lat/long data, then all the data
> I need is available as linked data.
>
> But... I have no (generic) way to state my query.
>   
If you want to do it "on the fly" in SPARQL, then there is a problem 
which comes down to GeopSpatial functions in the Quad Store. On the 
other hand if you are happy to get the proximity calcs via a Web Service 
(which I believe DBpedia Mobile does) then Wrapper/Proxy URIs based on 
the service would do.
> As far as I can tell, my options are:
>
>  A) Write integration code to hook the datasets (geonames has
>  a couple queries I could use), with the option of wrapping the
>  bridge so it could be queried via a SPARQL extension.
>   
Yes, we call this an RDFizer Cartridge or Wrapper.
>  B) Import the geonames data locally, and either use postgreSQL
>  geodata extensions directly, or wrap them so I could query
>  locally via a SPARQL extension.
>
>
>   
>> Are the following ample examples:
>>
>> 1. Display a map of places associated with battles linked to "Naploleon"
>> 2. Geospatial browsing along the lines of: http://linkedgeodata.org/browser/
>>
>>     
>
> Number 1 would probably be closest.
>
> It looks like the linkedgeodata browser takes option (B) above,
> but of course at that point you're limited to datasets that you've
> pre-imported or pre-coded an integration for, and you've lost the
> ability to _generically_ link in new data.
>
> Which is fine. The whole idea was to learn by writing an actual
> application, and problems encountered along the way are just
> grist for the blog mill.
>   
Good idea, stick with the plan.

Some todos for us re. Virtuoso:

1. Make a Geonames Cartridge (once and for all)
2. Add GeoSpatial Indexing to the Virtuoso Core (been on todo for eons, 
and implementation cost isn't high).

Let's keep talking.  I'll ping you when the Geonames Cartridge is ready; 
proximity calcs will be delivered via Cartridge options.

Kingsley
> Thanks for the feedback!
>
> -cks
>
>   


-- 


Regards,

Kingsley Idehen	      Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO 
OpenLink Software     Web: http://www.openlinksw.com

Received on Thursday, 26 February 2009 20:06:07 UTC