RDFa 1.1

Adding Machine-readable Hints
      to your Webpage

     Neue Fähigkeiten zum einfachen Editieren
             ...
What is RDFa about?
Goal: Add machine-readable hints to web pages                                              RDF(a)

Gen...
The RDFa Working Group Member
Bouba Fanta

  Ben Adida


               Jeffrey Sonstein           Markus Gylling

       ...
What is new in RDFa 1.1
Goal:      Make RDFa easier:
●   for authors to write and to copy/paste content
●   for developers...
Writing RDFa 1.1




                   W3C Tag, 15.09.2010, Berlin
How do I tell my computer what this means?




                                 W3C Tag, 15.09.2010, Berlin
Your computer understands RDF

Neue Fähigkeiten zum einfachen Editieren und          11:30
  Konsumieren von RDFa Auszeich...
Speak to your computer in RDF concepts

Neue Fähigkeiten zum einfachen Editieren und                        2010-09-15T11:...
Same RDF in TURTLE Syntax
@prefix foaf: <http://xmlns.com/foaf/0.1/>
@prefix vcard: <http://www.w3.org/2002/12/cal#>
@pref...
Back to the HTML content
<tr>
  <td>
     <span>11:30</span> - <span>12:15</span>
  </td>
  <td>
     <div>
Neue Fähigkeit...
CURIEs and prefixes                     …        in RDFa
<tr prefix=“dc: http://purl.org/dc/terms/“>
  <td>
    <span>11:3...
Default Vocabularies                     …        in RDFa
<tr prefix=“dc: http://purl.org/dc/terms/“
      vocab=“http://w...
Bundle vocabularies, prefixes … in RDFA
<div profile="http://www.heppnetz.de/grprofile/">
  <span about="#company" typeof=...
Refine content …                       in RDFa
<tr prefix=“dc: http://purl.org/dc/terms/“
    vocab="http://www.w3.org/200...
Define multiple entities …                               in RDFa
 <tr prefix=“dc: http://purl.org/dc/terms/“ about=“#talk“...
Connect entities …                            in RDFa
<tr prefix=“dc: http://purl.org/dc/terms/“ about=“#talk“
     vocab=...
Scripting with RDFa 1.1




                          W3C Tag, 15.09.2010, Berlin
3 steps to get your RDFa objects



1. Parsing DOM objects that contain embedded metadata

2. Extraction of the embedded m...
General Architecture



Document Model

Object-centric view of extracted data

Extract data, Provide views

Storage Level
...
RDFa API

Retrieving PropertyGroups


Retrieves a list of PropertyGroups by their type.
document.getItemsByType(type)

Ret...
RDFa API

Retrieving DOM Elements


Retrieves a list of DOM Nodes by the type of data that they express.
document.getEleme...
RDFa API

Advanced Processing


Retrieves an array of PropertyGroups based on a set of selection criteria.
document.data.q...
RDFa API for beginners

