|The GoodRelations User's Guide|
|Conventions ←||Conceptual model||→ Quantitative Values|
Understanding the Conceptual Model Behind GoodRelations
The goal of GoodRelations is to define a data structure for e-commerce that is
- industry-neutral, i.e. suited for consumer electronics, cars, tickets, real estate, labor, services, or any other type of goods,
- valid across the different stages of the value chain, i.e. from raw materials through retail to after-sales services, and
- syntax-neutral, i.e. it should work in microdata, RDFa, RDF/XML, Turtle, JSON, OData, GData, or any other popular syntax.
The Agent-Promise-Object-Compensation Model
This is achieved by using just four entities for representing e-commerce scenarios:
- An agent (e.g. a person or an organization),
- A promise (offer) to transfer some rights (ownership, temporary usage, a certain license, ...) on some object or to provide some service,
- An object (e.g. a camcorder, a house, a car,...) or service (e.g. a haircut),
- A certain compensation (e.g. an amount of money), made by the agent and related to the object or service.
A fifth entity that is often relevant is
- a location from which this offer is available (e.g. a store, a bus stop, a gas station,...).
This Agent-Promise-Object-Compensation Principle can be found across most industries and is the foundation of the generic power of GoodRelations. It allows you to use the same vocabulary for offering a camcorder as for a manicure service or for the disposal of used cars.
The respective classes in GoodRelations are
- gr:BusinessEntity for the agent, i.e. the company or individual,
- gr:Offering for an offer to sell, repair, lease something, or to express interest in such an offer,
- gr:ProductOrService for the object or service,
- gr:PriceSpecification for the compensation, and
- gr:Location for a store or location from which the offer is available (in previous versions: