SlideShare a Scribd company logo
1 of 27
Download to read offline
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
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
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
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
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 Auszeichnungen




                                                      12:15




 Benjamin Adrian



                                               DFKI
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
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
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
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
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
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
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
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
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
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 metadata into a data store

3. Querying a data store in order to retrieve PropertyGroups




                                                   W3C Tag, 15.09.2010, Berlin
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
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
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
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
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
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
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
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
Thanks for your interest!

  Have fun with RDFa




      Benjamin Adrian
      http://www.dfki.de/~adrian

More Related Content

Viewers also liked

Mucho más-que-lecturas-comprensivas-2
Mucho más-que-lecturas-comprensivas-2Mucho más-que-lecturas-comprensivas-2
Mucho más-que-lecturas-comprensivas-2Loreto Montt
 
פרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאותפרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאותiris
 
Introducing Judith Gunn
Introducing Judith GunnIntroducing Judith Gunn
Introducing Judith GunnJudith Gunn
 
O que é um projeto rede de projetos
O que é um projeto   rede de projetosO que é um projeto   rede de projetos
O que é um projeto rede de projetosAlfweb Sistemas
 
Me reconcilio contigo
Me reconcilio contigoMe reconcilio contigo
Me reconcilio contigopitimini
 
Content Republic Methodologie
Content Republic MethodologieContent Republic Methodologie
Content Republic Methodologiecontentrepublic
 
Phenomeological Study
Phenomeological StudyPhenomeological Study
Phenomeological Studyguestec7026
 
Crt Lead Cp Rhandout
Crt Lead Cp RhandoutCrt Lead Cp Rhandout
Crt Lead Cp Rhandoutguesta12f4c
 
ביקור בסין
ביקור בסיןביקור בסין
ביקור בסיןiris
 
Netvibes IoT DevCon
Netvibes IoT DevConNetvibes IoT DevCon
Netvibes IoT DevConFlorent Solt
 
Programowanie reaktywne na platformie windows(ITAD)
Programowanie reaktywne na platformie windows(ITAD)Programowanie reaktywne na platformie windows(ITAD)
Programowanie reaktywne na platformie windows(ITAD)Maciej Zbrzezny
 
Presentation i santandreu_rudy_v97
Presentation i santandreu_rudy_v97Presentation i santandreu_rudy_v97
Presentation i santandreu_rudy_v97isantandreu
 
Retained Recruiting Specialist for Asia - Tyron Giuliani
Retained Recruiting Specialist for Asia - Tyron GiulianiRetained Recruiting Specialist for Asia - Tyron Giuliani
Retained Recruiting Specialist for Asia - Tyron GiulianiTyron Giuliani
 
Shanatova
ShanatovaShanatova
Shanatovairis
 

Viewers also liked (19)

Mucho más-que-lecturas-comprensivas-2
Mucho más-que-lecturas-comprensivas-2Mucho más-que-lecturas-comprensivas-2
Mucho más-que-lecturas-comprensivas-2
 
פרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאותפרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאות
 
Metafísica da saúde
Metafísica da saúdeMetafísica da saúde
Metafísica da saúde
 
Introducing Judith Gunn
Introducing Judith GunnIntroducing Judith Gunn
Introducing Judith Gunn
 
O que é um projeto rede de projetos
O que é um projeto   rede de projetosO que é um projeto   rede de projetos
O que é um projeto rede de projetos
 
Me reconcilio contigo
Me reconcilio contigoMe reconcilio contigo
Me reconcilio contigo
 
Content Republic Methodologie
Content Republic MethodologieContent Republic Methodologie
Content Republic Methodologie
 
Strengthening pensions: the economic context
Strengthening pensions: the economic contextStrengthening pensions: the economic context
Strengthening pensions: the economic context
 
Phenomeological Study
Phenomeological StudyPhenomeological Study
Phenomeological Study
 
Crt Lead Cp Rhandout
Crt Lead Cp RhandoutCrt Lead Cp Rhandout
Crt Lead Cp Rhandout
 
ביקור בסין
ביקור בסיןביקור בסין
ביקור בסין
 
Kutlu DoğUm öZel
Kutlu DoğUm öZelKutlu DoğUm öZel
Kutlu DoğUm öZel
 
Seniour
SeniourSeniour
Seniour
 
DDRR Chapter 12
DDRR Chapter 12DDRR Chapter 12
DDRR Chapter 12
 
Netvibes IoT DevCon
Netvibes IoT DevConNetvibes IoT DevCon
Netvibes IoT DevCon
 
Programowanie reaktywne na platformie windows(ITAD)
Programowanie reaktywne na platformie windows(ITAD)Programowanie reaktywne na platformie windows(ITAD)
Programowanie reaktywne na platformie windows(ITAD)
 
