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
Unleash Your Potential - Namagunga Girls Coding Club
RDFa Everywhere
1. RDFa Everywhere
Knud Möller, DERI, NUI Galway
WebDirections South 2010
14/10/2010
13/03/2008 FAST kick-off, Madrid, 2008
Copyright 2010 Digital Enterprise Research Institute. All rights reserved.
2. Previously on Web Directions South...
http://www.slideshare.net/mark.birbeck/
rdfa-what-happens-when-pages-get-smart
2
3. Recent Developments in RDFa
•important new adopters!
– facebook, Drupal 7, ...
•W3C RDFa Working Group
– work under way for RDFa 1.1
– RDFa API
•new tools
3
4. Wait - but what is RDFa?
•basically: a way to very precisely mark up data in a web
page
4
6. RDFa Toy Example (ctd.)
"My Homer
index.html dct:title
Page"
foaf:primaryTopic
index.html
foaf:name "Homer"
#me
rdf:type
foaf:knows
foaf:Person
rdf:type
index.html
foaf:name "Marge"
#marge
foaf:depiction
marge-
simpson1.jpg
6
7. RDFa Toy Example (ctd.)
<html>
<head>
<title>My Homer Page</title>
</head>
<body>
<h1>My Homer Page</h1>
<p>Hi! My name is Homer Simpson,
and this is my <b>lovely wife</b>,
Marge.
</p>
<img
src="http://missmba.files.wordpress.com/2009/10/marge-
simpson1.jpg"/>
</body>
</html>
7
8. RDFa Toy Example (ctd.)
<html>
<html prefix="foaf: http://xmlns.com/foaf/0.1/
<head> dct: http://purl.org/dc/terms/">
<title>My Homer Page</title>
<head>
</head> about="" property="dct:title">My Homer Page</title>
<title
<body>
</head>
<body> Homer Page</h1>
<h1>My
<h1 about="">My
<p>Hi! My name is Homer Simpson,
<span rel="foaf:primaryTopic" resource="#me">Homer</span> Page</h1>
and this is my <b>lovely wife</b>,
Marge.
<p about="#me" typeof="foaf:Person">Hi! My name is
</p>
<span property="foaf:name">Homer Simpson</span>,
and <span rel="foaf:knows">
<img
<span about="#marge" typeof="foaf:Person">this is my
src="http://missmba.files.wordpress.com/2009/10/marge-
<b>lovely wife</b>,
simpson1.jpg"/>
<span property="foaf:firstName">Marge</span></span></span>.
</body>
</p>
</html>
<img resource="#marge" rev="foaf:depiction"
src="http://missmba.files.wordpress.com/2009/10/marge-
simpson1.jpg"/>
</body>
7
9. Wait - but what is RDFa?
•basically: a way to very precisely mark up data in a web
page (or other document)
•RDFa = “RDF in attributes”
•Triple: (Subject, Predicate, Object)
8
10. Wait - but what is RDFa?
•basically: a way to very precisely mark up data in a web
page (or other document)
•RDFa = “RDF in attributes”
•Triple: (Subject, Predicate, Object)
<#me> foaf:knows <#marge> .
<#me> foaf:name “Homer” .
8
11. Wait - but what is RDFa?
•basically: a way to very precisely mark up data in a web
page (or other document)
•RDFa = “RDF in attributes”
•Triple: (Subject, Predicate, Object) "My Homer
index.html dct:title
Page"
foaf:primaryTopic
index.html
foaf:name "Homer"
#me
rdf:type
<#me> foaf:knows <#marge> . foaf:Person
foaf:knows
rdf:type
<#me> foaf:name “Homer” . index.html
#marge
foaf:name "Marge"
foaf:depiction
marge-
simpson1.jpg
8
12. Some Old and New Attributes (there are more!)
•@about to say what some information is about (the
subject) <span about="#marge" typeof="foaf:Person">...</span>
•@typeof to say what kind of thing something is (its
class) <span about="#marge" typeof="foaf:Person">...</span>
•@rel to say how one thing relates to another
(predicate) <a rel="cc:license" href="http://creativecommons.org/
licenses/by-nc-nd/3.0/">Creative Commons License</a>
•@href to say what something related to (the object)
<a rel="cc:license" href="http://creativecommons.org/
licenses/by-nc-nd/3.0/">Creative Commons License</a>
•@content to provide machine-readable content (a
literal object) ... starts <span property="cal:dtstart"
content="2010-10-14" datatype="xsd:dateTime">today</span>!
9
13. Adopters of RDFa - Facebook’s OGP
•April 2010: Facebook announces RDFa in Open Graph
Protocol
•Any web page can become a node in the graph by
adding some simple markup
[1]
10
18. Adopters of RDFa - Drupal
•Drupal is one of the top 3 open source CMSs [2]
•Lots of organisations, companies, media, administrations,
politicians, universities, etc. all run Drupal [3]
•Drupal 7 will provide RDFa support right out of the box!
•By default, common Drupal content types and data fields
are mapped to vocabularies like Dublin Core, RSS,
SIOC, FOAF, SKOS, etc.
13
19. Adopters of RDFa - Drupal (ctd.)
Digital Enterprise Research Institute www.deri.ie
sioc:UserAccount
foaf:name
sioc:
has_creator foaf:page
sioc:Item,
foaf:Document sioc:topic skos:Concept
Produce and Consume
skos:prefLabel,
Linked Data with Drupal dc:title
rdfs:label
posted on October 22 by Stéphane dc:created, dc:date
sioc:reply_of skos:description
content:encoded
Produce and Consume Linked Data with Drupal! is the skos:inScheme
title of the paper I will be presenting next week at dc:modified
the 8th International Semantic Web Conference
(ISWC 2009) in Washington, DC. sioc:num_replies
sioc:Post,
Drupal ISWC RDFa sioc:last_activity_date sioct:Comment
dc:title
Wow, that’s rad!
posted on October 23 by Lin dc:created, dc:date
Nice work! content:encoded
dc:modified
[4]
14 7
20. Adopters of RDFa - Drupal (ctd.)
Digital Enterprise Research Institute www.deri.ie
Digital Enterprise Research Institute www.deri.ie
sioc:UserAccount
foaf:name
sioc:
posted on foaf:page
has_creator
<span property="dc:date dc:created"
sioc:Item, content="2009-10-22T08:03:26-05:00"
Produce and Consume foaf:Document sioc:topic
datatype="xsd:dateTime"> skos:Concept
Produce and Consume
Linked Data with Drupal October 22 skos:prefLabel,
Linked Data with Drupal dc:title
rdfs:label
posted on October 22 by Stéphane </span>
posted on October 22 by Stéphane dc:created, dc:date
by
sioc:reply_of skos:description
Produce and Consume Linked Data with Drupal! is the <span rel="sioc:has_creator">
content:encoded
title of the paper I will Linked Data with Drupal! at the
Produce and Consume be presenting next week is
<span about="/user/6" skos:inScheme
the 8th International Semantic Web Conference at
title of the paper I will be presenting next week dc:modified
(ISWC 2009) in Washington, DC. Web Conference
the 8th International Semantic typeof="sioc:UserAccount"
(ISWC 2009) in Washington, DC. sioc:num_repliesproperty="foaf:name">
Drupal ISWC RDFa sioc:Post,
stephane
Drupal ISWC RDFa sioc:last_activity_date sioct:Comment
</span>
Wow, that’s rad! </span> dc:title
Wow, that’s rad!
posted on October 23 by Lin
posted on October 23 by Lin dc:created, dc:date
Nice work!
Nice work! content:encoded
dc:modified
[4]
8
14 7
23. Adopters of RDFa - many others
•Search Engines as RDFa consumers
– Google (Rich Snippets)
– Yahoo! (Searchmonkey)
•Retailers as RDFa producers
– BestBuy [5], Overstock
– Tesco
•...
17
24. Linked (Open) Data
•linked data instead of linked documents
•data producers - companies, governments, media,
academia, private individuals, etc. - open their structured
data to the public
1. Identify everything with a URI.
2. Use “http://” URIs - otherwise they
cannot be found!
3. Provide useful information at each URI.
4. Include links between datasets.
[6]
18
28. RDFa as a Linked (Open) Data-enabler
•RDFa is automatically part of the Web of Data
•maybe few or no links in the beginning, but ...
•data can be integrated, mashed up, compared, cleaned,
enhanced, etc.
•data producers, consumers and third parties can all
contribute in a “pay-as-you-go fashion” [9]
•RDFa requires no set-up - anyone on the Web can do it!
•Platforms and tools like Drupal make it even easier
•The first SW technology to receive serious attention and
uptake - something must be right about it!
20
29. The LATC Project
•EU “Support Action” Project for Linked Open Data [10]
1. Deploy a 24/7 infrastructure to continuously monitor and
improve the quality of data links within the Linking Open Data
cloud.
2. Assemble and maintain a library of open source Linked Data
tools and provide a data source inventory to the community.
3. Create and maintain a test-bed for data-intensive applications by
publishing EU-produced datasets and by interlinking them with
other governmental data.
4. Support institutions as well as individuals with tutorials and best
practices concerning Linked Data publication and consumption.
21
30. A Little Bit of RDFa History
•2004 - early work on RDFa
•2004 - “RDF in XHTML” Task Force started
•10/2008 - RDFa 1.0 becomes W3C Recommendation
•01/2009 - Task Force closed
•02/2010 - RDFa Working Group started (RDFa 1.1)
•04/2010 - First Public Working Drafts
•10/2010 - RDFa 1.1 Core, RDFa 1.1 API and XHTML
+RDFa 1.1 Last Call - Coming up soon!
•04/2011 - Recommendation planned
22
31. New Developments - RDFa Core 1.1
•backwards-compatible to RDFa 1.0
•RDFa no longer tied to one language
•instead embedded in any suitable
host language Host Languages
•RDFa Core defines attributes, precise XHTML
processing model, requirements on HTML5
host languages, etc. RDFa
•XHTML+RDFa 1.1 defines a number SVG Core
of language-specific terms, and
...
provides a formal schema and DTD.
ODF
23
32. New Developments - RDFa Core 1.1 (ctd.)
•no more reliance on @xmlns (too much tied to XML)
– instead the more generic @prefix
<html xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:dct="http://purl.org/dc/terms/">
24
33. New Developments - RDFa Core 1.1 (ctd.)
•no more reliance on @xmlns (too much tied to XML)
– instead the more generic @prefix
prefix="foaf: http://xmlns.com/foaf/0.1/
<html xmlns:foaf="http://xmlns.com/foaf/0.1/"
dct: http://purl.org/dc/terms/">
xmlns:dct="http://purl.org/dc/terms/">
24
34. New Developments - RDFa Core 1.1 (ctd.)
•no more reliance on @xmlns (too much tied to XML)
– instead the more generic @prefix
prefix="foaf: http://xmlns.com/foaf/0.1/
<html xmlns:foaf="http://xmlns.com/foaf/0.1/"
dct: http://purl.org/dc/terms/">
xmlns:dct="http://purl.org/dc/terms/">
– alternatively @vocab, to avoid prefixes altogether
<?xml version="1.0" encoding="UTF-8"?>
<html prefix="dct: http://purl.org/dc/terms/"
vocab="http://xmlns.com/foaf/0.1/">
...
<span property="name">Homer Simpson</span>, and <span rel="knows">
24
35. New Developments - RDFa Core 1.1 (ctd.)
•no more reliance on @xmlns (too much tied to XML)
– instead the more generic @prefix
prefix="foaf: http://xmlns.com/foaf/0.1/
<html xmlns:foaf="http://xmlns.com/foaf/0.1/"
dct: http://purl.org/dc/terms/">
xmlns:dct="http://purl.org/dc/terms/">
– alternatively @vocab, to avoid prefixes altogether
<?xml version="1.0" encoding="UTF-8"?>
<html prefix="dct: http://purl.org/dc/terms/"
vocab="http://xmlns.com/foaf/0.1/">
...
<span property="name">Homer Simpson</span>, and <span rel="knows">
– or even load an external document through @profile, which
defines terms and/or prefix mappings
24
36. New Developments - RDFa API
•focussing on using, rather than producing data
•ideally one day supported natively by browsers
•allow abstraction from underlying RDF model
•design oriented on other DOM-based APIs
document.getElementsBySubject() ≈ document.getElementsById()
•first target: ECMAScript, but other languages should
work just as well
25
37. New Developments - RDFa API
•access both data and DOM elements
data: var bob = document.getItemBySubject(“#homer”)
DOM: var names =
document.getElementsByProperty(“foaf:name”)
•extensibility: non-RDFa parsers (Microformats,
Microdata, etc.), other datastores, etc.
26
38. New Developments - RDFa API
•access both data and DOM elements
data: var bob = document.getItemBySubject(“#homer”)
DOM: var names =
document.getElementsByProperty(“foaf:name”)
•extensibility: non-RDFa parsers (Microformats,
Microdata, etc.), other datastores, etc.
26
42. What to Take Home
•RDFa - embed metadata in web pages (and any other
markup language)
•RDFa as key enabler for Linked (Open) Data
•since RDFa 1.0 (2008)
– serious increase in uptake (Facebook, Drupal, Google,
Yahoo!, ...) - there is RDFa everywhere!
– extensions and improvements to the language as RDFa 1.1
– separate Core and host languages
– RDFa API for usage and consumption of data
Thank You!
30
43. References
(1) On OGP: http://blog.mayflower.de/archives/551-Facebook-
Open-Graph.html
(2) Shreves, Ric. “Open Source CMS Market Share”.
http://www.waterandstone.com/downloads/
2008OpenSourceCMSMarketSurvey.pdf
(3) Dries Buytaert’s Blog: http://buytaert.net/
(4) Corlosquet, Clark, Passant, Polleres. “How to Build
Linked Data Sites with Drupal 7 and RDFa”. http://
www.slideshare.net/scorlosquet/how-to-build-linked-data-sites-
with-drupal-7-and-rdfa
31
44. References (ctd.)
(5) Effect of RDFa for BestBuy ranking in Google: http://
priyankmohan.blogspot.com/2009/12/online-retail-how-best-
buy-is-using.html
(6) Berners-Lee, T. Linked Data. http://www.w3.org/
DesignIssues/LinkedData.html
(7) Linking Open Data cloud diagram, by Richard
Cyganiak and Anja Jentzsch. http://lod-cloud.net/
(8) “LOD Dataset Catalog and updated version of LOD
Cloud Diagram released”. http://www.wiwiss.fu-berlin.de/
en/institute/pwo/bizer/news/lodCloudSep2010.html
32
45. References (ctd.)
(9) Bizer, Chris. "Pay-as-you-go Data Integration on the
public Web of Linked Data". Keynote at FIS2010.
http://bit.ly/a3r3Yv
(10)LATC Project. http://latc-project.eu/
(11) RDFa 1.1 Core: http://www.w3.org/TR/rdfa-core/
(12) RDFa API: http://www.w3.org/TR/rdfa-api/
33
Editor's Notes
Last year at Web Directions South 2009, Mark Birbeck already gave a great presentation on &#x201C;Marking up Content with RDFa&#x201D;, showing what RDFa looks like, how it can be applied, who uses it, and what kinds of benefits you get from it.
I will try not to repeat too much of what Mark already said!
Luckily, in the past twelve months, there have been quite a lot of developments around RDFa, so I will hopefully be able to tell you a couple of new things.
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 &#x201C;Semantic Web&#x201D;?) 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.
Of course, now I have already talked for several minutes about RDFa, but I haven&#x2019;t yet said what it actually _is_. I assume that most people here at WebDirections have a basic idea of what RDFa is all about, but nevertheless I will give a short introduction, just for completeness&#x2019; sake.
- Here is a very basic toy example of RDFa, just to give you the idea.
- We have a web page, like this one here, which is perfectly understandable for people.
- However, it would be nice to express and structure some of the information on a page like that so that also machine, computers can understand it. Such structured data could be represented like this graph with circles and arrows and boxes here. (explain graph)
- So how do we get this into a web page? Here is the code, some of the data is already marked up. We just need a way to point out exactly what we mean.
- 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&#x2019;t already marked up.
- so, RDFa is &#x201C;RDF in attributes&#x201D;, where RDF of course is the &#x201C;Resource Description Framework&#x201D;, the basic SW data model.
- 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.
- so, RDFa is &#x201C;RDF in attributes&#x201D;, where RDF of course is the &#x201C;Resource Description Framework&#x201D;, the basic SW data model.
- 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.
And just to give a little bit more of a flavour for RDFa, here is a selection of attributes that are used to define such graphs. Some already exist in HTML (as the most common host language), some exist but their usage has been extended, some are new attributes altogether.
Ok, this should give you an idea what RDFa looks like. So, what about those adopters I mentioned earlier? How is RDFa everywhere?
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.
Here is an example from a website for conference metadata I built.
OGP only uses a fraction of what RDFa can do, and only in <meta> elements, but of course this makes it easier for &#x201C;casual web developers&#x201D; to use.
- This is all the OGP really does - define a way to mark up whole web pages with RDFa so that they become part of the facebook open graph
- 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 &#x201C;like & interests&#x201D; part of the profile, the right icon shows up, etc.
The other really big thing for me is Drupal, which is, as most of you will know, one of the biggest open source CMS platforms in the world. A lot of serious companies, NGOs, universities, etc. use it. Check Dries Buytaert&#x2019;s blog, which features many of them.
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.
Here is an example I borrowed from a presentation from St&#xE9;phane Corlosquet, an ex-colleague of mine and one of the guys behind the RDFa module in Drupal 7. You can nicely see how e.g. the different parts of a post are mapped to different RDF classes and properties.
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.
Using the RDFx module, you can also configure these mappings, by importing vocabularies from the Web, creating new Drupal content types and specifying each mapping in the Drupal admin interface. E.g., here I have created a new Drupal content type for workshops, and I can configure Drupal to use the swc:AcademicEvent class when creating RDFa for new workshops.
This shows how a content type&#x2019;s fields are mapped. E.g., the &#x201C;logo&#x201D; field will be mapped to foaf:logo.
And of course there are many other adopters of RDFa:
- 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&#x2019;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
- One of the main reasons I think the uptake of RDFa is such a great thing is that it is an absolute key enabler of another development: linked open data!
- 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)
- of course, no talk touching the Web of Data is complete without the LOD cloud diagramme!
- 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
- of course, no talk touching the Web of Data is complete without the LOD cloud diagramme!
- 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
- I said that RDFa can be _the_ technology to bring the Web of Data and Semantic Web into the mainstream
- 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
- at this point, I would like to take a short moment to introduce you to the LATC project. They paid my flight here!
- this is an EU project, a so-called &#x201C;support action&#x201D;. In other words, the goal is not new research, but to support research and business, in this case around Linked Open Data.
- so, what about new developments in RDFa?
- 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 &#x201C;RDF in XHTML Task Force&#x201D;, 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 &#x201C;First Public Working Drafts&#x201D; 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 &#x201C;Last Call&#x201D; 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
- so, what is RDFa Core? As I said earlier, RDFa 1.0 was very much tied to (X)HTML. It was literally a way to encode RDF data in XHTML web pages, and nothing else.
- 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 &#x201C;XHTML+RDFa 1.1&#x201D; spec, where XHTML is the host language. However, other working groups define specifications for other host languages - the HTML WG is working on &#x201C;HTML5+RDFa&#x201D;, there is RDFa in SVG, in ODF and others.
- the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages
- 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
- the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages
- 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
- the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages
- 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
- the last thing I want to talk about is the development of an RDFa API
- 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
- checkrdfa is very neat in that it not only parses and checks your RDFa, but it also check conformance with some higher-level technologies such as Facebook OGP, Google Rich Snippets or ccREL.