RDFa Everywhere
by Knud Möller
- 4,447 views
What is RDFa, what is new in RDFa 1.1, why is important for Linked Data, who uses it and how? - Talk given at WebDirectionsSouth 2010 in Sydney, 14/10/2010
What is RDFa, what is new in RDFa 1.1, why is important for Linked Data, who uses it and how? - Talk given at WebDirectionsSouth 2010 in Sydney, 14/10/2010
Statistics
- Likes
- 15
- Downloads
- 151
- Comments
- 1
- Embed Views
- Views on SlideShare
- 4,244
- Total Views
- 4,447


1–1 of 1 previous next
I will try not to repeat too much of what Mark already said!
Most exciting for me is the fact that RDFa is getting so much attention and uptake recently. It really seems that RDFa is _the_ technology that finally helps to move this whole idea of a Web of Data (dare I say “Semantic Web”?) from a more or less academic exercise into the mainstream.
Cool for me, since began my PhD at DERI in early 2004, when the SW was still very academic.
There are many examples, right now let me just point out two really big ones - facebook and Drupal. I will talk more about those and others later in the talk.
Then of course there is the new RDFa Working Group within the W3C, where we are working on a new and improved RDFa 1.1, and exciting stuff like the RDFa API. I will give an overview of these developments as well.
- We have a web page, like this one here, which is perfectly understandable for people.
- this is where RDFa comes in - its a way of using the well-known HTML elements and attributes in a new way. Sometimes all we have to do is add attributes to existing tags, sometimes we can throw in a new tag if we want to mark up something that wasn’t already marked up.
- just as a quick refresher on RDF: RDF is based on triples, small data structures which consist of a subject, predicate and object, to express relations between two things. E.g., these two.
- many triples together form a graph of information, where the nodes are the subjects and objects, and the predicates form the arcs in the graph, like in the one we have just seen in the example.
- just as a quick refresher on RDF: RDF is based on triples, small data structures which consist of a subject, predicate and object, to express relations between two things. E.g., these two.
- many triples together form a graph of information, where the nodes are the subjects and objects, and the predicates form the arcs in the graph, like in the one we have just seen in the example.
Quite possibly the biggest thing for RDFa-awareness was when Facebook announced in April this year that they would be using RDFa for their new Open Graph Protocol.
As you know the OGP is a convention to add some simple markup to any webpage, describing what the page is about and other metadata.
OGP only uses a fraction of what RDFa can do, and only in elements, but of course this makes it easier for “casual web developers” to use.
- of course, the nice thing for facebook is that they can now use the metadata defined via the OGP for their like-button functionality, so that the correct title and website name appear in the activity feed, things are classified in the “like & interests” part of the profile, the right icon shows up, etc.
There has been an RDFa for Drupal module for a while now, but with Drupal 7 this will be part of the core functionality, and simply work out of the box.
These kinds of default mappings come out of the box, and are enabled by default. Every Drupal site that updates to version 7 will automatically have RDFa like this.
- search engine giants Google and Yahoo! consume RDFa (and other formats) to enhance their search results. I think this is also true for Bing, but I wasn’t able to really verify that.
- there is a growing number of retailers that use RDFa to mark up their products and stores.
- one of the first to do so was BestBuy, who also famously claimed that adding RDFa to their pages improved traffic by 30%. One of the latest adopters is Overstock.
- Many of those retailers use the GoodRelations vocabulary, which is an RDF vocabulary specifically designed for such e-Commerce scenarios, and is experiencing a lot of uptake recently
- of course, the basic idea behind this is that of the Semantic Web, but with a practical focus on the deployment of large, real-world and hopefully useful datasets
- this is in contrast to the conception (or maybe misconception) that many people had of the general SW vision as a kind of pie-in-the-sky academic undertaking
- at the heart of the Linked Open Data effort are the four famous principles of linked data (the four commandments)
- each circle is a dataset, the size of the circle indicating its relative size, while the arrows show the links between the datasets
- as you can see, within the space of about 1 1/2 years, the LOD cloud has grown tremendously, and is now containing 203 datasets, with around 25 billion RDF triples and around 395 million RDF links
- each circle is a dataset, the size of the circle indicating its relative size, while the arrows show the links between the datasets
- as you can see, within the space of about 1 1/2 years, the LOD cloud has grown tremendously, and is now containing 203 datasets, with around 25 billion RDF triples and around 395 million RDF links
- this is because every little snippet of RDFa on the Web is automatically a part of the Web of Data
- there may be few or no links in the beginning, but as Chris Bizer pointed out in a keynote at FIS2010 recently, this can happen over time, in a pay-as-you-go fashion
- Also, publishing RDF in the past was not for the faint-hearted. Best-practices recipes required fiddling with server settings, working with content negotiation, etc. With RDFa, if you can publish HTML, you can do it!
- ... and more reasons
- this is an EU project, a so-called “support action”. In other words, the goal is not new research, but to support research and business, in this case around Linked Open Data.
- to put those into context, a little bit of history first: the earliest work on RDFa was done in 2004
- shortly after that became official W3C business with the “RDF in XHTML Task Force”, which then published the first official version of RDFa in October 2010.
- Until then, work on RDFa had been very much tied to HTML and XHTML
- with the new RDFa Working Group, which started this year, the work was taken to a whole new level
- in April the so-called “First Public Working Drafts” for the new RDFa 1.1 specifications were published
- there was then a big round of feedback and discussions from the community, which are hopefully all addressed, and which lead to the “Last Call” documents, which are just about to be published
- and then, if everything goes well, the final versions of the specifications will be published as a recommendation in April next year
- However, this is a lot of wasted potential! Any XML-based markup language could really benefit from RDFa.
- And so, one of the main ideas for RDFa 1.1 was to factor out what is generic and truly essential to RDFa into a core specification, which can then be implemented in any suitable host language
- E.g., the working group itself produces an “XHTML+RDFa 1.1” spec, where XHTML is the host language. However, other working groups define specifications for other host languages - the HTML WG is working on “HTML5+RDFa”, there is RDFa in SVG, in ODF and others.
- with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms
- @profile is even more powerful, as it lets you define any kind of prefix mappings or terms to use as attribute values, which will be valid for the document
- getting rid of prefixes completely was often required from within the community to make RDFa authoring easier
- however, how profile will look like, and whether they should be there at all is still a topic of hot debate
- with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms
- @profile is even more powerful, as it lets you define any kind of prefix mappings or terms to use as attribute values, which will be valid for the document
- getting rid of prefixes completely was often required from within the community to make RDFa authoring easier
- however, how profile will look like, and whether they should be there at all is still a topic of hot debate
- with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms
- @profile is even more powerful, as it lets you define any kind of prefix mappings or terms to use as attribute values, which will be valid for the document
- getting rid of prefixes completely was often required from within the community to make RDFa authoring easier
- however, how profile will look like, and whether they should be there at all is still a topic of hot debate
- while there are certainly many RDFa parsers and RDF programming libraries out there, the idea is that a standardised programming API for handling RDFa would be a great thing to have.
- so, while the rest of the RDFa specs deal with how to produce data, the goal of the RDFa API is to support using and consuming RDFa.
- and while the API should also allow for low-level RDF-graph operations, it should be able to abstract aways from those, for developers who are not familiar with the RDF model