University of Oxford

Open Data about the University of Oxford

data.ox.ac.uk

beta

GoodRelations Ontology

http://purl.org/goodrelations/
The GoodRelations ontology provides the vocabulary for annotating e-commerce offerings (1) to sell, lease, repair, dispose, or maintain commodity products and (2) to provide commodity services.

GoodRelations allows describing the relationship between (1) Web resources, (2) offerings made by those Web resources, (3) legal entities, (4) prices, (5) terms and conditions, and the aforementioned ontologies for products and services (6).

For more information, see http://purl.org/goodrelations/

Note: The base URI of GoodRelations is http://purl.org/goodrelations/v1. Please make sure you are only using element identifiers in this namespace, e.g. http://purl.org/goodrelations/v1#BusinessEntity. There may be copies of the ontology file on the Web which can be retrieved from other locations, BUT THOSE LOCATIONS MUST NOT BE USED AS THE BASIS OF IDENTIFIERS.

If you use GoodRelations for scientific purposes, please cite our paper:

Hepp, Martin: GoodRelations: An Ontology for Describing Products and Services Offers on the Web, Proceedings of the 16th International Conference on Knowledge Engineering and Knowledge Management (EKAW2008), September 29 - October 3, 2008, Acitrezza, Italy, Springer LNCS, Vol. 5268, pp. 332-347.

PDF at http://www.heppnetz.de/publications/
Contributor
Work on the GoodRelations ontology and related research and development has been partly supported by the Austrian BMVIT/FFG under the FIT-IT Semantic Systems project myOntology (grant no. 812515/9284), by a Young Researcher's Grant (Nachwuchsfoerderung 2005-2006) from the Leopold-Franzens-Universitaet Innsbruck, by the European Commission under the project SUPER (FP6-026850), and by the German Federal Ministry of Research (BMBF) by a grant under the KMU Innovativ program as part of the Intelligent Match project (FKZ 01IS10022B). The
Creator
Martin Hepp
Rights
The GoodRelations ontology is available under the Creative Commons Attribution 3.0 Unported license; see http://creativecommons.org/licenses/by/3.0/. In a nutshell, you are free to copy, distribute and transmit the work; to remix/adapt the work (e.g. to import the ontology and create specializations of its elements), as long as you attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). Proper Attribution: Simply include the statement "This work is based on the GoodRelations ontology, developed by Martin Hepp" and link back to http://purl.org/goodrelations/
Subject
E-Commerce, E-Business, GoodRelations, Microdata, Ontology, Semantic SEO, RDFa, Linked Data, RDF, Semantic Web, Recommender Systems
Title
The GoodRelations Vocabulary for Semantic Web-based E-Commerce
License
type
comment
The GoodRelations ontology provides the vocabulary for annotating e-commerce offerings (1) to sell, lease, repair, dispose, or maintain commodity products and (2) to provide commodity services.

GoodRelations allows describing the relationship between (1) Web resources, (2) offerings made by those Web resources, (3) legal entities, (4) prices, (5) terms and conditions, and the aforementioned ontologies for products and services (6).

For more information, see http://purl.org/goodrelations/

Note: The base URI of GoodRelations is http://purl.org/goodrelations/v1. Please make sure you are only using element identifiers in this namespace, e.g. http://purl.org/goodrelations/v1#BusinessEntity. There may be copies of the ontology file on the Web which can ...
label
GoodRelations Ontology
versionInfo
V 1.0, Release 2011-10-01
foaf:homepage

Classes

