GoodRelations Tutorial Part 3

1,437 views

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.

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,437
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

GoodRelations Tutorial Part 3

  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. The GoodRelations Ontology: E-Commerce on the Web of Data Martin Hepp 25.10.2009 3
  4. 4. GoodRelations User‘s Guide („Primer“) http://www.heppnetz.de/projects/goodrelations/primer/ 4
  5. 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. 6. GoodRelations: Language Reference http://purl.org/goodrelations/v1.html 6
  7. 7. Overview
  8. 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. 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. 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. 11. GoodRelations: License • Permanent, royalty-free access for commercial and non-commercial use. http://purl.org/goodrelations/ 11
  12. 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. 13. Domain Structure and Use Cases
  14. 14. Albert Einstein on Ontology Engineering "Make everything as simple as possible, but not simpler.“ Albert Einstein 14
  15. 15. Basic Structure of Offers: Agent-Promise-Object Principle Object or Agent 1 Promise Happening Compensation Transfer of Rights Agent 2 15
  16. 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. 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. 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. 19. Product Model Data Scenario • Scope – Individual product models – Quantitative and qualitative features • Suitable for – Manufacturers of commodities 19
  20. 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. 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. 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. 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. 24. Conceptual Structure and Vocabulary
  25. 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. 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. 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. 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. 29. The Minimal Scenario (UML & RDF/N3) 25.10.2009 29
  30. 30. The Minimal Scenario: Full Graph 25.10.2009 30
  31. 31. The Minimal Scenario: Graph - Details 25.10.2009 31
  32. 32. The Minimal Scenario: Graph - Details 25.10.2009 32
  33. 33. The Minimal Scenario: Graph - Details 25.10.2009 33
  34. 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. 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. 36. The Simple Scenario: UML 25.10.2009 36
  37. 37. The Simple Scenario: RDF/N3 - Details 25.10.2009 37
  38. 38. The Simple Scenario: RDF/N3 - Full 25.10.2009 38
  39. 39. The Simple Scenario: Full Graph 25.10.2009 39
  40. 40. The Simple Scenario: Graph - Details 25.10.2009 40
  41. 41. The Simple Scenario: Graph - Details 25.10.2009 41
  42. 42. The Simple Scenario: Graph - Details 25.10.2009 42
  43. 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. 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. 45. The Comprehensive Example: UML 25.10.2009 45
  46. 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. 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. 48. Units of Measurement: UN/CEFACT 25.10.2009 48
  49. 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. 50. Values and Value Ranges: Example 25.10.2009 50
  51. 51. Comprehensive Example: Basics 25.10.2009 51
  52. 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. 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. 54. The Comprehensive Scenario: Graph 54
  55. 55. The Comprehensive Scenario RDF/N3 • See GoodRelations Primer at http://www.heppnetz.de/projects/goodrelations/primer/ 25.10.2009 55
  56. 56. Using Domain Ontologies for Describing Products or Product Models 25.10.2009 56
  57. 57. Instances, Placeholders, Models 25.10.2009 57
  58. 58. eClassOWL and GoodRelations: Class 25.10.2009 58
  59. 59. eClassOWL: Quantitative Properties 25.10.2009 59
  60. 60. eClassOWL: Qualitative Properties & Values Property Value 25.10.2009 60
  61. 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. 62. eClassOWL 5.1.4 in N3/Turtle 25.10.2009 62
  63. 63. eClassOWL 5.1.4 in N3/Turtle 25.10.2009 63
  64. 64. Other Ontologies for GoodRelations • freeClassOWL for construction and building materials • CEO – Consumer Electronics Ontology 25.10.2009 64
  65. 65. Product Model Data Scenario • Scope – Individual product models – Quantitative and qualitative features • Suitable for – Manufacturers of commodities 65
  66. 66. Product Model Data 25.10.2009 66
  67. 67. Important: Models cannot be sold 25.10.2009 67
  68. 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. 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. 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. 71. Thank you. 25.10.2009 71

×