var store = document.data.createStore();
document.data.createParser("rdfa", store).parse();
//docu...
RDFa API for advanced beginners
...
var events = query.select(    { „rdf:type“: „vcal:Event“ },
        { „rdf:type“     :...
Useful Tools
●   Use check.rdfa for checking if your RDFa content is
    compliant with Google's Rich Snippet, or Facebook...
Outlook
What's next in RDFa 1.1?

Improve support of RDFa in HTML lists
Self contained error handling
Publish a good RDFa ...
Thanks for your interest!

  Have fun with RDFa




      Benjamin Adrian
      http://www.dfki.de/~adrian
Upcoming SlideShare
Loading in …5
×

RDFa 1.1: Adding Machine-readable Hints to your Webpage

3,221 views

Published on

This is a summary about RDFa (1.1) and the activities and contributions done by the RDFa Working Group. The talk was given at the W3C Day 2010 in Berlin.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,221
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
22
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

RDFa 1.1: Adding Machine-readable Hints to your Webpage

  1. 1. RDFa 1.1 Adding Machine-readable Hints to your Webpage Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen Benjamin Adrian W3C Tag, 15.09.2010, Berlin http://www.dfki.de/~adrian
  2. 2. What is RDFa about? Goal: Add machine-readable hints to web pages RDF(a) Generate RDF triples from a web page ... your personal vision attributes awesome !!! your machine's vision <http://my.safaribooksonline.com/0975841947> a gr:Offering ; rdfs:label "Safari Books Online" ; gr:includesObject [ a gr:TypeAndQuantityNode ; gr:amountOfThisGood "1"^^xsd:float ; gr:typeOfGood <urn:x-domain:oreilly.com:product:9780975841945.SAF> ]. ... … and start scripting! W3C Tag, 15.09.2010, Berlin
  3. 3. The RDFa Working Group Member Bouba Fanta Ben Adida Jeffrey Sonstein Markus Gylling Shane McCarron Abhijit Gaikwad Manu Sporny Steven Pamperton Robert Weir Toby Inkster Jean-Pierre Evain Benjamin Adrian Ivan Herman Knud Möller Nan Ma Sarah Pulis John O'Donovan Mark Birbeck last update, 2010-09-13
  4. 4. What is new in RDFa 1.1 Goal: Make RDFa easier: ● for authors to write and to copy/paste content ● for developers to script Current Contributions: ● Introduced prefix, profile, vocab instead of overloading xmlns ● Draft an RDFa API ● Let RDFa processors separate between a default RDF graph and a processor RDF graph containing error triples ● Use plain URIs in every RDFa attribute W3C Tag, 15.09.2010, Berlin
  5. 5. Writing RDFa 1.1 W3C Tag, 15.09.2010, Berlin
  6. 6. How do I tell my computer what this means? W3C Tag, 15.09.2010, Berlin
  7. 7. Your computer understands RDF Neue Fähigkeiten zum einfachen Editieren und 11:30 Konsumieren von RDFa Auszeichnungen 12:15 Benjamin Adrian DFKI
  8. 8. Speak to your computer in RDF concepts Neue Fähigkeiten zum einfachen Editieren und 2010-09-15T11:30:00 Konsumieren von RDFa Auszeichnungen vcal:dtstart #rdfa_talk dc:title vcal:dtend vcal:organizer 2010-09-15T12:15:00 #ben foaf:workplaceHomepage foaf:name foaf:member http://www.dfki.de Benjamin Adrian #dfki foaf:homepage foaf:name DFKI
  9. 9. Same RDF in TURTLE Syntax @prefix foaf: <http://xmlns.com/foaf/0.1/> @prefix vcard: <http://www.w3.org/2002/12/cal#> @prefix dc: <http://purl.org/dc/terms/> <#ben> foaf:name „Benjamin Adrian“; foaf:workplaceHomepage <http://www.dfki.de>; foaf:member <#dfki>; vcard:organizer <#rdfa_talk>. <#dfki> foaf:name „DFKI“; foaf:homepage <http://www.dfki.de>. <#rdfa_talk> vcard:dtstart „2010-09-15T11:30:00“^xsd:DateTime; vcard:dtend „2010-09-15T12:15:00“^xsd:DateTime; dc:title „Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen“. W3C Tag, 15.09.2010, Berlin
  10. 10. Back to the HTML content <tr> <td> <span>11:30</span> - <span>12:15</span> </td> <td> <div> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , <span>DFKI</span> </td> </tr> W3C Tag, 15.09.2010, Berlin
  11. 11. CURIEs and prefixes … in RDFa <tr prefix=“dc: http://purl.org/dc/terms/“> <td> <span>11:30</span> - <span>12:15</span> CURIE </td> <td> <div property=“dc:title“> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , Use prefix for <span>DFKI</span> resolving CURIEs. </td> (xmlns is depricated) </tr> W3C Tag, 15.09.2010, Berlin
  12. 12. Default Vocabularies … in RDFa <tr prefix=“dc: http://purl.org/dc/terms/“ vocab=“http://www.w3.org/2002/12/cal#“> <td> <span property=“dtstart“>11:30</span> - <span property=“dtend“>12:15</span> </td> short name <td> <div property=“dc:title“> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , <span>DFKI</span> </td> </tr> W3C Tag, 15.09.2010, Berlin
  13. 13. Bundle vocabularies, prefixes … in RDFA <div profile="http://www.heppnetz.de/grprofile/"> <span about="#company" typeof="gr:BusinessEntity“> <span property="gr:legalName"> Hepp's bakery </span> , see also the <a rel="rdfs:seeAlso" href="http://example.org/bakery"> home page of the bakery. Use profile documents for defining </a> a bundle of vocabularies or prefixes. </div> Profiles can be defined in RDFa, RDFXML, or Turtle. W3C Tag, 15.09.2010, Berlin
  14. 14. Refine content … in RDFa <tr prefix=“dc: http://purl.org/dc/terms/“ vocab="http://www.w3.org/2002/12/cal#"> <td> <span property=“dtstart“ content=“2010-09-15T11:30:00“>11:30</span> - <span property=“dtend“ content=“2010-09-15T12:15:00“>12:15</span> </td> <td> <div property=“dc:title“> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , <span>DFKI</span> </td> </tr> W3C Tag, 15.09.2010, Berlin
  15. 15. Define multiple entities … in RDFa <tr prefix=“dc: http://purl.org/dc/terms/“ about=“#talk“ vocab=“http://www.w3.org/2002/12/cal#“ typeof=“Vevent“> <td> <span property=“dtstart“ content=“2010-09-15T11:30:00“>11:30</span> - <span property=“dtend“ content=“2010-09-15T12:15:00“>12:15</span> </td> <td> <div property=“dc:title“> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a about=“#ben“ property=“foaf:name“ href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , <span typeof=“foaf:Organization“ property=“foaf:name“>DFKI</span> </td> </tr> W3C Tag, 15.09.2010, Berlin
  16. 16. Connect entities … in RDFa <tr prefix=“dc: http://purl.org/dc/terms/“ about=“#talk“ vocab=“http://www.w3.org/2002/12/cal#“ typeof=“Vevent“> <td> <span property=“dtstart“ content=“2010-09-15T11:30:00“>11:30</span> - <span property=“dtend“ content=“2010-09-15T12:15:00“>12:15</span> </td> <td> <div property=“dc:title“> Neue Fähigkeiten zum einfachen Editieren und Konsumieren von RDFa Auszeichnungen </div> <a about=“#ben“ property=“foaf:name“ rel=“organizer“ resource=“#talk“ href="/referenten-2010/details/adrian.html"> Benjamin Adrian </a> , <span typeof=“foaf:Organization“ property=“foaf:name“ inv=“foaf:member“ resource=“#ben“>DFKI</span> </td> </tr> W3C Tag, 15.09.2010, Berlin
  17. 17. Scripting with RDFa 1.1 W3C Tag, 15.09.2010, Berlin
  18. 18. 3 steps to get your RDFa objects 1. Parsing DOM objects that contain embedded metadata 2. Extraction of the embedded metadata into a data store 3. Querying a data store in order to retrieve PropertyGroups W3C Tag, 15.09.2010, Berlin
  19. 19. General Architecture Document Model Object-centric view of extracted data Extract data, Provide views Storage Level Basic data structures W3C Tag, 15.09.2010, Berlin
  20. 20. RDFa API Retrieving PropertyGroups Retrieves a list of PropertyGroups by their type. document.getItemsByType(type) Retrieves a single PropertyGroup by its subject. document.getItemBySubject(type) Retrieves a list of PropertyGroups by a particular property and optional value. document.getItemsByProperty(property, optional value) W3C Tag, 15.09.2010, Berlin
  21. 21. RDFa API Retrieving DOM Elements Retrieves a list of DOM Nodes by the type of data that they express. document.getElementsByType(type) Retrieves a list of DOM Nodes by the subject associated with the data that they express. document.getElementsBySubject(type) Retrieves a list of DOM Nodes by a particular property and optional value that each expresses. document.getElementsByProperty(property, optional value) W3C Tag, 15.09.2010, Berlin
  22. 22. RDFa API Advanced Processing Retrieves an array of PropertyGroups based on a set of selection criteria. document.data.query.select(query, template) Filters a given DataStore by matching a given triple pattern. document.data.store.filter(pattern) Iterates through a DOM, using a low-memory, stream-based approach, matching on the given triple pattern. document.data.parser.iterate(pattern) W3C Tag, 15.09.2010, Berlin
  23. 23. RDFa API for beginners var store = document.data.createStore(); document.data.createParser("rdfa", store).parse(); //document.data.createParser(“hCard“, store).parse(); document.data.context.setMapping(„foaf“, „http://xmlns.com/foaf/0.1/“); for(var person : document.getItemsByType(„foaf:Person“)) { for(var element: document.getElementsBySubject(person.get(„uri“))) { element.style.setProperty(“color“, “#00cc00“, null); addPopupOnClickEvent(person.get(„uri“), element); } } W3C Tag, 15.09.2010, Berlin
  24. 24. RDFa API for advanced beginners ... var events = query.select( { „rdf:type“: „vcal:Event“ }, { „rdf:type“ : „type“ , „dc:title“ : „title“, „vcal:dtstart“: „start“, „vcal:dtend“: „end“ } ); for(var i = 0; i < events.length; i++) { var event = events[i]; anchor = document.createElement(„a“); anchor.href = „http://www.google.com/calendar/event?“ + “action=TEMPLATE“ + „&text=“ + event.summary + „&dates=“ + event.start + „/“ + event.end; button = document.createElement(„img“); button.src = „http://www.google.com/calendar/images/ext/gc_button6.gif“; anchor.appendChild(button); event.info(„rdf:type“, „source“)[0].appendChild(anchor); } W3C Tag, 15.09.2010, Berlin
  25. 25. Useful Tools ● Use check.rdfa for checking if your RDFa content is compliant with Google's Rich Snippet, or Facebook's Open Graph Protocol (http://check.rdfa.info/) ● Use the CMS system Drupal for adding RDFa data to your web pages. ● Use the RDFa distiller for extracting RDF triples from RDFa content (http://www.w3.org/2007/08/pyRdfa/) W3C Tag, 15.09.2010, Berlin
  26. 26. Outlook What's next in RDFa 1.1? Improve support of RDFa in HTML lists Self contained error handling Publish a good RDFa Primer. Eat your own dog food, means to really implement the RDFa API. ... W3C Tag, 15.09.2010, Berlin
  27. 27. Thanks for your interest! Have fun with RDFa Benjamin Adrian http://www.dfki.de/~adrian

×