A declarative query language from the W3C for querying structured propositional data (in the form of 3-tuple [triples] or 4-tuple [quads] records) stored in a deductive database (colloquially referred to as triple or quad stores in Semantic Web and Linked Data parlance).
SPARQL is inherently platform independent. Like SQL, the query language and the backend database engine are distinct. Database clients capture SPARQL queries which are then passed on to compliant backend databases.
Like SQL for relational databases, it provides a powerful mechanism for accessing and joining data across one or more data partitions (named graphs identified by IRIs). The aforementioned capability also enables the construction of sophisticated Views, Reports (HTML or those produced in native form by desktop productivity tools), and data streams for other services.
Unlike SQL, SPARQL includes result serialization formats and an HTTP based wire protocol. Thus, the ubiquity and sophistication of HTTP is integral to SPARQL i.e., client side applications (user agents) only need to be able to perform an HTTP GET against a URL en route to exploiting the power of SPARQL.
What follows is a very simple guide for using SPARQL against your own instance of Virtuoso:
Note: the data source URL doesn't even have to be RDF based -- which is where the Virtuoso Sponger Middleware comes into play (download and install the VAD installer package first) since it delivers the following features to Virtuoso's SPARQL engine:
Public SPARQL endpoints are emerging at an ever increasing rate. Thus, we've setup up a DNS lookup service that provides access to a large number of SPARQL endpoints. Of course, this doesn't cover all existing endpoints, so if our endpoint is missing please ping me.
Here are a collection of commands for using DNS-SD to discover SPARQL endpoints:
About this entry:
Author: Kingsley Uyi Idehen
Published: 01/16/2011 02:06 GMT-0500
01/19/2011 10:43 GMT-0500
Web Services (Web 2.0)
Comment Status: 2 Comments
Thanks for posting this :)
I was already at the stage where I'd configured, made and 'make install'd on OSX, and was wondering what to do next.
"Follow post-installation guide and verify installation by typing in the command: virtuoso -? (if this fails check you've followed installation and setup steps, then verify environment variables have been set)"
This didn't work, so I'm a bit stuck. How do I check the right env vars are set? I tried just opening a fresh terminal, but same result - n sign of 'virtuoso' command line. I took a look around the installed files, found /usr/local/virtuoso-opensource/bin/ contains a 'virtuoso-t' but that didn't do anything when I ran it...
If using the commercial edition for Mac OS X, you simply use the applets we provide to start and stop the server. There's no need to enter the shell.
When using the Open Source edition, you need to have the ~virtuoso-installer dir bin in PATH, then situate yourself in a directory with a database config file (INI).
Will get the steps above added to the VOS guide as this will make life simpler.