Forgot your password?
typodupeerror
Programming IT Technology

SPARQL Graduates to W3C Recommendation 111

Posted by Zonk
from the mazel-tov dept.
KjetilK writes "The W3C just gave SPARQL the stamp of approval. SPARQL is a query language for the Semantic Web, and differs from other query languages in that is usable across different data sources. There are already 14 implementations of the spec available. Most of them are free software. There are also billions of relations out there that are query-able, thanks to the Linking Open Data project. The structured data of Wikipedia is now query-able at DBpedia. Also, have a look at Ivan Herman's presentations on this topic."
This discussion has been archived. No new comments can be posted.

SPARQL Graduates to W3C Recommendation

Comments Filter:
  • Every time there is a story about the Semantic Web here, people trot out the old "It's utopian vaporware" nonsense. The technologies that stand behind the term "Semantic Web" have existed for nearly a decade now and have produced much fruit. Just see Visualizing the Semantic Web [amazon.com] by Geroimenko & Chen (Springer-Verlag, 2nd ed. 2005) which has plenty of real-world examples of using these technologies to get real work done.

    Sure, the average joe isn't producing semantically meaningful markup when he uses his whizbang Web 2.0 sites, but then again what the average joe produces isn't worth all that much anyway. Even if the Semantic Web doesn't expand to include all Internet activity, it has and continues to do much good.

  • It is really simple (Score:5, Informative)

    by KjetilK (186133) <kjetil@@@kjernsmo...net> on Wednesday January 16, 2008 @04:31PM (#22071014) Homepage Journal
    Oh, it is actually really simple. See, first thing is that you link two documents. That's good old HTML. Then, you realise that you would want to link anything. Like persons. So, you give those persons a URI. You can't retrieve a person over the Internet, that's why it is a URI, not a URL, but you can get a description of the person. And then you realise that you want to say something about the nature of the relationship. So you put in a third URI that says something about the relationship. For example that the person knows that other person, or is his son, or something.

    so

    <http://www.kjetil.kjernsmo.net/foaf#me> <http://xmlns.com/foaf/0.1/knows> <http://www.w3.org/People/Berners-Lee/card#i>

    simply says that I know timbl. I hope you're less stumped than you used to be.

    If you grok this, you've grokked 90% of RDF.
  • Well, no, it hasn't changed your life just yet, but you could check out a few links in the story, there is a lot of potential there. I'm not going to run off on conspiracy theories, but it is pretty clear that many big players likes to keep things under locks, that's a hurdle that makes this take slightly longer.

    In my submission, I gave an example query, which you can run at DBPedia with their standard prefixes:

    SELECT ?name ?birth ?death ?person WHERE
    { ?person skos:subject ;
                        dbpedia2:birth ?birth ;
                        foaf:name ?name .
    OPTIONAL { ?person dbpedia2:death ?death }
    FILTER (?birth "1945-01-01"^^xsd:date) . }
    ORDER BY ?name"

    What this says is "give me the name, birth data and death date of a person that has the following properties:
    It is a computer scientist, who has a birth day and a name and optionally a death date, then filter based on the date and order it by name.

    There are now billions of such stuff you can query, and if you're open minded, it could indeed change your life.
  • by HappyEngineer (888000) on Wednesday January 16, 2008 @05:20PM (#22071592) Homepage
    I suppose it's cool to emphasize the semantic web use of SPARQL. But, at its core SPARQL is a query language for RDF data stores. It takes some learning, but using SPARQL against an RDF data store feels much cleaner than using SQL against a relational database. It's slower though. Much slower. That's why it works best for small data sets.

    My company stores the schema for our objects in RDF and use SPARQL to query against that schema. The actual data is saved to a relational database (our experiments with an all-RDF system concluded that it's just too slow for large data sets).

    The RDF data stores can exist in arbitrary places (they don't need to be local), but I wonder how slow that would be to query.

    Nevertheless, I encourage people to at least learn about this stuff. It's good for the same reason that learning about Ruby and Python is a good thing even if you only ever program in Java or C++. RDF and SPARQL make you start thinking about inferences and ways of storing data which allow you to derive more information from your information. When I first learned about RDF I had the same type of aha moments that I had when I first learned a dynamic language (FWIW, it was TADS3) after years of using static languages.

I don't want to achieve immortality through my work. I want to achieve immortality through not dying. -- Woody Allen

Working...