Peter Ansell wrote:
2008/11/27 Hugh Glaser <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
Prompted by the thread on "linked data hosted somewhere" I would
like to ask
the above question that has been bothering me for a while.
The only reason anyone can afford to offer a SPARQL endpoint is
because it
doesn't get used too much?
As abstract components for studying interaction, performance, etc.:
DB=KB, SQL=SPARQL.
In fact, I often consider the components themselves
interchangeable; that
is, the first step of the migration to SW technologies for an
application is
to take an SQL-based back end and simply replace it with a
SPARQL/RDF back
end and then carry on.
However.
No serious DB publisher gives direct SQL access to their DB (I think).
There are often commercial reasons, of course.
But even when there are not (the Open in LOD), there are only
search options
and possibly download facilities.
Even government organisations that have a remit to publish their
data don't
offer SQL access.
Will we not have to do the same?
Or perhaps there is a subset of SPARQL that I could offer that
will allow me
to offer a "safer" service that conforms to other's safer service
(so it is
well-understood?
Is this defined, or is anyone working on it?
And I am not referring to any particular software - it seems to me
that this
is something that LODers need to worry about.
We aim to take over the world; and if SPARQL endpoints are part of
that
(maybe they aren't - just resolvable URIs?), then we should make
damn sure
that we think they can be delivered.
My answer to my subject question?
No, not as it stands. And we need to have a story to replace it.
Best
Hugh
I don't think we can afford to offer the actual public grade
infrastructure for free unless there is corporate backing for
particular endpoints. However, we can still tentatively roll out
SPARQL endpoints and resolvers in mirror configurations together with
software which can round robin across the endpoints to get information
without overloading a particular endpoint to at least get some
redundancy and figure out what needs to be done to fine tune the
methods for distributed queries. Once you have the ability to round
robin across sparql endpoints and still choose them intelligently
based on a knowledge of what is inside each one you can distribute the
source RDF to anyone and have them give back the information about how
to access the endpoint, and if people are found to be overloading an
endpoint send them a polite message to either round robin across the
available endpoints or get their own local SPARQL installation which
can be configured to respond to work the same as the public endpoint.
An example implementation of this functionality is the distribution of
queries across endpoints for Bio2RDF [1] which together with the
distribution of a combination of Virtuoso DB files [2] and source
NTriples files [3] make it relatively simple for people to download
the software [4], and the resolver package and redirect the
configuration file to their own local versions for large scale private
use of semantics using exactly the same URI's that resolve using a
combination of the publically available resolvers which may or may not
be contacting public SPARQL endpoints. An example of a public resolver
contacting a combination of public and private SPARQL endpoints is
[5]. (Please don't go and overload it though because as Hugh says, the
threat of overloading is quite real for any particular endpoint :) ).
Peter,
If you configure the Virtuoso INI file appropriately the deliberate or
inadvertent DOS vulnerability is alleviated.
You can append this to your Virtuoso INI (if not there already):
[SPARQL]
ResultSetMaxRows = 1000
DefaultGraph = http://bio2rdf.org
MaxQueryExecutionTime = 60 ; seconds
MaxQueryCostEstimationTime = 400 ; seconds
DefaultQuery = select distinct ?Concept where {[] a ?Concept}
I do agree that arbitrary SPARQL queries should be localised to
private installations, but before you do that you have to provide easy
ways for people to get private installations which resolve URI's in
the same way that they are in the public web.
We have also made this part of the DBpedia on EC2 solution, thus, the
URIs are localized while retaining original data source links by
attribution etc.
So <http://<ec2-cname>/resource/Berlin> will be resolved locally will
using an attribution link (dc:source) to
<http://dbpedia.org/resource/Berlin> . The attribution triple doesn't
exist in the quad store (so it doesn't result in one for each resource
thereby increasing size unnecessarily), we simply produce it "on the
fly" via a re-write rule.
Kingsley
Cheers,
Peter
[1] http://bio2rdf.mquter.qut.edu.au/admin/configuration/rdfxml
[2] http://quebec.bio2rdf.org/download/virtuoso/indexed/
[3] http://quebec.bio2rdf.org/download/n3/
[4] http://sourceforge.net/project/platformdownload.php?group_id=142631
[5] http://bio2rdf.mquter.qut.edu.au/
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "bio2rdf" group.
To post to this group, send email to [EMAIL PROTECTED]
To unsubscribe from this group, send email to
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/bio2rdf?hl=en
-~----------~----~----~----~------~----~------~--~---
--
Regards,
Kingsley Idehen Weblog: http://www.openlinksw.com/blog/~kidehen
President & CEO
OpenLink Software Web: http://www.openlinksw.com