+ All Categories
Home > Technology > ISWC GoodRelations Tutorial Part 4

ISWC GoodRelations Tutorial Part 4

Date post: 22-Nov-2014
Category:
Upload: martin-hepp
View: 2,642 times
Download: 1 times
Share this document with a friend
Description:
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 alsohttp://www.ebusiness-unibw.org/wiki/Web_of_Data_for_E-Commerce_Tutorial_ISWC2009
55
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
Transcript
Page 1: ISWC GoodRelations Tutorial Part 4

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

Page 2: ISWC GoodRelations Tutorial Part 4

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

Logistics

Page 3: ISWC GoodRelations Tutorial Part 4

SPARQL

Query Language

Endpoint Specification

25.10.2009 3

Page 4: ISWC GoodRelations Tutorial Part 4

SPARQL: Query Language Specification

25.10.2009 4

http://www.w3.org/TR/rdf-sparql-query/

Page 5: ISWC GoodRelations Tutorial Part 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

Page 6: ISWC GoodRelations Tutorial Part 4

SPARQL: Matching Literals

PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>

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

25.10.2009 6

Page 7: ISWC GoodRelations Tutorial Part 4

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

Page 8: ISWC GoodRelations Tutorial Part 4

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

Page 9: ISWC GoodRelations Tutorial Part 4

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

Page 10: ISWC GoodRelations Tutorial Part 4

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

Page 11: ISWC GoodRelations Tutorial Part 4

Publishing Data on the Semantic Web

25.10.2009 11

Page 12: ISWC GoodRelations Tutorial Part 4

Publishing RDF Data on the Web

• Publishing RDF/XML files

• RDFa - Embedding RDF in XHTML

• dataRSS

25.10.2009 12

Page 13: ISWC GoodRelations Tutorial Part 4

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

Page 14: ISWC GoodRelations Tutorial Part 4

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):

25.10.2009 14

<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> ...

Page 15: ISWC GoodRelations Tutorial Part 4

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

Page 16: ISWC GoodRelations Tutorial Part 4

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

Page 17: ISWC GoodRelations Tutorial Part 4

Content Negotiation

25.10.2009 17

Web Page

HTML/XHTML

Meta-Data

RDF/XML

Web

Server

http GET

Returns

Web Page

HTML/XHTML

Meta-Data

RDF/XML

?

Page 18: ISWC GoodRelations Tutorial Part 4

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

Page 19: ISWC GoodRelations Tutorial Part 4

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

Page 20: ISWC GoodRelations Tutorial Part 4

Semantic Sitemaps

• Efficient means of telling a Semantic Web

search engine which RDF files are

available

25.10.2009 20

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

Page 21: ISWC GoodRelations Tutorial Part 4

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

Page 22: ISWC GoodRelations Tutorial Part 4

RDFa: Bridging the Web of

Documents with the Web of Data

Martin Hepp

25.10.2009 22

Page 23: ISWC GoodRelations Tutorial Part 4

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

Page 24: ISWC GoodRelations Tutorial Part 4

Data Redundancy and Data Quality Problems

25.10.2009 24

Addresses

Copy of

Addresses

Copy of

Addresses

Addresses Addresses

Time

Page 25: ISWC GoodRelations Tutorial Part 4

Data Redundancy in the Semantic Web

25.10.2009 25

Web Page

HTML/XHTML

Meta-Data

RDF/XML

Web Page

HTML/XHTML

Meta-Data

RDF/XML

Time

Page 26: ISWC GoodRelations Tutorial Part 4

Embedding RDF in XHTML

• Being able to represent meaning and rendering

information in a single document

25.10.2009 26

Web

Server

http GET

Returns

XHTML +

RDFa

XHTML +

RDFa

Page 27: ISWC GoodRelations Tutorial Part 4

XHTML +

=

Resource Description Framework

in attributes

25.10.2009 27

Page 28: ISWC GoodRelations Tutorial Part 4

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

Page 29: ISWC GoodRelations Tutorial Part 4

Yahoo SearchMonkey

Currently considers RDF data only if

