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

פרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאותפרידה מנעמי לרגל יציאתה לגמלאות
פרידה מנעמי לרגל יציאתה לגמלאות
iris
 
Content Republic Methodologie
Content Republic MethodologieContent Republic Methodologie
Content Republic Methodologie
contentrepublic
 
ביקור בסין
ביקור בסיןביקור בסין
ביקור בסין
iris
 

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

Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
Juan 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 2012
scorlosquet
 

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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

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