Presentation i santandreu_rudy_v97
Presentation i santandreu_rudy_v97Presentation i santandreu_rudy_v97
Presentation i santandreu_rudy_v97
 
Retained Recruiting Specialist for Asia - Tyron Giuliani
Retained Recruiting Specialist for Asia - Tyron GiulianiRetained Recruiting Specialist for Asia - Tyron Giuliani
Retained Recruiting Specialist for Asia - Tyron Giuliani
 
Shanatova
ShanatovaShanatova
Shanatova
 

Similar to RDFa 1.1: Adding Machine-readable Hints to your Webpage

RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
Semantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalSemantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalThom Bunting
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introductionKristof Van Tomme
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sourcesrumito
 
The Semantic Web An Introduction
The Semantic Web An IntroductionThe Semantic Web An Introduction
The Semantic Web An Introductionshaouy
 
ISWC GoodRelations Tutorial Part 2
ISWC GoodRelations Tutorial Part 2ISWC GoodRelations Tutorial Part 2
ISWC GoodRelations Tutorial Part 2Martin Hepp
 
GoodRelations Tutorial Part 2
GoodRelations Tutorial Part 2GoodRelations Tutorial Part 2
GoodRelations Tutorial Part 2guestecacad2
 
Understanding RDF: the Resource Description Framework in Context (1999)
Understanding RDF: the Resource Description Framework in Context  (1999)Understanding RDF: the Resource Description Framework in Context  (1999)
Understanding RDF: the Resource Description Framework in Context (1999)Dan Brickley
 
RDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaRDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaPlatypus
 
RDFa: an introduction
RDFa: an introductionRDFa: an introduction
RDFa: an introductionKai Li
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureDan Yoder
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeDan Brickley
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaPlatypus
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Juan Sequeda
 
Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012scorlosquet
 
Lasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleLasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleAri Najarian
 

Similar to RDFa 1.1: Adding Machine-readable Hints to your Webpage (20)

RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
Semantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in DrupalSemantic content management: consuming and producing RDF in Drupal
Semantic content management: consuming and producing RDF in Drupal
 
Drupal and the Semantic Web
Drupal and the Semantic WebDrupal and the Semantic Web
Drupal and the Semantic Web
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introduction
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
 
The Semantic Web An Introduction
The Semantic Web An IntroductionThe Semantic Web An Introduction
The Semantic Web An Introduction
 
ISWC GoodRelations Tutorial Part 2
ISWC GoodRelations Tutorial Part 2ISWC GoodRelations Tutorial Part 2
ISWC GoodRelations Tutorial Part 2
 
GoodRelations Tutorial Part 2
GoodRelations Tutorial Part 2GoodRelations Tutorial Part 2
GoodRelations Tutorial Part 2
 
Understanding RDF: the Resource Description Framework in Context (1999)
Understanding RDF: the Resource Description Framework in Context  (1999)Understanding RDF: the Resource Description Framework in Context  (1999)
Understanding RDF: the Resource Description Framework in Context (1999)
 
Why rdfa
Why rdfaWhy rdfa
Why rdfa
 
RDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFaRDFa Introductory Course Session 3/4 Why RDFa
RDFa Introductory Course Session 3/4 Why RDFa
 
Danbri Drupalcon Export
Danbri Drupalcon ExportDanbri Drupalcon Export
Danbri Drupalcon Export
 
RDFa: an introduction
RDFa: an introductionRDFa: an introduction
RDFa: an introduction
 
LA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented ArchitectureLA RubyConf 2009 Waves And Resource-Oriented Architecture
LA RubyConf 2009 Waves And Resource-Oriented Architecture
 
SemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in PracticeSemWeb Fundamentals - Info Linking & Layering in Practice
SemWeb Fundamentals - Info Linking & Layering in Practice
 
RDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFaRDFa Introductory Course Session 2/4 How RDFa
RDFa Introductory Course Session 2/4 How RDFa
 
How RDFa works
How RDFa worksHow RDFa works
How RDFa works
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
 
Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012
 
Lasso and Couchdb : the happy couple
Lasso and Couchdb : the happy coupleLasso and Couchdb : the happy couple
Lasso and Couchdb : the happy couple
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 

RDFa 1.1: Adding Machine-readable Hints to your Webpage

  • 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. 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. 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. 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. Writing RDFa 1.1 W3C Tag, 15.09.2010, Berlin
  • 6. How do I tell my computer what this means? W3C Tag, 15.09.2010, Berlin
  • 7. Your computer understands RDF Neue Fähigkeiten zum einfachen Editieren und 11:30 Konsumieren von RDFa Auszeichnungen 12:15 Benjamin Adrian DFKI
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Scripting with RDFa 1.1 W3C Tag, 15.09.2010, Berlin
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Thanks for your interest! Have fun with RDFa Benjamin Adrian http://www.dfki.de/~adrian