Warning: This tool or project is no longer maintained and kept available only for archival purposes. Since GoodRelations and schema.org have evolved significantly in the past years, the current status available on this page is unlikely to function as expected. We take no responsibility for any damage caused by the use of this outdated work, to the extent legally possible.

Due to a lack of resources, we are unable to provide support for this project outside of consulting projects or sponsored research. Please contact us if you can contribute resources to update and enhance these resources.

GoodRelations - The Web Vocabulary for E-Commerce

This is the archive of the goodrelations dicussion list

GoodRelations is a standardized vocabulary for product, price, and company data that can (1) be embedded into existing static and dynamic Web pages and that (2) can be processed by other computers. This increases the visibility of your products and services in the latest generation of search engines, recommender systems, and other novel applications.

[goodrelations] GoodRelations vs. Google RDFa vs. Open Graph vs. hProduct/hListing: Using GoodRelations in 10 Triples

Martin Hepp (UniBW) martin.hepp at ebusiness-unibw.org
Mon May 3 10:54:13 CEST 2010


Apologies - There were a few minor bugs in the initial markup:
- I forgot the business function.
- The datatype for the price was xsd:string instead of xsd:float.
- The legal name had no language tag.

Below are the correct examples.

Best wishes

Martin Hepp

Turtle
======
@prefix foo: <http://www.example.com/xyz#> .
@prefix gr: <http://purl.org/goodrelations/v1#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

foo:company a gr:BusinessEntity;
	gr:legalName "Hepp Space Ventures Inc."@en;
	gr:offers foo:offering.

foo:offering a gr:Offering;
	rdfs:label "Volkswagen Station Wagon, 4WD, 400 $"@en;
	rdfs:description "I sell my old Volkswagen Station Wagon, 4WD, for 400 
$"@en;
	gr:hasBusinessFunction gr:Sell;
	gr:hasPriceSpecification
		[ a gr:UnitPriceSpecification;
	  	  gr:hasCurrencyValue "400"^^xsd:float;
	  	  gr:hasCurrency "USD"^^xsd:string. ].

RDFa:
====
<div xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" 
xmlns="http://www.w3.org/1999/xhtml" 
xmlns:gr="http://purl.org/goodrelations/v1#" 
xmlns:foo="http://www.example.com/xyz#" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
    <div  about="http://www.example.com/xyz#company" 
typeof="gr:BusinessEntity">
     <div property="gr:legalName" content="Hepp Space Ventures Inc." 
xml:lang="en"></div>
     <div rel="gr:offers">
      <div about="http://www.example.com/xyz#offering" typeof="gr:Offering">
       <div property="rdfs:description" content="I sell my old 
Volkswagen Station Wagon, 4WD, for 400 $" xml:lang="en"></div>
       <div rel="gr:hasBusinessFunction" 
resource="http://purl.org/goodrelations/v1#Sell"></div>
       <div rel="gr:hasPriceSpecification">
          <div typeof="gr:UnitPriceSpecification">
           <div property="gr:hasCurrency" content="USD" 
datatype="xsd:string"></div>
           <div property="gr:hasCurrencyValue" content="400" 
datatype="xsd:float"></div>
          </div>
       </div>
       <div property="rdfs:label" content="Volkswagen Station Wagon, 
4WD, 400 $" xml:lang="en"></div>
      </div>
     </div>
    </div>
</div>

RDF/XML:
=======
<?xml version="1.0"?>
<rdf:RDF xmlns:gr="http://purl.org/goodrelations/v1#" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
xmlns:foo="http://www.example.com/xyz#" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" 
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
   <gr:BusinessEntity rdf:about="http://www.example.com/xyz#company">
     <gr:legalName xml:lang="en">Hepp Space Ventures Inc.</gr:legalName>
     <gr:offers>
       <gr:Offering rdf:about="http://www.example.com/xyz#offering">
         <rdfs:label xml:lang="en">Volkswagen Station Wagon, 4WD, 400 
$</rdfs:label>
         <rdfs:description xml:lang="en">I sell my old Volkswagen 
Station Wagon, 4WD, for 400 $</rdfs:description>
         <gr:hasBusinessFunction 
rdf:resource="http://purl.org/goodrelations/v1#Sell" />
         <gr:hasPriceSpecification>
           <gr:UnitPriceSpecification>
             <gr:hasCurrencyValue 
rdf:datatype="http://www.w3.org/2001/XMLSchema#float">400</gr:hasCurrencyValue>
             <gr:hasCurrency 
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">USD</gr:hasCurrency>
           </gr:UnitPriceSpecification>
         </gr:hasPriceSpecification>
       </gr:Offering>
     </gr:offers>
   </gr:BusinessEntity>
</rdf:RDF>





Dear all:

Some people think that the GoodRelations ontology for e-commerce 
(http://purl.org/goodrelations/) is powerful, but complex.
I think it is important for everybody in the community to know that 
GoodRelations can be as simple (or simpler) than any more lightweight 
approach for product markup, as long as you compare the same level of 
granularity.

Below, please find an example of offering a car for sales in just ten 
(!) triples.

Of course, you can do more with GoodRelations than just encoding a price 
and carrying the semantics of the product itself in a string.

The important message in here is that simple chunks of data are as 
simple in GoodRelations as they are in hProduct/hListing microformats, 
Google's RDFa vocabulary, or the Open Graph product markup.

The key difference is that GoodRelations has a much more extensible and, 
in my biased ;-) judgement: cleaner, conceptual model so that IF you 
have more granular data available, THEN you can expose it, and make your 
products more findable on the Web.

For example, GoodRelations distinguishes between products and product 
models / datasheets. That allows for powerful linking between individual 
items and rich technical specifications from the manufacturer's page.

The Open Graph approach seems to use a plain "topic" semantics, which 
mixes items, datasheets, and offers.

Please keep that in mind and spread the word.

Here is the markup.

Best wishes

Martin





-- 
--------------------------------------------------------------
martin hepp
e-business&  web science research group
universitaet der bundeswehr muenchen

e-mail:  hepp at ebusiness-unibw.org
phone:   +49-(0)89-6004-4217
fax:     +49-(0)89-6004-4620
www:     http://www.unibw.de/ebusiness/ (group)
          http://www.heppnetz.de/ (personal)
skype:   mfhepp
twitter: mfhepp

Check out GoodRelations for E-Commerce on the Web of Linked Data!
=================================================================

Project page:
http://purl.org/goodrelations/

Resources for developers:
http://www.ebusiness-unibw.org/wiki/GoodRelations

Webcasts:
Overview - http://www.heppnetz.de/projects/goodrelations/webcast/
How-to   - http://vimeo.com/7583816

Recipe for Yahoo SearchMonkey:
http://www.ebusiness-unibw.org/wiki/GoodRelations_and_Yahoo_SearchMonkey

Talk at the Semantic Technology Conference 2009:
"Semantic Web-based E-Commerce: The GoodRelations Ontology"
http://www.slideshare.net/mhepp/semantic-webbased-ecommerce-the-goodrelations-ontology-1535287

Overview article on Semantic Universe:
http://www.semanticuniverse.com/articles-semantic-web-based-e-commerce-webmasters-get-ready.html

Tutorial materials:
ISWC 2009 Tutorial: The Web of Data for E-Commerce in Brief: A Hands-on 
Introduction to the GoodRelations Ontology, RDFa, and Yahoo! SearchMonkey
http://www.ebusiness-unibw.org/wiki/Web_of_Data_for_E-Commerce_Tutorial_ISWC2009





More information about the goodrelations mailing list