SlideShare a Scribd company logo
The Web of Data for E-Commerce in Brief

A Hands-on Introduction to the GoodRelations Ontology,
         RDFa, and Yahoo! SearchMonkey

                   October 25, 2009
Westfields Conference Center near Washington, DC, USA

                        Martin Hepp
      Universität der Bundeswehr München, Munich, Germany


                    Richard Cyganiak
        Digital Enterprise Research Institute (DERI), Ireland
Logistics
08:30-10:30   Overview and Motivation: Why the Web of Data is Now 30’
              Quick Review of Prerequisites 15’
              The GoodRelations Ontology: E-Commerce on the Web of Data 75’
10:30-10:45   Coffee Break
10:45-12:30   RDFa: Bridging the Web of Documents with the Web of Data 45’
              Expressing GoodRelations in RDFa: A Running Example 30’
              GoodRelations – Advanced Topics 30’
12:30-13:30   Lunch Break
13:30-16:00   Hands-on Exercise: Annotating a Web Shop 60’
              Querying the Web of Data for Offerings – SPARQL 15’
              Querying the Web of Data – Exercises 15’
16:00-16:30   Coffee Break
16:30-18:00   Publishing Semantic Web Data: Make Your RDF Available 30’
              Yahoo SearchMonkey and Yahoo BOSS 45’
              Discussion, Conclusion, Feedback Round 15’
                                                                          2
SPARQL

               Query Language
             Endpoint Specification


25.10.2009                            3
SPARQL: Query Language Specification




       http://www.w3.org/TR/rdf-sparql-query/
25.10.2009                                      4
SPARQL Query Structure
# comments
PREFIX gr:<http://purl.org/goodrelations/v1#>

SELECT ?var1 ?var2 WHERE
  {?var1 rdf:type gr:Offering.
  ?var1 gr:validThrough ?var2.
  FILTER (?date <
  "2009-05-25T00:00:00Z"^^xsd:dateTime)}



25.10.2009                                 5
SPARQL: Matching Literals
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>

SELECT ?v WHERE {
 ?v ?p "abc"^^xsd:datatype }




25.10.2009                                       6
SPARQL: Matching Strings
PREFIX       dc:   <http://purl.org/dc/elements/1.1/>
SELECT        ?title
WHERE         { ?x dc:title ?title
                FILTER regex(?title, "^SPARQL")
              }


^= Starts with


25.10.2009                                              7
SPARQL Query
# find expired offerings:
PREFIX gr:<http://purl.org/
  goodrelations/v1#>
SELECT ?o, ?date WHERE
  {?o rdf:type gr:Offering.
  ?o gr:validThrough ?date.
  FILTER (?date <
  "2009-05-25T00:00:00Z"^^xsd:dateTime
  )}
25.10.2009                           8
SPARQL Query
# find label for UPC/EAN "0001067792600“
PREFIX gr:<http://purl.org/goodrelations/
  v1#>
PREFIX xsd:<http://www.w3.org/2001/
  XMLSchema#>
SELECT ?uri, ?label WHERE
  {?uri rdf:type gr:ProductOrServiceModel.
  ?uri gr:hasEAN_UCC-13
  "0001067792600"^^xsd:string.
  ?uri rdfs:label ?label}

25.10.2009                                   9
Quizzes
• Why is it important to use the OPTIONAL
  clause for patterns that cannot be
  assumed to be found?
• What is a Semantic Sitemap?




25.10.2009                                  10
Publishing Data on the Semantic Web




25.10.2009                           11
Publishing RDF Data on the Web
• Publishing RDF/XML files
• RDFa - Embedding RDF in XHTML
• dataRSS




25.10.2009                              12
Step 1: Publish File
Save the RDF/XML file under the filename
• semanticweb.rdf
in the root directory of your Web server so
  that it becomes available as
• http://example.org/semanticweb.rdf



25.10.2009                                    13
Point to RDF/XML from HTML/XHTML
• Add a link element pointing to this file to
  the header of your main Web page (or
  other pages, too):
 <html lang="en">
      <head>
        <title></title>
        <link rel="meta"
