The Web of Data for E-Commerce in Brief

A Hands-on Introduction to the GoodRelations Ontology,
         RDFa, and Yahoo! ...
Logistics
08:30-10:30   Overview and Motivation: Why the Web of Data is Now 30’
              Quick Review of Prerequisite...
SPARQL

               Query Language
             Endpoint Specification


25.10.2009                            3
SPARQL: Query Language Specification




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

SELECT ?var1 ?var2 WHERE
  {?var1 rdf:typ...
SPARQL: Matching Literals
PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>

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

...
SPARQL: Matching Strings
PREFIX       dc:   <http://purl.org/dc/elements/1.1/>
SELECT        ?title
WHERE         { ?x dc:...
SPARQL Query
# find expired offerings:
PREFIX gr:<http://purl.org/
  goodrelations/v1#>
SELECT ?o, ?date WHERE
  {?o rdf:t...
SPARQL Query
# find label for UPC/EAN "0001067792600“
PREFIX gr:<http://purl.org/goodrelations/
  v1#>
PREFIX xsd:<http://...
Quizzes
• Why is it important to use the OPTIONAL
  clause for patterns that cannot be
  assumed to be found?
• What is a ...
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        ...
Step 1: Publish File
Save the RDF/XML file under the filename
• semanticweb.rdf
in the root directory of your Web server s...
Point to RDF/XML from HTML/XHTML
• Add a link element pointing to this file to
  the header of your main Web page (or
  ot...
Notify Semantic Web Search Engines
To do so, simply paste the URI
• http://example.org/semanticweb.rdf
into the respective...
Server Configuration
• Rewrite
     – http://example.org/semanticweb to
     – http://example.org/semanticweb.rdf
• Correc...
Web Page
                  Content Negotiation
  HTML/
  XHTML
  Meta-Data
  RDF/XML                      http GET

      ...
Server Configuration
             On Appache servers, simply edit
                    the .htaccess file:
#Rewrite rule to...
Publishing RDF/XML Data on MS IIS Platforms
• Ionics Isapi Rewrite Filter for IIS 5.0 and IIS 6.0
     – http://iirf.codep...
Semantic Sitemaps
• Efficient means of telling a Semantic Web
  search engine which RDF files are
  available


        ht...
Additional Information
• Cool URIs for the Semantic Web, W3C
  Interest Group Note 03 December 2008
  http://www.w3.org/TR...
RDFa: Bridging the Web of
       Documents with the Web of Data

                 Martin Hepp




25.10.2009              ...
Learning Goal
• Understand the data quality problems that
  can result from the „naive“ Semantic Web
• Understand the RDFa...
Data Redundancy and Data Quality Problems
         Addresses               Addresses               Addresses




         ...
Data Redundancy in the Semantic Web
         Web Page               Web Page
         HTML/                  HTML/
       ...
Embedding RDF in XHTML
• Being able to represent meaning and rendering
  information in a single document


              ...
=
               + 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 ...
Yahoo SearchMonkey
Currently considers RDF data only if
• submitted via the (proprietary) dataRSS
  feed format or if
• em...
RDF in Attributes
 <h1 property="dc:title">GoodRelations
  RDFa minimal example</h1>




25.10.2009                       ...
Subject – Predicate – Object
• @about (URIorSafeCURIE) … for setting
  the subject of a statement
• @typeof (CURIEs) … for...
Subject – Predicate – Object
• @property (CURIEs) … for relating a
  resource to a literal value, that is, for
  datatype ...
Subject – Predicate – Object
• @content (CDATA) … for setting a literal
  object value
• @datatype (CURIE) … for the datat...
DOCTYPE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
+RDFa 1.0//EN" "http://www.w3.org/...
Example - Markup
• http://www.w3.org/TR/xhtml-rdfa-primer/
  alice-example.html
• Install Operator on FF
• Debug page




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




25.10.2009                       ...
RDFa: Snippet Style
  Embedding additional meta-data in the same document,
     but detached from the human-readable conte...
RDF2RDFa Tool: Snippets




             http://www.ebusiness-unibw.org/tools/rdf2rdfa/
25.10.2009                        ...
Quizzes
• Why is RDFa important to simplify the
  creation of Semantic Web content?
• How does RDFa contribute to a better...
Hands-on Exercises: Creating,
               Publishing, and Querying

                      Martin Hepp




25.10.2009   ...
Step-by-Step (1)
• Data Sources                 • Data Delivery Options
  –   Form-based data entry
                      ...
Step-by-Step (2)
• Update Mechanism & Data Management
   – PHP on demand
   – Script-based data dump
• Publishing the Data...
GoodRelations Annotator




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




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

                                         ...
Joomla/VirtueMart Extension




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

                                      ...
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....
GoodRelations in MediaWiki




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

25.10.2009                        ...
GoodRelations in Oxid eSales
• Popular shop
  software
• Free recipe for adding
  GoodRelations,
  developed by Daniel
  B...
GoodRelations Validator




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




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




25...
Task 2
• Using Turtle & GoodRelations, describe the
  following business.
     – Miller Tax Consulting Inc., having two st...
Task 3
• Query the SPARQL endpoint at
       http://loc.openlinksw.com/sparql
  for the product properties and values for ...
Thank you.




25.10.2009                55
Upcoming SlideShare
Loading in...5
×

GoodRelations Tutorial Part 4

2,783

Published on

This is part 4 of the ISWC 2009 tutorial on the GoodRelations ontology and RDFa for e-commerce on the Web of Linked Data.

See also
http://www.ebusiness-unibw.org/wiki/Web_of_Data_for_E-Commerce_Tutorial_ISWC2009

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

No Downloads
Views
Total Views
2,783
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
43
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

GoodRelations Tutorial Part 4

  1. 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. 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. 3. SPARQL Query Language Endpoint Specification 25.10.2009 3
  4. 4. SPARQL: Query Language Specification http://www.w3.org/TR/rdf-sparql-query/ 25.10.2009 4
  5. 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. 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. 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. 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. 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. 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. 11. Publishing Data on the Semantic Web 25.10.2009 11
  12. 12. Publishing RDF Data on the Web • Publishing RDF/XML files • RDFa - Embedding RDF in XHTML • dataRSS 25.10.2009 12
  13. 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. 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. 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. 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. 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. 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. 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. 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. 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. 22. RDFa: Bridging the Web of Documents with the Web of Data Martin Hepp 25.10.2009 22
  23. 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. 24. Data Redundancy and Data Quality Problems Addresses Addresses Addresses Copy of Copy of Time Addresses Addresses 25.10.2009 24
  25. 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. 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. 27. = + XHTML Resource Description Framework in attributes 25.10.2009 27
  28. 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. 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. 30. RDF in Attributes <h1 property="dc:title">GoodRelations RDFa minimal example</h1> 25.10.2009 30
  31. 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. 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. 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. 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. 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. 36. RDFa: Simplistic Usage Reusing existing text and values at their original position 25.10.2009 36
  37. 37. RDFa: Snippet Style Embedding additional meta-data in the same document, but detached from the human-readable content 25.10.2009 37
  38. 38. RDF2RDFa Tool: Snippets http://www.ebusiness-unibw.org/tools/rdf2rdfa/ 25.10.2009 38
  39. 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. 40. Hands-on Exercises: Creating, Publishing, and Querying Martin Hepp 25.10.2009 40
  41. 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. 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
  43. 43. GoodRelations Annotator http://www.ebusiness-unibw.org/tools/goodrelations-annotator/ 43
  44. 44. osCommerce Extension http://code.google.com/p/goodrelations-for-oscommerce/ 44
  45. 45. Joomla/VirtueMart Extension http://code.google.com/p/goodrelations-for-joomla/ 45
  46. 46. Google Product Feed Converter http://tr.im/sLcX 25.10.2009 46
  47. 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. 48. GoodRelations in MediaWiki http://www.ebusiness-unibw.org/wiki/RDFaInMediaWiki 25.10.2009 48
  49. 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
  50. 50. GoodRelations Validator http://www.ebusiness-unibw.org/tools/goodrelations-validator/ 50
  51. 51. GoodRelations CookBook http://www.ebusiness-unibw.org/wiki/GoodRelations#Recipes_and_Examples 25.10.2009 51
  52. 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. 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. 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
  55. 55. Thank you. 25.10.2009 55
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×