URI Label Comment
gr:ActualProductOrServiceInstance
gr:ProductOrService
gr:Individual
Actual product or service instance (DEPRECATED) DEPRECATED - This class is superseded by gr:Individual. Replace all occurrences of gr:ActualProductOrServiceInstance by gr:Individual, if possible.
gr:Brand
gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Brand A brand is the identity of a specific product, service, or business. Use foaf:logo for attaching a brand logo and gr:name or rdfs:label for attaching the brand name. (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Brand)
gr:BusinessEntity
org:FormalOrganization
(http://schema.org/Personhttp://schema.org/Organization)
gr:Brand, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Business entity An instance of this class represents the legal agent making (or seeking) a particular offering. This can be a legal body or a person. A business entity has at least a primary mailing address and contact details. For this, typical address standards (vCard) and location data (geo, WGS84) can be attached. Note that the location of the business entity is not necessarily the location from which the product or service is being available (e.g. the branch or store). Use gr:Location for stores and branches. Example: Siemens Austria AG, Volkswagen Ltd., Peter Miller's Cell phone Shop LLC Compatibility with schema.org: This class is equivalent to the union of http://schema.org/Person and http://schema.org/Organization.
gr:BusinessEntityType
gr:Brand, gr:BusinessEntity, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Business entity type A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of a gr:BusinessEntity. From the ontological point of view, business entity types are mostly roles that a business entity has in the market. Business entity types are important for specifying eligible customers, since a gr:Offering is often valid only for business entities of a certain size, legal structure, or role in the value chain. Examples: Consumers, Retailers, Wholesalers, or Public Institutions
gr:BusinessFunction
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Business function The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the gr:BusinessEntity on the gr:ProductOrService through the gr:Offering. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Licenses and other proprietary specifications of access rights are also instances of this class. Examples: A particular offering made by Miller Rentals Ltd. says that they (1) sell Volkswagen Golf convertibles, (2) lease out a particular Ford pick-up truck, and (3) dispose car wrecks of any make and model.
gr:DayOfWeek
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Day of week The day of the week, used to specify to which day the opening hours of a gr:OpeningHoursSpecification refer. Examples: Monday, Tuesday, Wednesday,...
gr:DeliveryChargeSpecification
gr:PriceSpecification
gr:PaymentChargeSpecification, gr:UnitPriceSpecification
Delivery charge specification A delivery charge specification is a conceptual entity that specifies the additional costs asked for the delivery of a given gr:Offering using a particular gr:DeliveryMethod by the respective gr:BusinessEntity. A delivery charge specification is characterized by (1) a monetary amount per order, specified as a literal value of type float in combination with a currency, (2) the delivery method, (3) the target country or region, and (4) whether this charge includes local sales taxes, namely VAT. A gr:Offering may be linked to multiple gr:DeliveryChargeSpecification nodes that specify alternative charges for disjoint combinations of target countries or regions, and delivery methods. Examples: Delivery by direct download is free of charge worldwide, delivery by UPS to Germany is 10 Euros per order, delivery by mail within the US is 5 Euros per order. The total amount of this charge is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded property. The gr:DeliveryMethod to which this charge applies is specified using the gr:appliesToDeliveryMethod object property. The region or regions to which this charge applies is specified using the gr:eligibleRegions property, which uses ISO 3166-1 and ISO 3166-2 codes. If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds. Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.
gr:DeliveryMethod
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Delivery method A delivery method is a standardized procedure for transferring the product or service to the destination of fulfilment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending gr:BusinessEntity (this is important, since the contracted party may subcontract the fulfilment to smaller, regional businesses). Examples: Delivery by mail, delivery by direct download, delivery by UPS
gr:DeliveryModeParcelService
gr:DeliveryMethod
Delivery mode parcel service A private parcel service as the delivery mode available for a certain offering. Examples: UPS, DHL
gr:Individual
http://schema.org/Product, gr:ProductOrService
gr:ActualProductOrServiceInstance
gr:ProductOrServiceModel, gr:SomeItems
Individual A gr:Individual is an actual product or service instance, i.e., a single identifiable object or action that creates some increase in utility (in the economic sense) for the individual possessing or using this very object (product) or for the individual in whose favor this very action is being taken (service). Products or services are types of goods in the economic sense. For an overview of goods and commodities in economics, see Milgate (1987). Examples: MyThinkpad T60, the pint of beer standing in front of me, my Volkswagen Golf, the haircut that I received or will be receiving at a given date and time. Note 1: In many cases, product or service instances are not explicitly exposed on the Web but only claimed to exist (i.e. existentially quantified). In this case, use gr:SomeItems. Note 2: This class is the new, shorter form of the former gr:ActualProductOrServiceInstance. Compatibility with schema.org: This class is a subclass of http://schema.org/Product.
gr:License
gr:BusinessFunction
License A license is the specification of a bundle of rights that determines the type of activity or access offered by the gr:BusinessEntity on the gr:ProductOrService through the gr:Offering. Licenses can be standardized (e.g. LPGL, Creative Commons, ...), vendor-specific, or individually defined for a single offer or product. Whether there is a fee for obtaining the license is specified using the gr:UnitPriceSpecification attached to the gr:Offering. Use foaf:page for linking to a document containing the license, e.g. in PDF or HTML.
gr:Location
gr:LocationOfSalesOrServiceProvisioning
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Location A location is a point or area of interest from which a particular product or service is available, e.g. a store, a bus stop, a gas station, or a ticket booth. The difference to gr:BusinessEntity is that the gr:BusinessEntity is the legal entity (e.g. a person or corporation) making the offer, while gr:Location is the store, office, or place. A chain restaurant will e.g. have one legal entity but multiple restaurant locations. Locations are characterized by an address or geographical position and a set of opening hour specifications for various days of the week. Example: A rental car company may offer the Business Function Lease Out of cars from two locations, one in Fort Myers, Florida, and one in Boston, Massachussetts. Both stations are open 7:00 - 23:00 Mondays through Saturdays. Note: Typical address standards (vcard) and location data (geo, WGC84) should be attached to a gr:Location node. Since there already exist established vocabularies for this, the GoodRelations ontology does not provide respective attributes. Instead, the use of respective vocabularies is recommended. However, the gr:hasGlobalLocationNumber property is provided for linking to public identifiers for business locations. Compatibility with schema.org: This class is equivalent to http://schema.org/Place.
gr:LocationOfSalesOrServiceProvisioning
gr:Location
Location of sales or service provisioning (DEPRECATED) DEPRECATED - This class is superseded by gr:Location. Replace all occurrences of gr:LocationOfSalesOrServiceProvisioning by gr:Location, if possible.
gr:N-Ary-Relations N-ary relations (DEPRECATED) This is the superclass for all classes that are placeholders for n-ary relations, which OWL cannot represent. DEPRECATED. Do not use this class in data or queries.
gr:Offering
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QualitativeValue, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Offering An offering represents the public, not necessarily binding, not necessarily exclusive, announcement by a gr:BusinessEntity to provide (or seek) a certain gr:BusinessFunction for a certain gr:ProductOrService to a specified target audience. An offering is specified by the type of product or service or bundle it refers to, what business function is being offered (sales, rental, ...), and a set of commercial properties. It can either refer to (1) a clearly specified instance (gr:Individual), (2) to a set of anonymous instances of a given type (gr:SomeItems), (3) a product model specification (gr:ProductOrServiceModel), see also section 3.3.3 of the GoodRelations Technical Report. An offering may be constrained in terms of the eligible type of business partner, countries, quantities, and other commercial properties. The definition of the commercial properties, the type of product offered, and the business function are explained in other parts of this vocabulary in more detail. Example: Peter Miller offers to repair TV sets made by Siemens, Volkswagen Innsbruck sells a particular instance of a Volkswagen Golf at $10,000. Compatibility with schema.org: This class is a superclass to http://schema.org/Offer, since gr:Offering can also represent demand.
gr:OpeningHoursSpecification
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Opening hours specification This is a conceptual entity that holds together all information about the opening hours on a given day (gr:DayOfWeek).
gr:PaymentChargeSpecification
gr:PriceSpecification
gr:DeliveryChargeSpecification, gr:UnitPriceSpecification
Payment charge specification A payment charge specification is a conceptual entity that specifies the additional costs asked for settling the payment after accepting a given gr:Offering using a particular gr:PaymentMethod. A payment charge specification is characterized by (1) a monetary amount per order specified as a literal value of type float in combination with a Currency, (2) the payment method, and (3) a whether this charge includes local sales taxes, namely VAT. A gr:Offering may be linked to multiple payment charge specifications that specify alternative charges for various payment methods. Examples: Payment by VISA or Mastercard costs a fee of 3 Euros including VAT, payment by bank transfer in advance is free of charge. The total amount of this surcharge is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property. The gr:PaymentMethod to which this charge applies is specified using the gr:appliesToPaymentMethod object property. If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds. Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue.
gr:PaymentMethod
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PriceSpecification, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Payment method A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction. This element is mostly used for specifying the types of payment accepted by a gr:BusinessEntity. Examples: VISA, MasterCard, Diners, cash, or bank transfer in advance.
gr:PaymentMethodCreditCard
gr:PaymentMethod
Payment method credit card The subclass of gr:PaymentMethod represents all variants and brands of credit or debit cards as a standardized procedure for transferring the monetary amount for a purchase. It is mostly used for specifying the types of payment accepted by a gr:Business Entity. Examples: VISA, MasterCard, or American Express.
gr:PriceSpecification
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Price specification The superclass of all price specifications.
gr:ProductOrService
gr:Brand, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Offering, gr:OpeningHoursSpecification, gr:PriceSpecification, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Product or service The superclass of all classes describing products or services types, either by nature or purpose. Examples for such subclasses are "TV set", "vacuum cleaner", etc. An instance of this class can be either an actual product or service (gr:Individual), a placeholder instance for unknown instances of a mass-produced commodity (gr:SomeItems), or a model / prototype specification (gr:ProductOrServiceModel). When in doubt, use gr:SomeItems. Examples: a) MyCellphone123, i.e. my personal, tangible cell phone (gr:Individual) b) Siemens1234, i.e. the Siemens cell phone make and model 1234 (gr:ProductOrServiceModel) c) dummyCellPhone123 as a placeholder for actual instances of a certain kind of cell phones (gr:SomeItems) Note: Your first choice for specializations of gr:ProductOrService should be http://www.productontology.org. Compatibility with schema.org: This class is (approximately) equivalent to http://schema.org/Product.
gr:ProductOrServiceModel
http://schema.org/Product, gr:ProductOrService
gr:Brand, gr:BusinessEntity, gr:Individual, gr:SomeItems
Product or service model A product or service model is a intangible entity that specifies some characteristics of a group of similar, usually mass-produced products, in the sense of a prototype. In case of mass-produced products, there exists a relation gr:hasMakeAndModel between the actual product or service (gr:Individual or gr:SomeItems) and the prototype (gr:ProductOrServiceModel). GoodRelations treats product or service models as "prototypes" instead of a completely separate kind of entities, because this allows using the same domain-specific properties (e.g. gr:weight) for describing makes and models and for describing actual products. Examples: Ford T, Volkswagen Golf, Sony Ericsson W123 cell phone Note: An actual product or service (gr:Individual) by default shares the features of its model (e.g. the weight). However, this requires non-standard reasoning. See http://wiki.goodrelations-vocabulary.org/Axioms for respective rule sets. Compatibility with schema.org: This class is (approximately) a subclass of http://schema.org/Product.
gr:ProductOrServicesSomeInstancesPlaceholder
gr:ProductOrService
gr:SomeItems
Product or services some instances placeholder (DEPRECATED) DEPRECATED - This class is superseded by gr:SomeItems. Replace all occurrences of gr:ProductOrServicesSomeInstancesPlaceholder by gr:SomeItems, if possible.
gr:QualitativeValue
gr:Offering, gr:QuantitativeValue, gr:TypeAndQuantityNode
Qualitative value A qualitative value is a predefined value for a product characteristic. Examples: the color "green" or the power cord plug type "US"; the garment sizes "S", "M", "L", and "XL". Note: Value sets are supported by creating subclasses of this class. Ordinal relations between values (gr:greater, gr:lesser, ...) are provided directly by GoodRelations. Compatibility with schema.org: This class is equivalent to http://schema.org/Enumeration.
gr:QuantitativeValue
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QualitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise, gr:WarrantyScope
Quantitative value A quantitative value is a numerical interval that represents the range of a certain gr:quantitativeProductOrServiceProperty in terms of the lower and upper bounds for a particular gr:ProductOrService. It is to be interpreted in combination with the respective unit of measurement. Most quantitative values are intervals even if they are in practice often treated as a single point value. Example: a weight between 10 and 25 kilogramms, a length between 10 and 15 milimeters. Compatibility with schema.org: This class is equivalent to http://schema.org/Quantity.
gr:QuantitativeValueFloat
gr:QuantitativeValue
gr:QuantitativeValueInteger
Quantitative value float An instance of this class is an actual float value for a quantitative property of a product. This instance is usually characterized by a minimal value, a maximal value, and a unit of measurement. Examples: The intervals "between 10.0 and 25.4 kilogramms" or "10.2 and 15.5 milimeters". Compatibility with schema.org: This class is a subclass of http://schema.org/Quantity.
gr:QuantitativeValueInteger
gr:QuantitativeValue
gr:QuantitativeValueFloat
Quantitative value integer An instance of this class is an actual integer value for a quantitative property of a product. This instance is usually characterized by a minimal value, a maximal value, and a unit of measurement. Example: A seating capacity between 1 and 8 persons. Note: Users must keep in mind that ranges in here mean that ALL possible values in this interval are covered. (Sometimes, the actual commitment may be less than that: "We sell cars from 2 - 12 seats" does often not really mean that they have cars with 2,3,4,...12 seats.). Someone renting out two types of rowing boats, one that fits for 1 or 2 people, and another that must be operated by 4 people cannot claim to rent boats with a seating capacity between 1 and 4 people. He or she is offering two boat types for 1-2 and 4 persons. Compatibility with schema.org: This class is a subclass of http://schema.org/Quantity.
gr:SomeItems
http://schema.org/Product, gr:ProductOrService
gr:ProductOrServicesSomeInstancesPlaceholder
gr:Individual, gr:ProductOrServiceModel
Some items A placeholder instance for unknown instances of a mass-produced commodity. This is used as a computationally cheap work-around for such instances that are not individually exposed on the Web but just stated to exist (i.e., which are existentially quantified). Example: An instance of this class can represent an anonymous set of green Siemens1234 phones. It is different from the gr:ProductOrServiceModel Siemens1234, since this refers to the make and model, and it is different from a particular instance of this make and model (e.g. my individual phone) since the latter can be sold only once. Note: This class is the new, shorter form of the former gr:ProductOrServicesSomeInstancesPlaceholder. Compatibility with schema.org: This class is (approximately) a subclass of http://schema.org/Product.
gr:TypeAndQuantityNode
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QualitativeValue, gr:QuantitativeValue, gr:WarrantyPromise, gr:WarrantyScope
Type and quantity node This class collates all the information about a gr:ProductOrService included in a bundle. If a gr:Offering contains just one item, you can directly link from the gr:Offering to the gr:ProductOrService using gr:includes. If the offering contains multiple items, use an instance of this class for each component to indicate the quantity, unit of measurement, and type of product, and link from the gr:Offering via gr:includesObject. Example: An offering may include of 100g of Butter and 1 kg of potatoes, or 1 cell phone and 2 headsets.
gr:UnitPriceSpecification
gr:PriceSpecification
gr:DeliveryChargeSpecification, gr:PaymentChargeSpecification
Unit price specification A unit price specification is a conceptual entity that specifies the price asked for a given gr:Offering by the respective gr:Business Entity. An offering may be linked to multiple unit price specifications that specify alternative prices for non-overlapping sets of conditions (e.g. quantities or sales regions) or with differing validity periods. A unit price specification is characterized by (1) the lower and upper limits and the unit of measurement of the eligible quantity, (2) by a monetary amount per unit of the product or service, and (3) whether this prices includes local sales taxes, namely VAT. Example: The price, including VAT, for 1 kg of a given material is 5 Euros per kg for 0 - 5 kg and 4 Euros for quantities above 5 kg. The eligible quantity interval for a given price is specified using the object property gr:hasEligibleQuantity, which points to an instance of gr:QuantitativeValue. The currency is specified using the gr:hasCurrency property, which points to an ISO 4217 currency code. The unit of measurement for the eligible quantity is specified using the gr:hasUnitOfMeasurement datatype property, which points to an UN/CEFACT Common Code (3 characters). In most cases, the appropriate unit of measurement is the UN/CEFACT Common Code "C62" for "Unit or piece", since a gr:Offering is defined by the quantity and unit of measurement of all items included (e.g. "1 kg of bananas plus a 2 kg of apples"). As long at the offering consists of only one item, it is also possible to use an unit of measurement of choice for specifying the price per unit. For bundles, however, only "C62" for "Unit or piece" is a valid unit of measurement. You can assume that the price is given per unit or piece if there is no gr:hasUnitOfMeasurement property attached to the price. Whether VAT and sales taxes are included in this price is specified using the property gr:valueAddedTaxIncluded (xsd:boolean). The price per unit of measurement is specified as a float value of the gr:hasCurrencyValue property. The currency is specified via the gr:hasCurrency datatype property. Whether the price includes VAT or not is indicated by the gr:valueAddedTaxIncluded datatype property. The property priceType can be used to indicate that the price is a retail price recommendation only (i.e. a list price). If the price can only be given as a range, use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue for the upper and lower bounds. Important: When querying for the price, always use gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue. Note 1: Due to the complexity of pricing scenarios in various industries, it may be necessary to create extensions of this fundamental model of price specifications. Such can be done easily by importing and refining the GoodRelations ontology. Note 2: For Google, attaching a gr:validThrough statement to a gr:UnitPriceSpecification is mandatory.
gr:WarrantyPromise
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyScope
Warranty promise This is a conceptual entity that holds together all aspects of the n-ary relation gr:hasWarrantyPromise. A Warranty promise is an entity representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of the gr:ProductOrService. A warranty promise is characterized by its temporal duration (usually starting with the date of purchase) and its gr:WarrantyScope. The warranty scope represents the types of services provided (e.g. labor and parts, just parts) of the warranty included in an gr:Offering. The actual services may be provided by the gr:BusinessEntity making the offering, by the manufacturer of the product, or by a third party. There may be multiple warranty promises associated with a particular offering, which differ in duration and scope (e.g. pick-up service during the first 12 months, just parts and labor for 36 months). Examples: 12 months parts and labor, 36 months parts
gr:WarrantyScope
gr:Brand, gr:BusinessEntity, gr:BusinessEntityType, gr:BusinessFunction, gr:DayOfWeek, gr:DeliveryMethod, gr:Location, gr:Offering, gr:OpeningHoursSpecification, gr:PaymentMethod, gr:PriceSpecification, gr:ProductOrService, gr:QuantitativeValue, gr:TypeAndQuantityNode, gr:WarrantyPromise
Warranty scope The warranty scope represents types of services that will be provided free of charge by the vendor or manufacturer in the case of a defect (e.g. labor and parts, just parts), as part of the warranty included in an gr:Offering. The actual services may be provided by the gr:BusinessEntity making the offering, by the manufacturer of the product, or by a third party. Examples: Parts and Labor, Parts