type="application/rdf+xml"
title="RDF/XML data for ***your company
name***" href="http://www.example.org/semanticweb.rdf" />
      </head>
      ...
25.10.2009                                          14
Notify Semantic Web Search Engines
To do so, simply paste the URI
• http://example.org/semanticweb.rdf
into the respective fields of the following
   submission pages:
• http://pingthesemanticweb.com/
• http://sindice.com/main/submit
• http://swoogle.umbc.edu/index.php?
   option=com_swoogle_service&service=submit

25.10.2009                                     15
Server Configuration
• Rewrite
     – http://example.org/semanticweb to
     – http://example.org/semanticweb.rdf
• Correct media type rdf+xml
     – The content type (media type) of the file
       returned must be set correctly to "rdf+xml".



25.10.2009                                            16
Web Page
                  Content Negotiation
  HTML/
  XHTML
  Meta-Data
  RDF/XML                      http GET

                    Web

              ?    Server

                              Returns
                                          Web Page
                                          HTML/
                                          XHTML
                                          Meta-Data
                                          RDF/XML


25.10.2009                                            17
Server Configuration
             On Appache servers, simply edit
                    the .htaccess file:
#Rewrite rule to serve RDF/XML content from the
  vocabulary URI
RewriteRule ^semanticweb$ semanticweb.rdf

#Directive to ensure *.rdf files served as
  appropriate content type
#if not present in main apache config
AddType application/rdf+xml .rdf


25.10.2009                                        18
Publishing RDF/XML Data on MS IIS Platforms
• Ionics Isapi Rewrite Filter for IIS 5.0 and IIS 6.0
     – http://iirf.codeplex.com/
• Microsoft URL Rewrite Module for IIS 7.0
     – http://support.microsoft.com/kb/324064
       (Thanks to Christophe Debruyne and Robert
       Meersman for the hint!)
• ModRewrite
     – http://www.micronovae.com/ModRewrite/
       ModRewrite.html
       (Thanks to Sergio Fernández for the link!)
25.10.2009                                              19
Semantic Sitemaps
• Efficient means of telling a Semantic Web
  search engine which RDF files are
  available


        http://sw.deri.org/2007/07/sitemapextension/




25.10.2009                                             20
Additional Information
• Cool URIs for the Semantic Web, W3C
  Interest Group Note 03 December 2008
  http://www.w3.org/TR/cooluris/




25.10.2009                               21
RDFa: Bridging the Web of
       Documents with the Web of Data

                 Martin Hepp




25.10.2009                              22
Learning Goal
• Understand the data quality problems that
  can result from the „naive“ Semantic Web
• Understand the RDFa syntax for
  embedding RDF data into XHTML
  documents
• Be able to express GoodRelations data in
  RDFa

25.10.2009                                23
Data Redundancy and Data Quality Problems
         Addresses               Addresses               Addresses




                     Copy of                 Copy of           Time
                     Addresses               Addresses




25.10.2009                                                           24
Data Redundancy in the Semantic Web
         Web Page               Web Page
         HTML/                  HTML/
         XHTML                  XHTML




                    Meta-Data              Meta-Data   Time
                    RDF/XML                RDF/XML




25.10.2009                                                25
Embedding RDF in XHTML
• Being able to represent meaning and rendering
  information in a single document


                           http GET
  XHTML +       Web
  RDFa         Server
                                      XHTML +
                           Returns    RDFa




25.10.2009                                        26
=
               + XHTML
 Resource Description Framework
 in attributes
25.10.2009                        27
What is RDFa?
• From the Web of Documents' point-of-
  view: a set of new (X)HTML attributes to
  express metadata within (X)HTML
• From the Web of Data point-of-view: a
  serialization format for RDF (such as RDF/
  XML, etc.), where the RDF triples are
  "embedded" into (X)HTML

25.10.2009                                 28
Yahoo SearchMonkey
Currently considers RDF data only if
• submitted via the (proprietary) dataRSS
  feed format or if
