SPARQL Graduates to W3C Recommendation 111
Posted
by
Zonk
from the mazel-tov dept.
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."
The Semantic Web has been a reality for years now (Score:2, Informative)
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)
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.
Re:The Semantic Web has been a reality for years n (Score:5, Informative)
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.
Why emphasize the semantic web? (Score:5, Informative)
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.