• submitted via the (proprietary) dataRSS

feed format or if

• embedded inside XHTML pages via

RDFa.

25.10.2009 29

http://www.ebusiness-unibw.org/tools/rdf2datarss/

Page 30: ISWC GoodRelations Tutorial Part 4

RDF in Attributes

<h1 property="dc:title">GoodRelations

RDFa minimal example</h1>

25.10.2009 30

Page 31: ISWC GoodRelations Tutorial Part 4

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

Page 32: ISWC GoodRelations Tutorial Part 4

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

Page 33: ISWC GoodRelations Tutorial Part 4

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

Page 34: ISWC GoodRelations Tutorial Part 4

DOCTYPE

34

<?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

Page 35: ISWC GoodRelations Tutorial Part 4

Example - Markup

• http://www.w3.org/TR/xhtml-rdfa-primer/

alice-example.html

• Install Operator on FF

• Debug page

25.10.2009 35

Page 36: ISWC GoodRelations Tutorial Part 4

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

25.10.2009 36

Page 37: ISWC GoodRelations Tutorial Part 4

RDFa: Snippet Style Embedding additional meta-data in the same document,

but detached from the human-readable content

25.10.2009 37

Page 38: ISWC GoodRelations Tutorial Part 4

RDF2RDFa Tool: Snippets

25.10.2009 38

http://www.ebusiness-unibw.org/tools/rdf2rdfa/

Page 39: ISWC GoodRelations Tutorial Part 4

25.10.2009 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.

Page 40: ISWC GoodRelations Tutorial Part 4

Hands-on Exercises: Creating,

Publishing, and Querying

Martin Hepp

25.10.2009 40

Page 41: ISWC GoodRelations Tutorial Part 4

Step-by-Step (1) • Data Sources

– Form-based data entry

– RDBMS

– XML, e.g. BMEcat

– CSV

– Google CSV, RSS 1.0,

RSS 2.0

• Amount of Detail and

Data Model

– What shall be included?

– How shall the type of

products be represented?

41

• Data Delivery Options

– RDFa: Embedding meta-

data in XHTML

– RDF/XML: Extra file

– dataRSS: Yahoo feed

format

Page 42: ISWC GoodRelations Tutorial Part 4

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

Page 43: ISWC GoodRelations Tutorial Part 4

GoodRelations Annotator

43

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

Page 44: ISWC GoodRelations Tutorial Part 4

osCommerce Extension

44

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

Page 45: ISWC GoodRelations Tutorial Part 4

Joomla/VirtueMart Extension

45

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

Page 46: ISWC GoodRelations Tutorial Part 4

Google Product Feed Converter

25.10.2009 46

http://tr.im/sLcX

Page 47: ISWC GoodRelations Tutorial Part 4

BMEcat2GoodRelations

• Converts complete catalogs from the popular

BMEcat XML Schema into GoodRelations

25.10.2009 47

http://www.ebusiness-unibw.org/tools/bmecat2goodrelations/

Page 48: ISWC GoodRelations Tutorial Part 4

GoodRelations in MediaWiki

25.10.2009 48

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

Page 49: ISWC GoodRelations Tutorial Part 4

GoodRelations in Oxid eSales

• Popular shop

software

• Free recipe for adding

GoodRelations,

developed by Daniel

Bingel

25.10.2009 49

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

Page 50: ISWC GoodRelations Tutorial Part 4

GoodRelations Validator

50

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

Page 51: ISWC GoodRelations Tutorial Part 4

GoodRelations CookBook

25.10.2009 51

http://www.ebusiness-unibw.org/wiki/GoodRelations#Recipes_and_Examples

Page 52: ISWC GoodRelations Tutorial Part 4

Task 1

• Use the GoodRelations Annotator to

create a description for your business or a

business that you know.

25.10.2009 52

Page 53: ISWC GoodRelations Tutorial Part 4

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

Page 54: ISWC GoodRelations Tutorial Part 4

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

Page 55: ISWC GoodRelations Tutorial Part 4

Thank you.

25.10.2009 55


Recommended