views:

211

answers:

3

This is a terribly beginner series of questions, but after reading through a good 30 SPARQL tutorials I can't seem to wrap my head around what SPARQL is or how to begin using it.

  1. Is it executed on the client side?
  2. Is microsoft somehow going to be able to mess this up?
  3. Can you use a common relational database (SQL)?
  4. Are there particular resources you recommend over others for learning?
  5. Do you feel it is premature to begin investing myself in this?
  6. Best way to get set up and running to start tinkering?

The RDFA examples I have seen are very inspiring. I am currently a big proponent of using microformats but would really like to take it further. I currently develop in PHP, but have only found a Java library.

+4  A: 

Is it executed on the client side?

It could be. But server side execution is more likely IMO. It depends on what you are trying to do with it. (I'm not aware of any client-side implementations of SPARQL).

Is microsoft somehow going to be able to mess this up?

Anything is possible. But if you spend all your time worrying about Microsoft you won't get anything done. (If I was an IT entrepreneur, I'd be more worried about software patents and patent trolls.)

Can you use a common relational database (SQL)?

To execute SPARQL? No. As a backend for a triple store / SPARQL engine? Yes, though there are technical issues that mean that this isn't the most performant option ... for some kinds of SPARQL query.)

Are there particular resources you recommend over others for learning?

Not specifically. What are you trying to learn that you cannot learn from the tutorials?

Do you feel it is premature to begin investing myself in this?

It depends on what you have in mind. If you are doing this for fun, its not premature. If you are interested in research, it is not premature. If you are doing this to land a job, it is possibly premature (take a look at the job ads in your area). If you want to make your first million dollars ... your guess is as good as mine.

Best way to get set up and running to start tinkering?

Download and install one of the open-source triple-store / SPARQL implementations and try some experiments. My personal preference is OpenRDF / Sesame because it has clean APIs, is well engineered and just plain works.

Stephen C
+1  A: 

Is it executed on the client side?

Not normally; no more than SQL is

Is microsoft somehow going to be able to mess this up?

SPARQL is a w3c standard, which is not to say that implementations won't start adding tricks of their own.

Can you use a common relational database (SQL)?

Yes, in two ways: as Stephen says, an RDBMS will not natively execute SPARQL for you, but may be used to store the triples as a backend. Additionally, you can use a RDBMS as a store for relational data but with a dynamic mapping to RDF such as via D2RQ or OpenLink Virtuoso's RDF Views system.

Are there particular resources you recommend over others for learning?

The usual: w3c, wikipedia, some example queries on dbpedia.org ... off you go.

Do you feel it is premature to begin investing myself in this?

Not at all. What's kept you? ;)

Best way to get set up and running to start tinkering?

Grab a copy of OpenLink Virtuoso and once it's running, point a browser at localhost:8890/sparql/ and localhost:8890/isparql/ to browse the sparql endpoint.

Tim Haynes
A: 

There is a really great SPARQL tutorial here written by Lee Feigenbaum, one of the editors of the SPARQL specification:

http://www.cambridgesemantics.com/2008/09/sparql-by-example/

Ian Davis