• embedded inside XHTML pages via
  RDFa.


  http://www.ebusiness-unibw.org/tools/rdf2datarss/
25.10.2009                                       29
RDF in Attributes
 <h1 property="dc:title">GoodRelations
  RDFa minimal example</h1>




25.10.2009                               30
Subject – Predicate – Object
• @about (URIorSafeCURIE) … for setting
  the subject of a statement
• @typeof (CURIEs) … for setting the
  type(s) of a resource (syntactic sugar)
• @href/@resource (URIorSafeCURIE) …
  for setting the object of a statement


25.10.2009                                  31
Subject – Predicate – Object
• @property (CURIEs) … for relating a
  resource to a literal value, that is, for
  datatype properties
• @rel/@rev (reserved word | CURIE)+ …
  for relating a resource to another resource,
  that is, for object properties



25.10.2009                                  32
Subject – Predicate – Object
• @content (CDATA) … for setting a literal
  object value
• @datatype (CURIE) … for the datatype of
  a literal object value - if not specified, then
  the default value is xsd:string




25.10.2009                                      33
DOCTYPE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
+RDFa 1.0//EN" "http://www.w3.org/MarkUp/
DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
<head profile="http://www.w3.org/1999/xhtml/
vocab">
     <title>GoodRelations RDFa minimal
example</title>
</head>
(…)
25.10.2009                                 34
Example - Markup
• http://www.w3.org/TR/xhtml-rdfa-primer/
  alice-example.html
• Install Operator on FF
• Debug page




25.10.2009                                  35
RDFa: Simplistic Usage
  Reusing existing text and values at their original position




25.10.2009                                                      36
RDFa: Snippet Style
  Embedding additional meta-data in the same document,
     but detached from the human-readable content




25.10.2009                                               37
RDF2RDFa Tool: Snippets




             http://www.ebusiness-unibw.org/tools/rdf2rdfa/
25.10.2009                                                    38
Quizzes
• Why is RDFa important to simplify the
  creation of Semantic Web content?
• How does RDFa contribute to a better
  quality of Semantic Web data?
• What is the main principle of RDFa?
• Name the key elements and give a simple
  example of using RDFa.

25.10.2009                              39
Hands-on Exercises: Creating,
               Publishing, and Querying

                      Martin Hepp




25.10.2009                                   40
Step-by-Step (1)
• Data Sources                 • Data Delivery Options
  –   Form-based data entry
                                 – RDFa: Embedding meta-
  –   RDBMS                        data in XHTML
  –   XML, e.g. BMEcat           – RDF/XML: Extra file
  –   CSV                        – dataRSS: Yahoo feed
  –   Google CSV, RSS 1.0,         format
      RSS 2.0
• Amount of Detail and
  Data Model
  – What shall be included?
  – How shall the type of
    products be represented?
                                                         41
Step-by-Step (2)
• Update Mechanism & Data Management
   – PHP on demand
   – Script-based data dump
• Publishing the Data
   – Server configuration
   – Notifying Semantic Web crawlers, Yahoo, …
   – Semantic Sitemaps
• Applications




                                                 42
GoodRelations Annotator




http://www.ebusiness-unibw.org/tools/goodrelations-annotator/
                                                         43
osCommerce Extension




http://code.google.com/p/goodrelations-for-oscommerce/

                                                     44
Joomla/VirtueMart Extension




http://code.google.com/p/goodrelations-for-joomla/

                                                     45
Google Product Feed Converter




                 http://tr.im/sLcX
25.10.2009                              46
BMEcat2GoodRelations
• Converts complete catalogs from the popular
  BMEcat XML Schema into GoodRelations




 http://www.ebusiness-unibw.org/tools/bmecat2goodrelations/
25.10.2009                                             47
GoodRelations in MediaWiki




    http://www.ebusiness-unibw.org/wiki/RDFaInMediaWiki

25.10.2009                                                48
GoodRelations in Oxid eSales
• Popular shop
  software
• Free recipe for adding
  GoodRelations,
  developed by Daniel
  Bingel

   http://www.ebusiness-unibw.org/wiki/GoodRelations4Oxid


