W3C home > Mailing lists > Public > semantic-web@w3.org > April 2010

Re: Public SPARQL endpoints for generic usage

From: Melvin Carvalho <melvincarvalho@gmail.com>
Date: Thu, 8 Apr 2010 10:56:12 +0200
Message-ID: <t2u9178f78c1004080156v1391f08eq497636dabaf0f204@mail.gmail.com>
To: Stephane Corlosquet <scorlosquet@gmail.com>
Cc: semantic-web@w3.org
2010/4/8 Stephane Corlosquet <scorlosquet@gmail.com>

> Hi,
> Some applications don't have the capability or the resources to run SPARQL
> queries themselves and must rely on external services. There exist a few
> SPARQL public endpoints which allow generic SPARQL querying [1] [2]. Are
> there any policy on using these public endpoints in applications? I
> understand these were setup primarily for educational purposes. Obviously
> anyone wanting to build a reliable service would host their own SPARQL
> endpoints, but how about situations where the user setting up an application
> using SPARQL is not able to host such a service. Think of handheld devices,
> or situations where no SPARQL library is available for software stack an
> application runs on.
> The use case which prompted me to write this email is in PHP where ARC2
> requires MySQL to run SPARQL queries. During the installation of Drupal,
> imagine we want to get all the classes of a vocabulary with:
>   select *
>   from <http://xmlns.com/foaf/0.1/>
>   where {
>     {?class rdf:type owl:Class}
>     union
>     {?class rdf:type rdfs:Class}.
>     OPTIONAL {?class rdfs:label ?label}.
>   }
> (similarly for properties)
> Sites running on a database other than MySQL will need to use an external
> SPARQL endpoint. I imagine this is not an isolated use case. Do we have
> public endpoints available for this sort of (ideally lightweight) querying?
> How do they deal with server load (API key, IP based flooding control)?

I wondered often about this too, but I believe it's on the arc2 todo list to
remove the MySQL dependency.  Or of someone wanted to submit a pach, I'm
sure it would be greatfully received, so the arc2 is likely only a short
term issue.

I was playing around with the beginnings of a service.


This allows you to submit a sparql query and get back the results.  If
you're logged in (currently need foaf+ssl) you can persist your queries.  It
was more a chance to build up a library of interesting queries for my own
education than anything else, but I could possibly use it a controlled API
for proxying queries.

Similarly in FOAF+SSL we need to obtain the public key from a WebID, so i
built a simple service to do this (eventually it will have caching for
better speed) here:


Again this style of service has pros and cons:

- Good to fallback to, if you dont have a sparql library
- Could be optimized for speed ( e.g. caching )
- Could allow verified claim (public key) against an account that is hard to
deference (e.g. email, phone, google account etc.)

- Any proxy could give you false information
- The proxy itself runs the risk of being attacked, it's more secure to go
to the source
- The caching and revocation problem

These were just proof-of-concepts that I put together in a day or two, but
my hope is that the Linked Data Cloud has the ability to come together to
provide a host of services that allow the whole to become greater than the
sum of the parts.

> Steph.
> [1] http://www.sparql.org/sparql
> [2] http://demo.openlinksw.com/sparql
Received on Thursday, 8 April 2010 08:56:44 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:17 UTC