Modeling Product Models

From Wiki of the E-Business and Web Science Research Group

Jump to: navigation, search

Contents

Modeling Product Model Data Using the GoodRelations Ontology

Author: Martin Hepp

Abstract: On this page, we explain how the GoodRelations Ontology can be used to specify product models, like "Ford T", "Volkswagen Golf", "Thinkpad T60", and the like.

Prequisites: You need to understand the difference between a product model, a product class, and an actual product instance. Such is explained in the GoodRelations Primer and the GoodRelations Technical Report.

Note: If you want to include product features, you must use or create a products or services ontology like eClassOWL. See here for details.


Step-by-Step Example

Scenario: Assume we want to say that ACME Electronics produces a TV set model ACME Colorvision 123. It has a screensize of 20 centimeters.

Step 1: Define the namespaces and import the GoodRelations ontology and the respective ontology for products and services.

#Base: http://www.owl-ontologies.com/Ontology1218723903.owl#
@prefix toy: <http://www.heppnetz.de/ontologies/examples/toy#> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix default: <http://www.owl-ontologies.com/Ontology1218723903.owl#> .
@prefix protege: <http://protege.stanford.edu/plugins/owl/protege#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<http://www.owl-ontologies.com/Ontology1218723903.owl>
a owl:Ontology ;
owl:imports <http://www.heppnetz.de/ontologies/examples/toy> , <http://purl.org/goodrelations/v1> .


Step 2: Define the Business Entity, i.e. the manufacturer.

default:ACME_Electronics
  a gr:BusinessEntity ;
  gr:hasDUNS "123456789"^^xsd:string ;
  gr:legalName "ACME Electronics Ltd."^^xsd:string .

Step 3: Define the product model and its features.

default:Colorvision123
   a gr:ProductOrServiceModel , toy:TVSet ;
   gr:description "The ACME Model Colorvision 123"^^xsd:string ;
   gr:hasEAN_UCC-13 "1234567890123"^^xsd:string ;
   gr:hasManufacturer default:ACME_Electronics ;
   toy:hasScreenSize default:QuantitativeValueFloat_1 .
default:QuantitativeValueFloat_1
   a gr:QuantitativeValueFloat ;
   gr:hasUnitOfMeasurement "CMT"^^xsd:string ;
   gr:hasValueFloat "20"^^xsd:string .


Step 4: Express that the manufacturer is also selling unknown instances of this model (if needed).

default:ACMESellingInstances
   a gr:Offering ;
   gr:eligibleCustomerTypes gr:Reseller ;
   gr:hasBusinessFunction gr:Sell ;
   gr:includesObject default:TypeAndQuantityNode_3 ;
   gr:validFrom "2008-08-14T16:40:50"^^xsd:dateTime ;
   gr:validThrough "2009-08-14T16:40:54"^^xsd:dateTime .
default:SomeACMETVSets
   a gr:ProductOrServicesSomeInstancesPlaceholder , toy:TVSet ;
   gr:hasMakeAndModel default:Colorvision123 .
default:TypeAndQuantityNode_3
   a gr:TypeAndQuantityNode ;
   gr:amountOfThisGood "1.0"^^xsd:float ;
   gr:hasUnitOfMeasurement "C62"^^xsd:string ;
   gr:typeOfGood default:SomeACMETVSets .

Step 5: Make your RDF data known!

Don't forget to make your RDF data known: http://pingthesemanticweb.com/


Full Example in N3 Notation

#Base: http://www.owl-ontologies.com/Ontology1218723903.owl#
@prefix toy: <http://www.heppnetz.de/ontologies/examples/toy#> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix default: <http://www.owl-ontologies.com/Ontology1218723903.owl#> .
@prefix protege: <http://protege.stanford.edu/plugins/owl/protege#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .

<http://www.owl-ontologies.com/Ontology1218723903.owl>
a owl:Ontology ;
owl:imports <http://www.heppnetz.de/ontologies/examples/toy> , <http://purl.org/goodrelations/v1> .

default:ACME_Electronics
   a gr:BusinessEntity ;
   gr:hasDUNS ""^^xsd:string ;
   gr:legalName ""^^xsd:string .

default:Colorvision123
   a gr:ProductOrServiceModel , toy:TVSet ;
   rdfs:comment "The ACME Model Colorvision 123"^^xsd:string ;
   gr:description "The ACME Model Colorvision 123"^^xsd:string ;
   gr:hasEAN_UCC-13 "1234567890123"^^xsd:string ;
   gr:hasManufacturer default:ACME_Electronics ;
   toy:hasScreenSize default:QuantitativeValueFloat_1 .

default:QuantitativeValueFloat_1
   a gr:QuantitativeValueFloat ;
   gr:hasUnitOfMeasurement "CMT"^^xsd:string ;
   gr:hasValueFloat "20"^^xsd:string .

default:ACMESellingInstances
   a gr:Offering ;
   gr:eligibleCustomerTypes gr:Reseller ;
   gr:hasBusinessFunction gr:Sell ;
   gr:includesObject default:TypeAndQuantityNode_3 ;
   gr:validFrom "2008-08-14T16:40:50"^^xsd:dateTime ;
   gr:validThrough "2009-08-14T16:40:54"^^xsd:dateTime.

default:SomeACMETVSets
   a gr:ProductOrServicesSomeInstancesPlaceholder , toy:TVSet ;
   gr:hasMakeAndModel default:Colorvision123 .

default:TypeAndQuantityNode_3
   a gr:TypeAndQuantityNode ;
   gr:amountOfThisGood "1.0"^^xsd:float ;
   gr:hasUnitOfMeasurement "C62"^^xsd:string ;
   gr:typeOfGood default:SomeACMETVSets .



Personal tools
Navigation