25.10.2009                                             49
GoodRelations Validator




http://www.ebusiness-unibw.org/tools/goodrelations-validator/
                                                          50
GoodRelations CookBook




http://www.ebusiness-unibw.org/wiki/GoodRelations#Recipes_and_Examples
25.10.2009                                                        51
Task 1
• Use the GoodRelations Annotator to
  create a description for your business or a
  business that you know.




25.10.2009                                  52
Task 2
• Using Turtle & GoodRelations, describe the
  following business.
     – Miller Tax Consulting Inc., having two stores, selling
       office supplies and tax consultancy
• Convert the Turtle to RDF/XML and validate it.
• Convert the RDF/XML to RDFa using
  RDF2RDFa and paste it into a page of your
  choice.


25.10.2009                                                      53
Task 3
• Query the SPARQL endpoint at
       http://loc.openlinksw.com/sparql
  for the product properties and values for the
  product with the EAN/UPC code
  8714574993836.




25.10.2009                                        54
Thank you.




25.10.2009                55

More Related Content

What's hot (19)

PPTX
WikiNext - Application Semantic Wiki
Pavel Arapov
 
PDF
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov
VTT Technical Research Centre of Finland Ltd
 
PDF
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
Michael Rainey
 
PPSX
The Web of data and web data commons
Jesse Wang
 
PDF
Apache Falcon at Hadoop Summit 2013
Seetharam Venkatesh
 
PPTX
Effective SharePoint Scalability & Management. To BLOB or not to BLOB, that’s...
garthluke
 
PPTX
The Path Through SharePoint Migrations
Brian Caauwe
 
PDF
Splice machine-bloor-webinar-data-lakes
Edgar Alejandro Villegas
 
PPTX
Apache Hadoop YARN: state of the union
DataWorks Summit
 
PPT
Solving Real Problems Using Linked Data
rumito
 
PPTX
Hadoop first ETL on Apache Falcon
DataWorks Summit
 
PPTX
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
PPTX
London HUG
Boudicca
 
PPT
RDF Views of SQL Data Power Point Presentation - 1
rumito
 
PPTX
Web mining
SwarnaLatha177
 
PPT
Facebook Technology Stack
Husain Ali
 
PDF
Hbase mhug 2015
Joseph Niemiec
 
PPT
How to Integrate OBIEE and Essbase / EPM Suite (OOW 2012)
Mark Rittman
 
PPT
Migrating from HDF5 1.6 to 1.8
The HDF-EOS Tools and Information Center
 
WikiNext - Application Semantic Wiki
Pavel Arapov
 
DataBearings: A semantic platform for data integration on IoT, Artem Katasonov
VTT Technical Research Centre of Finland Ltd
 
A Walk Through the Kimball ETL Subsystems with Oracle Data Integration
Michael Rainey
 
The Web of data and web data commons
Jesse Wang
 
Apache Falcon at Hadoop Summit 2013
Seetharam Venkatesh
 
Effective SharePoint Scalability & Management. To BLOB or not to BLOB, that’s...
garthluke
 
The Path Through SharePoint Migrations
Brian Caauwe
 
Splice machine-bloor-webinar-data-lakes
Edgar Alejandro Villegas
 
Apache Hadoop YARN: state of the union
DataWorks Summit
 
Solving Real Problems Using Linked Data
rumito
 
Hadoop first ETL on Apache Falcon
DataWorks Summit
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
DataWorks Summit
 
London HUG
Boudicca
 
RDF Views of SQL Data Power Point Presentation - 1
rumito
 
Web mining
SwarnaLatha177
 
Facebook Technology Stack
Husain Ali
 
Hbase mhug 2015
Joseph Niemiec
 
How to Integrate OBIEE and Essbase / EPM Suite (OOW 2012)
Mark Rittman
 
Migrating from HDF5 1.6 to 1.8
The HDF-EOS Tools and Information Center
 

Viewers also liked (8)

PDF
GoodRelations Tutorial Part 2
guestecacad2
 
PDF
GoodRelations Tutorial Part 3
guestecacad2
 