Properties

URI Label Comment
gr:acceptedPaymentMethods
(gr:Offeringhttp://schema.org/Offer) ↦ gr:PaymentMethod
accepted payment methods (0..*) The gr:PaymentMethod or methods accepted by the gr:BusinessEntity for the given gr:Offering.
gr:addOn
(gr:Offeringhttp://schema.org/Offer) ↦ gr:Offering
add-on (0..*) This property points from a gr:Offering to additional offerings that can only be obtained in combination with the first offering. This can be used to model supplements and extensions that are available for a surcharge. Any gr:PriceSpecification attached to the secondary offering is to be understood as an additional charge.
gr:advanceBookingRequirement
(gr:Offeringhttp://schema.org/Offer) ↦ gr:QuantitativeValueInteger
advance booking requirement (0..1) The minimal and maximal amount of time that is required between accepting the gr:Offering and the actual usage of the resource or service. This is mostly relevant for offers regarding hotel rooms, the rental of objects, or the provisioning of services. The duration is specified relatively to the beginning of the usage of the contracted object. It is represented by attaching an instance of the class gr:QuantitativeValueInteger. The lower and upper boundaries are specified using the properties gr:hasMinValueInteger and gr:hasMaxValueInteger to that instance. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON (months), DAY (days), HUR (hours), or MIN (minutes). The difference to the gr:validFrom and gr:validThrough properties is that those specify the interval during which the gr:Offering is valid, while gr:advanceBookingRequirement specifies the acceptable relative amount of time between accepting the offer and the fulfilment or usage.
gr:appliesToDeliveryMethod
gr:DeliveryChargeSpecificationgr:DeliveryMethod
applies to delivery method (0..*) This property specifies the gr:DeliveryMethod to which the gr:DeliveryChargeSpecification applies.
gr:appliesToPaymentMethod
gr:PaymentChargeSpecificationgr:PaymentMethod
applies to payment method (1..*) This property specifies the gr:PaymentMethod to which the gr:PaymentChargeSpecification applies.
gr:availableAtOrFrom
(gr:Offeringhttp://schema.org/Offer) ↦ gr:Location
available at or from (0..*) This states that a particular gr:Offering is available at or from the given gr:Location (e.g. shop or branch).
gr:availableDeliveryMethods
(gr:Offeringhttp://schema.org/Offer) ↦ gr:DeliveryMethod
available delivery methods (0..*) This specifies the gr:DeliveryMethod or methods available for a given gr:Offering.
gr:deliveryLeadTime
(gr:Offeringhttp://schema.org/Offer) ↦ gr:QuantitativeValueInteger
delivery lead time (0..1) This property can be used to indicate the promised delay between the receipt of the order and the goods leaving the warehouse. The duration is specified by attaching an instance of gr:QuantitativeValueInteger. The lower and upper boundaries are specified using the properties gr:hasMinValueInteger and gr:hasMaxValueInteger to that instance. A point value can be modeled with the gr:hasValueInteger property. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON (months), DAY (days), HUR (hours), or MIN (minutes).
gr:depth
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QuantitativeValue
gr:quantitativeProductOrServiceProperty
depth (0..1) The depth of the product. Typical unit code(s): CMT for centimeters, INH for inches
gr:displayPosition display position (0..1) The position at which the option or element should be listed in a menu or user dialog, lower numbers come first. The main usage of this property are the days of the week (gr:DayOfWeek), but it is also possible to apply it e.g. to product features or any other conceptual element. Note: Rely on this property only for data originating from a single RDF graph; otherwise, unpredictable results are possible.
gr:eligibleCustomerTypes
(gr:Offeringhttp://schema.org/Offer) ↦ gr:BusinessEntityType
eligible customer types (0..*) The types of customers (gr:BusinessEntityType) for which the given gr:Offering is valid.
gr:eligibleDuration
(gr:Offeringgr:Licensehttp://schema.org/Offer) ↦ gr:QuantitativeValue
eligible duration (0..1) The minimal and maximal duration for which the given gr:Offering or gr:License is valid. This is mostly used for offers regarding accommodation, the rental of objects, or software licenses. The duration is specified by attaching an instance of gr:QuantitativeValue. The lower and upper boundaries are specified using the properties gr:hasMinValue and gr:hasMaxValue to that instance. If they are the same, use the gr:hasValue property. The unit of measurement is specified using the property gr:hasUnitOfMeasurement with a string holding a UN/CEFACT code suitable for durations, e.g. MON (months), DAY (days), HUR (hours), or MIN (minutes). The difference to the gr:validFrom and gr:validThrough properties is that those specify the absiolute interval during which the gr:Offering or gr:License is valid, while gr:eligibleDuration specifies the acceptable duration of the contract or usage.
gr:eligibleTransactionVolume
(gr:Offeringgr:PriceSpecificationhttp://schema.org/Offer) ↦ gr:PriceSpecification
eligible transaction volume (0..1) This property can be used to indicate the transaction volume, in a monetary unit, for which the gr:Offering or gr:PriceSpecification is valid. This is mostly used to specify a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases above a certain amount. The object is a gr:PriceSpecification that uses the properties gr:hasMaxCurrencyValue and gr:hasMinCurrencyValue to indicate the lower and upper boundaries and gr:hasCurrency to indicate the currency using the ISO 4217 standard (3 characters).
gr:equal
gr:QualitativeValuegr:QualitativeValue
equal (0..*) This ordering relation for qualitative values indicates that the subject is equal to the object.
gr:greater
gr:QualitativeValuegr:QualitativeValue
greater (0..*) This ordering relation for qualitative values indicates that the subject is greater than the object.
gr:greaterOrEqual
gr:QualitativeValuegr:QualitativeValue
greater or equal (0..*) This ordering relation for qualitative values indicates that the subject is greater than or equal to the object.
gr:hasPOS
(gr:BusinessEntityhttp://schema.org/Organization) ↦ gr:Location
has POS (0..*) This property states that the respective gr:Location is a point of sale for the respective gr:BusinessEntity. It allows linking those two types of entities without the need for a particular gr:Offering.
gr:hasBrand
(gr:BusinessEntitygr:ProductOrServicehttp://schema.org/Organizationhttp://schema.org/Product) ↦ gr:Brand
has brand (0..*) This specifies the brand or brands (gr:Brand) associated with a gr:ProductOrService, or the brand or brands maintained by a gr:BusinessEntity.
gr:hasBusinessFunction
(gr:Offeringgr:TypeAndQuantityNodehttp://schema.org/Offer) ↦ gr:BusinessFunction
has business function (1..*) This specifies the business function of the gr:Offering, i.e. whether the gr:BusinessEntity is offering to sell, to lease, or to repair the particular type of product. In the case of bundles, it is also possible to attach individual business functions to each gr:TypeAndQuantityNode. The business function of the main gr:Offering determines the business function for all included objects or services, unless a business function attached to a gr:TypeAndQuantityNode overrides it. Note: While it is possible that an entity is offering multiple types of business functions for the same set of objects (e.g. rental and sales), this should usually not be stated by attaching multiple business functions to the same gr:Offering, since the gr:UnitPriceSpecification for the varying business functions will typically be very different.
gr:hasEligibleQuantity
(gr:Offeringgr:PriceSpecificationhttp://schema.org/Offer) ↦ gr:QuantitativeValue
has eligible quantity (0..1) This specifies the interval and unit of measurement of ordering quantities for which the gr:Offering or gr:PriceSpecification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity. Note that if an offering is a bundle, i.e. it consists of more than one unit of a single type of good, or if the unit of measurement for the good is different from unit (Common Code C62), then gr:hasEligibleQuantity refers to units of this bundle. In other words, "C62" for "Units or pieces" is usually the appropriate unit of measurement.
gr:hasInventoryLevel
(gr:Offeringgr:SomeItemshttp://schema.org/Offer) ↦ gr:QuantitativeValueFloat
has inventory level (0..1) This property specifies the current approximate inventory level for gr:SomeItems. The unit of measurement and the point value or interval are indicated using the attached gr:QuantitativeValueFloat instance. This property can also be attached to a gr:Offering in cases where the included products are not modeled in more detail.
gr:hasMakeAndModel
(gr:Individualgr:SomeItemshttp://schema.org/Product) ↦ gr:ProductOrServiceModel
has make and model (0..1) This states that an actual product instance (gr:Individual) or a placeholder instance for multiple, unidentified such instances (gr:SomeItems) is one occurence of a particular gr:ProductOrServiceModel. Example: myFordT hasMakeAndModel FordT.
gr:hasManufacturer
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:BusinessEntity
has manufacturer (0..1) This object property links a gr:ProductOrService to the gr:BusinessEntity that produces it. Mostly used with gr:ProductOrServiceModel.
gr:hasNext
gr:DayOfWeekgr:DayOfWeek
has next (0..1) This ordering relation for gr:DayOfWeek indicates that the subject is directly followed by the object. Example: Monday hasNext Tuesday Since days of the week are a cycle, this property is not transitive.
gr:hasOpeningHoursDayOfWeek
gr:OpeningHoursSpecificationgr:DayOfWeek
has opening hours day of week (1..*) This specifies the gr:DayOfWeek to which the gr:OpeningHoursSpecification is related. Note: Use multiple instances of gr:OpeningHoursSpecification for specifying the opening hours for multiple days if the opening hours differ.
gr:hasOpeningHoursSpecification
(gr:Locationhttp://schema.org/Place) ↦ gr:OpeningHoursSpecification
has opening hours specification (0..*) This property links a gr:Location to a gr:OpeningHoursSpecification.
gr:hasPrevious
gr:DayOfWeekgr:DayOfWeek
has previous (0..1) This ordering relation for gr:DayOfWeek indicates that the subject is directly preceeded by the object. Example: Tuesday hasPrevious Monday Since days of the week are a cycle, this property is not transitive.
gr:hasPriceSpecification
(gr:Offeringhttp://schema.org/Offer) ↦ gr:PriceSpecification
has price specification (0..*) This links a gr:Offering to a gr:PriceSpecification or specifications. There can be unit price specifications, payment charge specifications, and delivery charge specifications. For each type, multiple specifications for the same gr:Offering are possible, e.g. for different quantity ranges or for different currencies, or for different combinations of gr:DeliveryMethod and target destinations. Recommended retail prices etc. can be marked by the gr:priceType property of the gr:UnitPriceSpecification.
gr:hasWarrantyPromise
(gr:Offeringhttp://schema.org/Offer) ↦ gr:WarrantyPromise
has warranty promise (0..*) This specifies the gr:WarrantyPromise made by the gr:BusinessEntity for the given gr:Offering.
gr:hasWarrantyScope
gr:WarrantyPromisegr:WarrantyScope
has warranty scope (0..1) This states the gr:WarrantyScope of a given gr:WarrantyPromise.
gr:height
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QuantitativeValue
gr:quantitativeProductOrServiceProperty
height (0..1) The height of the product. Typical unit code(s): CMT for centimeters, INH for inches
gr:includes
gr:Offeringgr:ProductOrService
includes (0..1) This object property is a shortcut for the original gr:includesObject property for the common case of having exactly one single gr:ProductOrService instance included in an Offering. When linking to an instance of gr:SomeItems or gr:Individual, it is equivalent to using a gr:TypeAndQuantityNode with gr:hasUnitOfMeasurement="C62"^^xsd:string and gr:amountOfThisGood="1.0"^^xsd:float for that good. When linking to a gr:ProductOrServiceModel, it is equivalent to 1. defining an blank node for a gr:SomeItems 2. linking that blank node via gr:hasMakeAndModel to the gr:ProductOrServiceModel, and 3. linking from the gr:Offering to that blank node using another blank node of type gr:TypeAndQuantityNode with gr:hasUnitOfMeasurement="C62"^^xsd:string and gr:amountOfThisGood="1.0"^^xsd:float for that good.
gr:includesObject
(gr:Offeringhttp://schema.org/Offer) ↦ gr:TypeAndQuantityNode
includes object (0..*) This object property links a gr:Offering to one or multiple gr:TypeAndQuantityNode or nodes that specify the components that are included in the respective offer.
gr:isAccessoryOrSparePartFor
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:ProductOrService
is accessory or spare part for (0..*) This states that a particular gr:ProductOrService is an accessory or spare part for another product or service.
gr:isConsumableFor
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:ProductOrService
is consumable for (0..*) This states that a particular gr:ProductOrService is a consumable for another product or service.
gr:isSimilarTo
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:ProductOrService
is similar to (0..*) This states that a given gr:ProductOrService is similar to another product or service. Of course, this is a subjective statement; when interpreting it, the trust in the origin of the statement should be taken into account.
gr:isVariantOf
gr:ProductOrServiceModelgr:ProductOrServiceModel
is variant of (0..1) This states that a particular gr:ProductOrServiceModel is a variant of another product or service model. It is pretty safe to infer that the variant inherits all gr:quantitativeProductOrServiceProperty, gr:qualitativeProductOrServiceProperty, and gr:datatypeProductOrServiceProperty values that are defined for the first gr:ProductOrServiceModel. Example: foo:Red_Ford_T_Model gr:isVariantOf foo:Ford_T_Model
gr:lesser
gr:QualitativeValuegr:QualitativeValue
lesser (0..*) This ordering relation for gr:QualitativeValue pairs indicates that the subject is lesser than the object.
gr:lesserOrEqual
gr:QualitativeValuegr:QualitativeValue
lesser or equal (0..*) This ordering relation for gr:QualitativeValue pairs indicates that the subject is lesser than or equal to the object.
gr:nonEqual
gr:QualitativeValuegr:QualitativeValue
non equal (0..*) This ordering relation for gr:QualitativeValue pairs indicates that the subject is not equal to the object.
gr:offers
(gr:BusinessEntityhttp://schema.org/Organization) ↦ gr:Offering
offers (0..*) This links a gr:BusinessEntity to the offers (gr:Offering) it makes. If you want to express interest in receiving offers, use gr:seeks instead.
gr:owns
(gr:BusinessEntityhttp://schema.org/Organizationhttp://schema.org/Person) ↦ gr:Individual
owns (0..*) This property indicates that a particular person or business owns a particular product. It can be used to expose the products in one's posession in order to empower recommender systems to suggest matching offers. Note that the product must be an instance of the class gr:Individual. This property can also be safely applied to foaf:Agent instances.
gr:predecessorOf
gr:ProductOrServiceModelgr:ProductOrServiceModel
predecessor of (0..*) This property indicates that the subject is a previous, often discontinued variant of the gr:ProductOrServiceModel used as the object. Example: Golf III predecessorOf Golf IV This relation is transitive.
gr:qualitativeProductOrServiceProperty
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QualitativeValue
qualitative product or service property (0..*) This is the super property of all qualitative properties for products and services. All properties in product or service ontologies for which gr:QualitativeValue instances are specified are subproperties of this property.
gr:quantitativeProductOrServiceProperty
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QuantitativeValue
quantitative product or service property (0..*) This is the super property of all quantitative properties for products and services. All properties in product or service ontologies that specify quantitative characteristics, for which an interval is at least theoretically an appropriate value, are subproperties of this property.
gr:relatedWebService related Web Service (0..*) The URI of a SOAP or REST Web Service from which additional information about the gr:BusinessEntity, gr:Offering, gr:PriceSpecification, or gr:ProductOrService, or any other element, can be obtained. The recommended range is xsd:anyURI i.e., the URI of a SOAP or REST Web Service. In principle, any existing or upcoming vocabulary for Web Services can be used in combination with GoodRelations, because the association between (a) the service description and (b) the GoodRelations description can be found via the Web Service URI value used with this gr:relatedWebService property.
gr:seeks
(gr:BusinessEntityhttp://schema.org/Organizationhttp://schema.org/Person) ↦ gr:Offering
seeks (0..*) This links a gr:BusinessEntity to gr:Offering nodes that describe what the business entity is interested in (i.e., the buy side). If you want to express interest in offering something, use gr:offers instead. Note that this substitutes the former gr:BusinessFunction gr:Buy, which is now deprecated.
gr:successorOf
gr:ProductOrServiceModelgr:ProductOrServiceModel
successor of (0..*) This property indicates that the subject is a newer, often updated or improved variant of the gr:ProductOrServiceModel used as the object. Example: Golf III successorOf Golf II This relation is transitive.
gr:typeOfGood
gr:TypeAndQuantityNode ↦ (gr:Individualgr:SomeItems)
type of good (1..1) This specifies the gr:ProductOrService that the gr:TypeAndQuantityNode is referring to.
gr:valueReference
(gr:QualitativeValuegr:QuantitativeValue) ↦ (gr:QualitativeValuegr:QuantitativeValue)
value reference (0..*) The superclass of properties that link a gr:QuantitativeValue or a gr:QualitativeValue to a second gr:QuantitativeValue or a gr:QualitativeValue that provides additional information on the original value. A good modeling practice is to define specializations of this property (e.g. foo:referenceTemperature) for your particular domain.
gr:weight
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QuantitativeValue
gr:quantitativeProductOrServiceProperty
weight (0..1) The weight of the gr:ProductOrService. Typical unit code(s): GRM for gram, KGM for kilogram, LBR for pound
gr:width
(gr:ProductOrServicehttp://schema.org/Product) ↦ gr:QuantitativeValue
gr:quantitativeProductOrServiceProperty
width (0..1) The width of the gr:ProductOrService. Typical unit code(s): CMT for centimeters, INH for inches