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
Long journey of Ruby standard library at RubyConf AU 2024
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
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
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
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
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
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
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
47. BMEcat2GoodRelations
• Converts complete catalogs from the popular
BMEcat XML Schema into GoodRelations
http://www.ebusiness-unibw.org/tools/bmecat2goodrelations/
25.10.2009 47
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