PDF
GoodRelations Tutorial Part 1
guestecacad2
 
PDF
Web Site Visibility in the Giant Graph of Commerce Data
Martin Hepp
 
PDF
ISWC GoodRelations Tutorial Part 3
Martin Hepp
 
PDF
ISWC GoodRelations Tutorial Part 2
Martin Hepp
 
PDF
ISWC GoodRelations Tutorial Part 1
Martin Hepp
 
PDF
ISWC GoodRelations Tutorial Part 4
Martin Hepp
 
GoodRelations Tutorial Part 2
guestecacad2
 
GoodRelations Tutorial Part 3
guestecacad2
 
GoodRelations Tutorial Part 1
guestecacad2
 
Web Site Visibility in the Giant Graph of Commerce Data
Martin Hepp
 
ISWC GoodRelations Tutorial Part 3
Martin Hepp
 
ISWC GoodRelations Tutorial Part 2
Martin Hepp
 
ISWC GoodRelations Tutorial Part 1
Martin Hepp
 
ISWC GoodRelations Tutorial Part 4
Martin Hepp
 
Ad

Similar to GoodRelations Tutorial Part 4 (20)

PPT
Drupal and the Semantic Web
Kristof Van Tomme
 
KEY
RDFa Introductory Course Session 3/4 Why RDFa
Platypus
 
KEY
Why rdfa
JISC Netskills
 
PDF
Metadata is back!
Bernhard Haslhofer
 
PDF
RDFa: introduction, comparison with microdata and microformats and how to use it
Jose Luis Lopez Pino
 
PPT
Linked data and voyager
Edmund Chamberlain
 
PDF
RDF Linked Data - Automatic Exchange of BIM Containers
Safe Software
 
PDF
Barcamprdu linkeddata
David M. Johnson
 
PPT
Semantic Technology In Oracle Database 12c
Martin Toshev
 
PDF
RDFauthor (EKAW)
Norman Heino
 
PDF
Danbri Drupalcon Export
Drupalcon Paris
 
PPTX
Sigma EE: Reaping low-hanging fruits in RDF-based data integration
Richard Cyganiak
 
PPTX
Semantic web
Abid Fakhre Alam
 
PPTX
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Cory Lampert
 
PPTX
RDTF Metadata Guidelines: an update
Andy Powell
 
PPT
Linked Data Tutorial
Sören Auer
 
PPTX
Why I don't use Semantic Web technologies anymore, event if they still influe...
Gautier Poupeau
 
ZIP
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley
 
PPTX
The Web Data Commons Microdata, RDFa, and Microformat Dataset Series @ ISWC2014
Robert Meusel
 
PPT
Semantic web and Drupal: an introduction
Kristof Van Tomme
 
Drupal and the Semantic Web
Kristof Van Tomme
 
RDFa Introductory Course Session 3/4 Why RDFa
Platypus
 
Why rdfa
JISC Netskills
 
Metadata is back!
Bernhard Haslhofer
 
RDFa: introduction, comparison with microdata and microformats and how to use it
Jose Luis Lopez Pino
 
Linked data and voyager
Edmund Chamberlain
 
RDF Linked Data - Automatic Exchange of BIM Containers
Safe Software
 
Barcamprdu linkeddata
David M. Johnson
 
Semantic Technology In Oracle Database 12c
Martin Toshev
 
RDFauthor (EKAW)
Norman Heino
 
Danbri Drupalcon Export
Drupalcon Paris
 
Sigma EE: Reaping low-hanging fruits in RDF-based data integration
Richard Cyganiak
 
Semantic web
Abid Fakhre Alam
 
Linked data demystified:Practical efforts to transform CONTENTDM metadata int...
Cory Lampert
 
RDTF Metadata Guidelines: an update
Andy Powell
 
Linked Data Tutorial
Sören Auer
 
Why I don't use Semantic Web technologies anymore, event if they still influe...
Gautier Poupeau
 
SemWeb Fundamentals - Info Linking & Layering in Practice
Dan Brickley
 
