• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RDFa Everywhere
 

RDFa Everywhere

on

  • 6,944 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

Views

Total Views
6,944
Views on SlideShare
6,734
Embed Views
210

Actions

Likes
15
Downloads
193
Comments
1

9 Embeds 210

http://www.webdirections.org 69
http://www.scoop.it 44
http://blog.loadingdata.nl 41
http://blog.semantiqc.org 36
http://zitaswoon1.tumblr.com 9
http://www.allsemantics.com 7
http://lanyrd.com 2
http://quidecco.com 1
http://www.linkedin.com 1
More...

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • <br />
  • 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. <br /> I will try not to repeat too much of what Mark already said! <br /> <br />
  • 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. <br /> 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. <br /> Cool for me, since began my PhD at DERI in early 2004, when the SW was still very academic. <br /> 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. <br /> 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. <br />
  • 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. <br />
  • - Here is a very basic toy example of RDFa, just to give you the idea. <br /> - We have a web page, like this one here, which is perfectly understandable for people. <br /> <br />
  • - 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) <br /> <br />
  • - 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. <br /> - 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. <br />
  • - so, RDFa is &#x201C;RDF in attributes&#x201D;, where RDF of course is the &#x201C;Resource Description Framework&#x201D;, the basic SW data model. <br /> - 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. <br /> - 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. <br />
  • - so, RDFa is &#x201C;RDF in attributes&#x201D;, where RDF of course is the &#x201C;Resource Description Framework&#x201D;, the basic SW data model. <br /> - 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. <br /> - 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. <br />
  • 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. <br />
  • Ok, this should give you an idea what RDFa looks like. So, what about those adopters I mentioned earlier? How is RDFa everywhere? <br /> 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. <br /> 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. <br />
  • Here is an example from a website for conference metadata I built. <br /> OGP only uses a fraction of what RDFa can do, and only in elements, but of course this makes it easier for &#x201C;casual web developers&#x201D; to use. <br />
  • - 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 <br /> - 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. <br />
  • 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. <br /> 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. <br />
  • 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. <br /> 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. <br />
  • 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. <br />
  • This shows how a content type&#x2019;s fields are mapped. E.g., the &#x201C;logo&#x201D; field will be mapped to foaf:logo. <br />
  • And of course there are many other adopters of RDFa: <br /> - 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. <br /> - there is a growing number of retailers that use RDFa to mark up their products and stores. <br /> - 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. <br /> - 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 <br />
  • - 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! <br /> - 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 <br /> - 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 <br /> - at the heart of the Linked Open Data effort are the four famous principles of linked data (the four commandments) <br /> <br />
  • - of course, no talk touching the Web of Data is complete without the LOD cloud diagramme! <br /> - each circle is a dataset, the size of the circle indicating its relative size, while the arrows show the links between the datasets <br /> - 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 <br />
  • - of course, no talk touching the Web of Data is complete without the LOD cloud diagramme! <br /> - each circle is a dataset, the size of the circle indicating its relative size, while the arrows show the links between the datasets <br /> - 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 <br />
  • - I said that RDFa can be _the_ technology to bring the Web of Data and Semantic Web into the mainstream <br /> - this is because every little snippet of RDFa on the Web is automatically a part of the Web of Data <br /> - 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 <br /> - 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! <br /> - ... and more reasons <br />
  • - at this point, I would like to take a short moment to introduce you to the LATC project. They paid my flight here! <br /> - 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. <br />
  • - so, what about new developments in RDFa? <br /> - to put those into context, a little bit of history first: the earliest work on RDFa was done in 2004 <br /> - 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. <br /> - Until then, work on RDFa had been very much tied to HTML and XHTML <br /> - with the new RDFa Working Group, which started this year, the work was taken to a whole new level <br /> - in April the so-called &#x201C;First Public Working Drafts&#x201D; for the new RDFa 1.1 specifications were published <br /> - 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 <br /> - and then, if everything goes well, the final versions of the specifications will be published as a recommendation in April next year <br />
  • - 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. <br /> - However, this is a lot of wasted potential! Any XML-based markup language could really benefit from RDFa. <br /> - 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 <br /> - 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. <br />
  • - the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages <br /> - with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms <br /> - @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 <br /> - getting rid of prefixes completely was often required from within the community to make RDFa authoring easier <br /> - however, how profile will look like, and whether they should be there at all is still a topic of hot debate <br /> <br />
  • - the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages <br /> - with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms <br /> - @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 <br /> - getting rid of prefixes completely was often required from within the community to make RDFa authoring easier <br /> - however, how profile will look like, and whether they should be there at all is still a topic of hot debate <br /> <br />
  • - the @xmlns -> @prefix change is fairly small, but is important for factoring out RDFa Core from host languages <br /> - with @vocab you can now avoid prefixes altogether and simply define a default namespace for all unknown terms <br /> - @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 <br /> - getting rid of prefixes completely was often required from within the community to make RDFa authoring easier <br /> - however, how profile will look like, and whether they should be there at all is still a topic of hot debate <br /> <br />
  • - the last thing I want to talk about is the development of an RDFa API <br /> - 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. <br /> - 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. <br /> - 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 <br /> <br />
  • <br />
  • <br />
  • <br />
  • - 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. <br />
  • <br />
  • <br />
  • <br />
  • <br />

