Your SlideShare is downloading. ×
0
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
GoodRelations Tutorial Part 3
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GoodRelations Tutorial Part 3

1,156

Published on

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

This is part 3 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
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,156
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. The GoodRelations Ontology: E-Commerce on the Web of Data Martin Hepp 25.10.2009 3
  • 4. GoodRelations User‘s Guide („Primer“) http://www.heppnetz.de/projects/goodrelations/primer/ 4
  • 5. UML Class Diagram Version 1, Release 2009-07-18 gr:QualitativeValue Martin Hepp. mhepp@computer.org gr:BusinessEntityType gr:WarrantyScope gr:qualitativeProductOrServiceProperty gr:hasWarrantyScope gr:ActualProductOrServiceInstance gr:BusinessFunction gr:WarrantyPromise gr:eligibleCustomerTypes gr:durationOfWarrantyInMonths xsd:int gr:ProductOrService gr:BusinessEntity gr:hasMakeAndModel gr:hasBusinessFunction gr:hasEAN_UCC-13 xsd:string gr:hasNAICS xsd:int gr:hasWarrantyPromise gr:includes gr:typeOfGood gr:hasISICv4 xsd:int gr:hasGTIN-14 xsd:string gr:offers gr:ProductOrServiceModel gr:hasStockKeepingUnit xsd:string gr:legalName xsd:string gr:Offering gr:TypeAndQuantityNode gr:hasDUNS xsd:string gr:seeks gr:hasEAN_UCC-13 xsd:string gr:amountOfThisGood xsd:float gr:hasGlobalLocationNumber xsd:string gr:hasGTIN-14 xsd:string gr:hasUnitOfMeasurement xsd:string gr:includesObject gr:isConsumableFor gr:hasMakeAndModel gr:hasStockKeepingUnit xsd:string gr:typeOfGood gr:eligibleRegions xsd:string gr:quantitativeProductOrServiceProperty gr:isVariantOf gr:hasPOS gr:validFrom xsd:dateTime gr:includes gr:ProductOrServicesSomeInstancesPlaceholder gr:availableAtOrFrom gr:isSimilarTo gr:validThrough xsd:dateTime gr:hasInventoryLevel gr:LocationOfSalesOrServiceProvisioning gr:isAccessoryOrSparePartFor gr:hasGlobalLocationNumber xsd:string gr:QuantitativeValueFloat gr:availableDeliveryMethods gr:hasMinValueFloat xsd:float gr:QuantitativeValue gr:hasOpeningHoursSpecification gr:hasMaxValueFloat xsd:float gr:hasUnitOfMeasurement xsd:string gr:hasPriceSpecification gr:OpeningHoursSpecification gr:hasEligibleQuantity gr:opens xsd:time gr:closes xsd:time gr:acceptedPaymentMethods gr:DeliveryMethod gr:PriceSpecification gr:hasCurrency xsd:string gr:QuantitativeValueInteger gr:valueAddedTaxIncluded xsd:boolean gr:hasMaxValueInteger xsd:int gr:hasOpeningHoursDayOfWeek gr:hasMinValueInteger xsd:int gr:hasMaxCurrencyValue xsd:float gr:appliesToDeliveryMethod gr:hasMinCurrencyValue xsd:float gr:DayOfWeek gr:hasCurrencyValue xsd:float gr:DeliveryModeParcelService gr:DeliveryChargeSpecification gr:eligibleRegions xsd:string gr:UnitPriceSpecification gr:PaymentMethod gr:priceType xsd:string gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:hasUnitOfMeasurement xsd:string gr:appliesToPaymentMethod gr:PaymentChargeSpecification gr:PaymentMethodCreditCard gr:hasManufacturer http://www.ebusiness-unibw.org/wiki/File:Goodrelations-UML-2009-07-18.pdf 25.10.2009 5
  • 6. GoodRelations: Language Reference http://purl.org/goodrelations/v1.html 6
  • 7. Overview
  • 8. The GoodRelations Vocabulary • A universal and free Web vocabulary for adding product and offering data to your Web pages. • Compatible with all relevant W3C standards and recommendations – RDF – OWL http://purl.org/goodrelations/ 8
  • 9. GoodRelations: One Single Schema for A Consolidated View on E-Commerce Data Extraction Arbitrary Query and Reuse Manufacturers Retailers Payment Delivery Product Model Warranty Master Data Shop Spare Parts & Offerings Auctions Consumables 9
  • 10. GoodRelations Design Principles • Keep simple things Lightweight Heavyweight simple and make Web of Data Web of Data complex things possible LOD OWL DL • Cater for LOD and OWL RDF + a little bit DL worlds • Academically sound • Industry-strength engineering • Practically relevant 10
  • 11. GoodRelations: License • Permanent, royalty-free access for commercial and non-commercial use. http://purl.org/goodrelations/ 11
  • 12. GoodRelations vs. eClassOWL etc. GoodRelations: Products and Services Companies & Offers Ontologies • BusinessEntity • Industry-specific • Offering ontologies for describing • WarrantyPromise types of products and services • … – eClassOWL – freeClassOWL – CEO - Consumer Electronics Ontology 25.10.2009 12
  • 13. Domain Structure and Use Cases
  • 14. Albert Einstein on Ontology Engineering "Make everything as simple as possible, but not simpler.“ Albert Einstein 14
  • 15. Basic Structure of Offers: Agent-Promise-Object Principle Object or Agent 1 Promise Happening Compensation Transfer of Rights Agent 2 15
  • 16. The Minimal Scenario • Scope – Business entity – Points-of-sale – Opening hours – Payment options • Suitable for – Every business – E-commerce and brick-and-mortar 16
  • 17. The Simple Scenario • Scope: Minimal scenario plus – Range of products or services – Business functions – Eligible regions or customer types – Delivery options • Suitable for – Any business: E-Commerce and brick-and-mortar – Specific products or services 17
  • 18. The Comprehensive Scenario • Scope: Simple scenario plus – Individual products or services – Product features – Pricing, rebates, etc. – Availability • Suitable for – Any business: E-commerce and brick-and-mortar – Specific products or services – Structured product database 18
  • 19. Product Model Data Scenario • Scope – Individual product models – Quantitative and qualitative features • Suitable for – Manufacturers of commodities 19
  • 20. Products vs. Product Models Product Model: Products: What you buy, “Datasheet” possess, and use • Intangible object • (Mostly) tangible object • “Ferdinand Porsche that can be owned and created the VW Beetle” used. • Not a subclass of • My VW Beetle has a products! mileage of 42,000 • Its serial number is 123456789 25.10.2009 20
  • 21. Product Models vs. Products • Product models define the defaults for a subset of a products features ex:FordTModel ex:hasWeight “400”. implies that likely (!) ex:MyFordT ex:hasWeight “400”. Important: Only products are offered for sale etc 25.10.2009 21
  • 22. Products: Actual vs. Anonymous Individuals • Sometimes you offer a particular object – myMacBookPro • Sometimes you offer products from a set of anonymous instances – A retailer does not expose every single book copy on stock over the Web – Those are only quantified existentially. 25.10.2009 22
  • 23. Products: Actual vs. Anonymous Individuals • Sometimes you offer a particular object – Example: eBay auction – gr:ActualProductOrServiceInstance • Sometimes you offer products from a set of anonymous instances – Example: New books on Amazon – gr:ProductOrServicesSomeInstancesPlaceholder 25.10.2009 23
  • 24. Conceptual Structure and Vocabulary
  • 25. Understanding the UML Class Diagram Version 1, Release 2009-07-18 gr:QualitativeValue Martin Hepp. mhepp@computer.org gr:BusinessEntityType gr:WarrantyScope gr:qualitativeProductOrServiceProperty gr:hasWarrantyScope gr:ActualProductOrServiceInstance gr:BusinessFunction gr:WarrantyPromise gr:eligibleCustomerTypes gr:durationOfWarrantyInMonths xsd:int gr:ProductOrService gr:BusinessEntity gr:hasMakeAndModel gr:hasBusinessFunction gr:hasEAN_UCC-13 xsd:string gr:hasNAICS xsd:int gr:hasWarrantyPromise gr:includes gr:typeOfGood gr:hasISICv4 xsd:int gr:hasGTIN-14 xsd:string gr:offers gr:ProductOrServiceModel gr:hasStockKeepingUnit xsd:string gr:legalName xsd:string gr:Offering gr:TypeAndQuantityNode gr:hasDUNS xsd:string gr:seeks gr:hasEAN_UCC-13 xsd:string gr:amountOfThisGood xsd:float gr:hasGlobalLocationNumber xsd:string gr:hasGTIN-14 xsd:string gr:hasUnitOfMeasurement xsd:string gr:includesObject gr:isConsumableFor gr:hasMakeAndModel gr:hasStockKeepingUnit xsd:string gr:typeOfGood gr:eligibleRegions xsd:string gr:quantitativeProductOrServiceProperty gr:isVariantOf gr:hasPOS gr:validFrom xsd:dateTime gr:includes gr:ProductOrServicesSomeInstancesPlaceholder gr:availableAtOrFrom gr:isSimilarTo gr:validThrough xsd:dateTime gr:hasInventoryLevel gr:LocationOfSalesOrServiceProvisioning gr:isAccessoryOrSparePartFor gr:hasGlobalLocationNumber xsd:string gr:QuantitativeValueFloat gr:availableDeliveryMethods gr:hasMinValueFloat xsd:float gr:QuantitativeValue gr:hasOpeningHoursSpecification gr:hasMaxValueFloat xsd:float gr:hasUnitOfMeasurement xsd:string gr:hasPriceSpecification gr:OpeningHoursSpecification gr:hasEligibleQuantity gr:opens xsd:time gr:closes xsd:time gr:acceptedPaymentMethods gr:DeliveryMethod gr:PriceSpecification gr:hasCurrency xsd:string gr:QuantitativeValueInteger gr:valueAddedTaxIncluded xsd:boolean gr:hasMaxValueInteger xsd:int gr:hasOpeningHoursDayOfWeek gr:hasMinValueInteger xsd:int gr:hasMaxCurrencyValue xsd:float gr:appliesToDeliveryMethod gr:hasMinCurrencyValue xsd:float gr:DayOfWeek gr:hasCurrencyValue xsd:float gr:DeliveryModeParcelService gr:DeliveryChargeSpecification gr:eligibleRegions xsd:string gr:UnitPriceSpecification gr:PaymentMethod gr:priceType xsd:string gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:hasUnitOfMeasurement xsd:string gr:appliesToPaymentMethod gr:PaymentChargeSpecification gr:PaymentMethodCreditCard gr:hasManufacturer 25.10.2009 25
  • 26. Key Questions for Modeling with GoodRelations • Who is making the offer? – gr:BusinessEntity • Which object is being offered? – gr:ActualProductOrServiceInstance – gr:ProductOrServicesSomeInstancesPlaceholder • What are the terms and conditions of the business transaction being offered? – gr:Offering 25.10.2009 26
  • 27. Key Questions for Modeling with GoodRelations gr:BusinessFunction gr:hasBusinessFunction gr:ActualProductOrServiceInstance gr:BusinessEntity gr:Offering gr:includes gr:hasNAICS xsd:int gr:offers gr:hasEAN_UCC-13 xsd:string gr:hasISICv4 xsd:int gr:hasGTIN-14 xsd:string gr:legalName xsd:string gr:hasStockKeepingUnit xsd:string gr:hasDUNS xsd:string gr:eligibleRegions xsd:string gr:hasGlobalLocationNumber xsd:string gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:hasPriceSpecification gr:UnitPriceSpecification gr:priceType xsd:string gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:hasUnitOfMeasurement xsd:string 25.10.2009 27
  • 28. The Minimal Scenario • Scope – Business entity – Points-of-sale – Opening hours – Payment options • Suitable for – Every business – E-commerce and brick-and-mortar 28
  • 29. The Minimal Scenario (UML & RDF/N3) 25.10.2009 29
  • 30. The Minimal Scenario: Full Graph 25.10.2009 30
  • 31. The Minimal Scenario: Graph - Details 25.10.2009 31
  • 32. The Minimal Scenario: Graph - Details 25.10.2009 32
  • 33. The Minimal Scenario: Graph - Details 25.10.2009 33
  • 34. The Simple Scenario • Scope: Minimal scenario plus – Range of products or services – Business functions – Eligible regions or customer types – Delivery options • Suitable for – Any business: E-Commerce and brick-and-mortar – Specific products or services 34
  • 35. Alternative Ways of Describing the Product or Service • gr:ProductOrServiceSomeInstancesPlaceholder + rdfs:comment – Textual • Product or service ontology – eclassOWL – freeClass • DBPedia URIs • Turn proprietary hierarchy into pseudo-ontology 25.10.2009 35
  • 36. The Simple Scenario: UML 25.10.2009 36
  • 37. The Simple Scenario: RDF/N3 - Details 25.10.2009 37
  • 38. The Simple Scenario: RDF/N3 - Full 25.10.2009 38
  • 39. The Simple Scenario: Full Graph 25.10.2009 39
  • 40. The Simple Scenario: Graph - Details 25.10.2009 40
  • 41. The Simple Scenario: Graph - Details 25.10.2009 41
  • 42. The Simple Scenario: Graph - Details 25.10.2009 42
  • 43. The Comprehensive Scenario • Scope: Simple scenario plus – Individual products or services – Product features – Pricing, rebates, etc. – Availability • Suitable for – Any business: E-commerce and brick-and-mortar – Specific products or services – Structured product database 43
  • 44. Alternative Ways of Describing the Product or Service • Omit it – Minimal Example: Describe just your business & store • gr:ProductOrServiceSomeInstancesPlaceholder + rdfs:comment – Textual • Product or service ontology – eclassOWL – freeClass • DBPedia URIs • Turn proprietary hierarchy into pseudo-ontology 25.10.2009 44
  • 45. The Comprehensive Example: UML 25.10.2009 45
  • 46. Product Properties • gr:qualitativeProductOrServiceProperty – Links to a gr:QualitativeValue instance • gr:quantitativeProductOrServiceProperty – Links to a gr:QuantitativeValueFloat or gr:QuantitativeValueInteger instance • gr:datatypeProductOrServiceProperty – Links to a literal value – For strings, boolean, datetime, and digits that are no integer numbers 25.10.2009 46
  • 47. Quantitative Values in GoodRelations gr:QuantitativeValueFloat gr:ProductOrService 30.5 rdf:type rdf:type gr:hasValueFloat foo:myTVSet foo:weight _value1 gr:hasUnitOfMeasurement GRM 47
  • 48. Units of Measurement: UN/CEFACT 25.10.2009 48
  • 49. All Point Values Are Value Ranges gr:QuantitativeValueFloat gr:ProductOrService rdf:type 30.5 rdf:type gr:hasMinValueFloat foo:myTVSet foo:weight _value1 gr:hasMaxValueFloat gr:hasUnitOfMeasurement 30.5 gr:QuantitativeValueFloat gr:ProductOrService 30.5 rdf:type rdf:type gr:hasValueFloat GRM foo:myTVSet foo:weight _value1 gr:hasUnitOfMeasurement GRM hasValueFloat rdfs:subPropertyOf hasMaxValueFloat, hasMinValueFloat hasValueInteger rdfs:subPropertyOf hasMaxValueInteger, hasMinValueInteger 49
  • 50. Values and Value Ranges: Example 25.10.2009 50
  • 51. Comprehensive Example: Basics 25.10.2009 51
  • 52. Product Bundles gr:Offering gr:hasEAN_UCC-13 xsd:string gr:includesObject gr:TypeAndQuantityNode gr:amountOfThisGood xsd:float gr:hasGTIN-14 xsd:string gr:hasUnitOfMeasurement xsd:string gr:hasStockKeepingUnit xsd:string gr:eligibleRegions xsd:string gr:typeOfGood gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:ProductOrServicesSomeInstancesPlaceholder 25.10.2009 52
  • 53. Internally, all offers are bundles gr:Offering gr:hasEAN_UCC-13 xsd:string gr:includesObject gr:TypeAndQuantityNode gr:amountOfThisGood xsd:float gr:hasGTIN-14 xsd:string gr:hasUnitOfMeasurement xsd:string gr:hasStockKeepingUnit xsd:string gr:eligibleRegions xsd:string gr:typeOfGood gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:ProductOrServicesSomeInstancesPlaceholder 25.10.2009 53
  • 54. The Comprehensive Scenario: Graph 54
  • 55. The Comprehensive Scenario RDF/N3 • See GoodRelations Primer at http://www.heppnetz.de/projects/goodrelations/primer/ 25.10.2009 55
  • 56. Using Domain Ontologies for Describing Products or Product Models 25.10.2009 56
  • 57. Instances, Placeholders, Models 25.10.2009 57
  • 58. eClassOWL and GoodRelations: Class 25.10.2009 58
  • 59. eClassOWL: Quantitative Properties 25.10.2009 59
  • 60. eClassOWL: Qualitative Properties & Values Property Value 25.10.2009 60
  • 61. eClassOWL 5.1.4 URIs • Class “Pencil“: 24-24-01-01 [ AKF303003 ] – eco:C_AKF303003-gen • Properties – Length, BAF559001 • eco:P_BAF559001 – Design of tip state, BAG073001 • eco:P_BAG073001 • Value “pointed”, BAC386001 – eco:V_BAC386001 25.10.2009 61
  • 62. eClassOWL 5.1.4 in N3/Turtle 25.10.2009 62
  • 63. eClassOWL 5.1.4 in N3/Turtle 25.10.2009 63
  • 64. Other Ontologies for GoodRelations • freeClassOWL for construction and building materials • CEO – Consumer Electronics Ontology 25.10.2009 64
  • 65. Product Model Data Scenario • Scope – Individual product models – Quantitative and qualitative features • Suitable for – Manufacturers of commodities 65
  • 66. Product Model Data 25.10.2009 66
  • 67. Important: Models cannot be sold 25.10.2009 67
  • 68. Product Models Define Default Values Intuition: An actual product inherits all technical features from its make and model, unless specified at for that particular individual specifically. 25.10.2009 68
  • 69. Buy Side: Wish Lists and Tenders gr:BusinessFunction gr:hasBusinessFunction gr:Offering gr:BusinessEntity gr:hasEAN_UCC-13 xsd:string gr:hasNAICS xsd:int gr:hasGTIN-14 xsd:string gr:hasISICv4 xsd:int gr:seeks gr:hasStockKeepingUnit xsd:string gr:legalName xsd:string gr:eligibleRegions xsd:string gr:hasDUNS xsd:string gr:validFrom xsd:dateTime gr:hasGlobalLocationNumber xsd:string gr:validThrough xsd:dateTime gr:includes gr:hasPriceSpecification gr:UnitPriceSpecification gr:ProductOrServicesSomeInstancesPlaceholder gr:priceType xsd:string gr:validFrom xsd:dateTime gr:validThrough xsd:dateTime gr:hasUnitOfMeasurement xsd:string 25.10.2009 69
  • 70. Quizzes • What is the difference between gr:ProductOrService and gr:ProductOrServiceModel? • What is the difference between gr:ActualProductOrService and gr:ProductOrServiceSomeInstancesPlaceholder? • How are quantitative values modeled in GoodRelations? • What does the string “C62” stand for? 25.10.2009 70
  • 71. Thank you. 25.10.2009 71

×