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 Service Update 2010-09-16

Martin Hepp martin.hepp at ebusiness-unibw.org
Fri Oct 8 01:34:21 CEST 2010

Dear all:

After thorough testing, we have just deployed a service update of the  
GoodRelations vocabulary at


It is 99.99% backwards compatible with all existing data and  

Please refresh your cashes!

The main changes are as follows:

1. Using gr:Offering becomes a lot easier for the simple case of just  
one product per offer.
Accordingly, the use of gr:ActualProductOrServiceInstance or  
gr:ProductOrServicesSomeInstancesPlaceholder becomes obsolete for  
marking up data in 90 % of the cases.

2. We defined typical properties for the product name, a description,  
the condition, weight, dimensions, and color directly in  
GoodRelations, so that using a second ontology for product features  
becomes unnecessary for just those standard properties.

3. For quantitative values, gr:QuantitativeValue can now be used as a  
fully-fledged value class, instead of just gr:QuantitativeValueFloat  
and gr:QuantitativeValueInteger. The latter remain valid.

4. We added a gr:addOn property that allows publishing optional  
extensions (additional services or components) that are available only  
in combination with the base offer.

5. There is now a gr:valueReference property for linking a value to  
one or more values that provide context for that value (e.g.  
temperature, revolutions per minute, etc.).

The full list of changes is attached below.

Best wishes

Martin Hepp


2010-09-16: Service Update Summary

	• Added gr:condition property
	• Changed the range of gr:includes to gr:ProductOrService, which  
allows much more concise markup in the general case of linking an  
offer of a single product to model data. Also updated the inference  
rules for expanding the shortcut (if the object of the triple is a  
gr:ProductOrServiceModel, one must create both gr:TypeAndQuantityNode  
and gr:ProductOrServicesSomeInstancesPlaceholder instances)
	• Changed the domain of gr:serialNumber to the union of gr:Offering  
and gr:ActualProductOrServiceInstance
	• Changed the domain of gr:hasInventoryLevel to the union of  
gr:Offering and gr:ProductOrServicesSomeInstancesPlaceholder
	• Added a gr:category property for attaching product category  
information in a lightweight manner if no dedicated ontology exists
	• Added a gr:name property as a shortcut for dc:title and rdfs:label
	• Added/reactivated the gr:description property as a shortcut for  
rdfs:comment and dcterms:description. Also changed the domain to  
	• Defined the product features gr:weight, gr:width, gr:height,  
gr:depth, and gr:color directly in GoodRelations
	• Added the range rdfs:Literal to gr:hasMinValue and gr:hasMaxValue  
so that they become fully usable for annotations (not just for  
queries, as originally).
	• Changed the cardinality recommendation for gr:hasMinValue and  
gr:hasMaxValue to 0..1 and updated their textual definition.
	• Added a gr:hasValue property, an rdfs:subPropertyOf of  
gr:hasMinValue and gr:hasMaxValue, which simplifies the markup for  
quantitative data without breaking existing content
	• Added the range rdfs:Literal to all text properties, i.e.  
gr:condition, gr:description, gr:legalName, and gr:category
	• Removed unused namespace declarations xmlns:swrl="http://www.w3.org/2003/11/swrl# 
" and xmlns:swrlb="http://www.w3.org/2003/11/swrlb#"
	• Added UN/CEFACT unit recommendations to gr:weight, gr:width,  
gr:height, and gr:depth
	• Updated the intro section: Removed  
gr:ActualProductOrServiceInstance and  
gr:ProductOrServicesSomeInstancesPlaceholder from the list of core  
classes, since they will be less important for very popular cases
	• Updated the UML class diagram accordingly
	• Added rdfs:isDefinedBy to all new elements
	• Fixed the rdfs:comment of gr:QualitativeValue
	• Polished the text of the ontology meta-data
	• Fixed the text of gr:BusinessEntity to make clear it can also be  
used with gr:seeks and that stores are  
	• Polished the text of gr:BusinessFunction
	• Updated the text of gr:Offering to reflect the new gr:includes  
shortcut to model data
	• Polished the text for gr:ProductOrService

2010-07-27: Service Update V (not officially deployed, thus also  
mentioned in here)

     * Added gr:hasMPN property
     * Changed the text of gr:hasStockKeepingUnit slightly in order to  
differentiate from hasMPN
     * Added gr:valueReference property
     * Added gr:addOn property
     * Added gr:Offering to the range of gr:hasEligibleQuantity and  
updated the text for gr:hasEligibleQuantity accordingly.

More information about the goodrelations mailing list