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
Turtle/N3:
=========
@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.";
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:hasPriceSpecification
[ a gr:UnitPriceSpecification;
gr:hasCurrencyValue "400"^^xsd:string;
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."></div>
<div rel="gr:offers">
<div about="http://www.example.com/xyz#offering" typeof="gr:Offering">
<div property="rdfs:label" content="Volkswagen Station Wagon, 4WD, 400
$" xml:lang="en"></div>
<div property="rdfs:description" content="I sell my old Volkswagen
Station Wagon, 4WD, for 400 $" xml:lang="en"></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:string"></div>
</div>
</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>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:hasPriceSpecification>
<gr:UnitPriceSpecification>
<gr:hasCurrencyValue
rdf:datatype="http://www.w3.org/2001/XMLSchema#string">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>
--
--------------------------------------------------------------
martin hepp
e-business& web science research group
universitaet der bundeswehr muenchen
e-mail: h...@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