RDFa Everywhere RDFa Everywhere Presentation Transcript

  • 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.
  • Previously on Web Directions South... http://www.slideshare.net/mark.birbeck/ rdfa-what-happens-when-pages-get-smart 2
  • 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
  • Wait - but what is RDFa? •basically: a way to very precisely mark up data in a web page 4
  • RDFa Toy Example 5
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Adopters of RDFa - Facebook’s OGP (ctd.) 11
  • Adopters of RDFa - Facebook’s OGP (ctd.) <head> <meta about="http://data.semanticweb.org/workshop/scripting/2008/paper/9" property="og:title" content="World of WebCraft - Mashing up World of Warcraft and the Web"/> <meta about="http://data.semanticweb.org/workshop/scripting/2008/paper/9" property="og:type" content="article"/> <meta about="http://data.semanticweb.org/workshop/scripting/2008/paper/9" property="og:url" content="http://data.semanticweb.org/workshop/scripting/2008/paper/9"/> <meta about="http://data.semanticweb.org/workshop/scripting/2008/paper/9" property="og:image" content="http://data.semanticweb.org/images/paper_icon_100.png"/> <meta about="http://data.semanticweb.org/workshop/scripting/2008/paper/9" property="og:site_name" content="Semantic Web Dog Food"/> ... </head> 11
  • Adopters of RDFa - Facebook’s OGP (ctd.) 12
  • Adopters of RDFa - Facebook’s OGP (ctd.) 12
  • 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
  • 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
  • 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
  • Adopters of RDFa - Drupal (ctd.) 15
  • Adopters of RDFa - Drupal (ctd.) 16
  • Adopters of RDFa - many others •Search Engines as RDFa consumers – Google (Rich Snippets) – Yahoo! (Searchmonkey) •Retailers as RDFa producers – BestBuy [5], Overstock – Tesco •... 17
  • 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
  • Linked (Open) Data (ctd.) February 2008 19
  • Linked (Open) Data (ctd.) February 2008 July 2009 19
  • Linked (Open) Data (ctd.) February 2008 July 2009 [7,8] 19
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • New Developments - RDFa API (ctd.) getItemBySubject("#bob") .get("foaf.name") "Bob" "Jane" PropertyGroups foaf:name foaf:name ( (“foaf:name”, “Bob”), #bob foaf:knows #jane (“foaf:knows”, “#jane”), (“foaf:interest”, “#foo”) ) foaf:interest #foo rdfs:label "Foo" 27
  • RDFa Tools •Online Parsers/Syntax Checkers – RDFa Distiller: http://www.w3.org/2007/08/pyRdfa/ – checkrdfa: http://check.rdfa.info/ - also allows to check FB OGP and Google Rich Snippets •Check out: http://rdfa.info/wiki/Tools 28
  • RDFa Tools (ctd.) 29
  • 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
  • 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
  • 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
  • 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