The Web Data Commons Microdata, RDFa, and Microformat Dataset Series @ ISWC2014
Robert Meusel
 
Semantic web and Drupal: an introduction
Kristof Van Tomme
 
Ad

Recently uploaded (20)

PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PPTX
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
The Future of Artificial Intelligence (AI)
Mukul
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Agentic AI in Healthcare Driving the Next Wave of Digital Transformation
danielle hunter
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 

GoodRelations Tutorial Part 4

  • 1. The Web of Data for E-Commerce in Brief A Hands-on Introduction to the GoodRelations Ontology, RDFa, and Yahoo! SearchMonkey October 25, 2009 Westfields Conference Center near Washington, DC, USA Martin Hepp Universität der Bundeswehr München, Munich, Germany Richard Cyganiak Digital Enterprise Research Institute (DERI), Ireland
  • 2. Logistics 08:30-10:30 Overview and Motivation: Why the Web of Data is Now 30’ Quick Review of Prerequisites 15’ The GoodRelations Ontology: E-Commerce on the Web of Data 75’ 10:30-10:45 Coffee Break 10:45-12:30 RDFa: Bridging the Web of Documents with the Web of Data 45’ Expressing GoodRelations in RDFa: A Running Example 30’ GoodRelations – Advanced Topics 30’ 12:30-13:30 Lunch Break 13:30-16:00 Hands-on Exercise: Annotating a Web Shop 60’ Querying the Web of Data for Offerings – SPARQL 15’ Querying the Web of Data – Exercises 15’ 16:00-16:30 Coffee Break 16:30-18:00 Publishing Semantic Web Data: Make Your RDF Available 30’ Yahoo SearchMonkey and Yahoo BOSS 45’ Discussion, Conclusion, Feedback Round 15’ 2
  • 3. SPARQL Query Language Endpoint Specification 25.10.2009 3
  • 4. SPARQL: Query Language Specification http://www.w3.org/TR/rdf-sparql-query/ 25.10.2009 4
  • 5. SPARQL Query Structure # comments PREFIX gr:<http://purl.org/goodrelations/v1#> SELECT ?var1 ?var2 WHERE {?var1 rdf:type gr:Offering. ?var1 gr:validThrough ?var2. FILTER (?date < "2009-05-25T00:00:00Z"^^xsd:dateTime)} 25.10.2009 5
  • 6. SPARQL: Matching Literals PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> SELECT ?v WHERE { ?v ?p "abc"^^xsd:datatype } 25.10.2009 6
  • 7. SPARQL: Matching Strings PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?title WHERE { ?x dc:title ?title FILTER regex(?title, "^SPARQL") } ^= Starts with 25.10.2009 7
  • 8. SPARQL Query # find expired offerings: PREFIX gr:<http://purl.org/ goodrelations/v1#> SELECT ?o, ?date WHERE {?o rdf:type gr:Offering. ?o gr:validThrough ?date. FILTER (?date < "2009-05-25T00:00:00Z"^^xsd:dateTime )} 25.10.2009 8
  • 9. SPARQL Query # find label for UPC/EAN "0001067792600“ PREFIX gr:<http://purl.org/goodrelations/ v1#> PREFIX xsd:<http://www.w3.org/2001/ XMLSchema#> SELECT ?uri, ?label WHERE {?uri rdf:type gr:ProductOrServiceModel. ?uri gr:hasEAN_UCC-13 "0001067792600"^^xsd:string. ?uri rdfs:label ?label} 25.10.2009 9
  • 10. Quizzes • Why is it important to use the OPTIONAL clause for patterns that cannot be assumed to be found? • What is a Semantic Sitemap? 25.10.2009 10
  • 11. Publishing Data on the Semantic Web 25.10.2009 11
  • 12. Publishing RDF Data on the Web • Publishing RDF/XML files • RDFa - Embedding RDF in XHTML • dataRSS 25.10.2009 12
  • 13. Step 1: Publish File Save the RDF/XML file under the filename • semanticweb.rdf in the root directory of your Web server so that it becomes available as • http://example.org/semanticweb.rdf 25.10.2009 13
  • 14. Point to RDF/XML from HTML/XHTML • Add a link element pointing to this file to the header of your main Web page (or other pages, too): <html lang="en"> <head> <title></title> <link rel="meta" type="application/rdf+xml" title="RDF/XML data for ***your company name***" href="http://www.example.org/semanticweb.rdf" /> </head> ... 25.10.2009 14
  • 15. Notify Semantic Web Search Engines To do so, simply paste the URI • http://example.org/semanticweb.rdf into the respective fields of the following submission pages: • http://pingthesemanticweb.com/ • http://sindice.com/main/submit • http://swoogle.umbc.edu/index.php? option=com_swoogle_service&service=submit 25.10.2009 15
  • 16. Server Configuration • Rewrite – http://example.org/semanticweb to – http://example.org/semanticweb.rdf • Correct media type rdf+xml – The content type (media type) of the file returned must be set correctly to "rdf+xml". 25.10.2009 16
  • 17. Web Page Content Negotiation HTML/ XHTML Meta-Data RDF/XML http GET Web ? Server Returns Web Page HTML/ XHTML Meta-Data RDF/XML 25.10.2009 17
  • 18. Server Configuration On Appache servers, simply edit the .htaccess file: #Rewrite rule to serve RDF/XML content from the vocabulary URI RewriteRule ^semanticweb$ semanticweb.rdf #Directive to ensure *.rdf files served as appropriate content type #if not present in main apache config AddType application/rdf+xml .rdf 25.10.2009 18
  • 19. Publishing RDF/XML Data on MS IIS Platforms • Ionics Isapi Rewrite Filter for IIS 5.0 and IIS 6.0 – http://iirf.codeplex.com/ • Microsoft URL Rewrite Module for IIS 7.0 – http://support.microsoft.com/kb/324064 (Thanks to Christophe Debruyne and Robert Meersman for the hint!) • ModRewrite – http://www.micronovae.com/ModRewrite/ ModRewrite.html (Thanks to Sergio Fernández for the link!) 25.10.2009 19
  • 20. Semantic Sitemaps • Efficient means of telling a Semantic Web search engine which RDF files are available http://sw.deri.org/2007/07/sitemapextension/ 25.10.2009 20
  • 21. Additional Information • Cool URIs for the Semantic Web, W3C Interest Group Note 03 December 2008 http://www.w3.org/TR/cooluris/ 25.10.2009 21
  • 22. RDFa: Bridging the Web of Documents with the Web of Data Martin Hepp 25.10.2009 22
  • 23. Learning Goal • Understand the data quality problems that can result from the „naive“ Semantic Web • Understand the RDFa syntax for embedding RDF data into XHTML documents • Be able to express GoodRelations data in RDFa 25.10.2009 23
  • 24. Data Redundancy and Data Quality Problems Addresses Addresses Addresses Copy of Copy of Time Addresses Addresses 25.10.2009 24
  • 25. Data Redundancy in the Semantic Web Web Page Web Page HTML/ HTML/ XHTML XHTML Meta-Data Meta-Data Time RDF/XML RDF/XML 25.10.2009 25
  • 26. Embedding RDF in XHTML • Being able to represent meaning and rendering information in a single document http GET XHTML + Web RDFa Server XHTML + Returns RDFa 25.10.2009 26
  • 27. = + XHTML Resource Description Framework in attributes 25.10.2009 27
  • 28. What is RDFa? • From the Web of Documents' point-of- view: a set of new (X)HTML attributes to express metadata within (X)HTML • From the Web of Data point-of-view: a serialization format for RDF (such as RDF/ XML, etc.), where the RDF triples are "embedded" into (X)HTML 25.10.2009 28
  • 29. Yahoo SearchMonkey Currently considers RDF data only if • submitted via the (proprietary) dataRSS feed format or if • embedded inside XHTML pages via RDFa. http://www.ebusiness-unibw.org/tools/rdf2datarss/ 25.10.2009 29
  • 30. RDF in Attributes <h1 property="dc:title">GoodRelations RDFa minimal example</h1> 25.10.2009 30
  • 31. Subject – Predicate – Object • @about (URIorSafeCURIE) … for setting the subject of a statement • @typeof (CURIEs) … for setting the type(s) of a resource (syntactic sugar) • @href/@resource (URIorSafeCURIE) … for setting the object of a statement 25.10.2009 31
  • 32. Subject – Predicate – Object • @property (CURIEs) … for relating a resource to a literal value, that is, for datatype properties • @rel/@rev (reserved word | CURIE)+ … for relating a resource to another resource, that is, for object properties 25.10.2009 32
  • 33. Subject – Predicate – Object • @content (CDATA) … for setting a literal object value • @datatype (CURIE) … for the datatype of a literal object value - if not specified, then the default value is xsd:string 25.10.2009 33
  • 34. DOCTYPE <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML +RDFa 1.0//EN" "http://www.w3.org/MarkUp/ DTD/xhtml-rdfa-1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <head profile="http://www.w3.org/1999/xhtml/ vocab"> <title>GoodRelations RDFa minimal example</title> </head> (…) 25.10.2009 34
  • 35. Example - Markup • http://www.w3.org/TR/xhtml-rdfa-primer/ alice-example.html • Install Operator on FF • Debug page 25.10.2009 35
  • 36. RDFa: Simplistic Usage Reusing existing text and values at their original position 25.10.2009 36
  • 37. RDFa: Snippet Style Embedding additional meta-data in the same document, but detached from the human-readable content 25.10.2009 37
  • 38. RDF2RDFa Tool: Snippets http://www.ebusiness-unibw.org/tools/rdf2rdfa/ 25.10.2009 38
  • 39. Quizzes • Why is RDFa important to simplify the creation of Semantic Web content? • How does RDFa contribute to a better quality of Semantic Web data? • What is the main principle of RDFa? • Name the key elements and give a simple example of using RDFa. 25.10.2009 39
  • 40. Hands-on Exercises: Creating, Publishing, and Querying Martin Hepp 25.10.2009 40
  • 41. Step-by-Step (1) • Data Sources • Data Delivery Options – Form-based data entry – RDFa: Embedding meta- – RDBMS data in XHTML – XML, e.g. BMEcat – RDF/XML: Extra file – CSV – dataRSS: Yahoo feed – Google CSV, RSS 1.0, format RSS 2.0 • Amount of Detail and Data Model – What shall be included? – How shall the type of products be represented? 41
  • 42. Step-by-Step (2) • Update Mechanism & Data Management – PHP on demand – Script-based data dump • Publishing the Data – Server configuration – Notifying Semantic Web crawlers, Yahoo, … – Semantic Sitemaps • Applications 42
  • 46. Google Product Feed Converter http://tr.im/sLcX 25.10.2009 46
  • 47. BMEcat2GoodRelations • Converts complete catalogs from the popular BMEcat XML Schema into GoodRelations http://www.ebusiness-unibw.org/tools/bmecat2goodrelations/ 25.10.2009 47
  • 48. GoodRelations in MediaWiki http://www.ebusiness-unibw.org/wiki/RDFaInMediaWiki 25.10.2009 48
  • 49. GoodRelations in Oxid eSales • Popular shop software • Free recipe for adding GoodRelations, developed by Daniel Bingel http://www.ebusiness-unibw.org/wiki/GoodRelations4Oxid 25.10.2009 49
  • 52. Task 1 • Use the GoodRelations Annotator to create a description for your business or a business that you know. 25.10.2009 52
  • 53. Task 2 • Using Turtle & GoodRelations, describe the following business. – Miller Tax Consulting Inc., having two stores, selling office supplies and tax consultancy • Convert the Turtle to RDF/XML and validate it. • Convert the RDF/XML to RDFa using RDF2RDFa and paste it into a page of your choice. 25.10.2009 53
  • 54. Task 3 • Query the SPARQL endpoint at http://loc.openlinksw.com/sparql for the product properties and values for the product with the EAN/UPC code 8714574993836. 25.10.2009 54