Proposal to add a few types and properties to express energy efficiency of products #2670
Context - This is a proposal from Google based on our experience consuming schema.org Product markup and working with similar data from online merchants. If it were accepted, it would make it easier for us and others to understand energy efficiency properties of products.
Many products advertised or sold on the web consume energy and countries around the world have regulations related to labeling such products with energy efficiency information, both online and in stores. An example of such a regulation is EU directive 2017/1369, which covers energy labeling for various categories of products. Another example is the Energy labeling rule under the Energy Policy and Conservation Act (EPCA) in the US. In addition to these regulations, consumers in general are increasingly interested in the energy efficiency of products they are researching online.
The energy efficiency characteristics of a product are typically expressed through a combination of one or more of the following elements:
Currently, Schema.org provides no explicit support for expressing energy efficiency properties of products. Although the /PropertyValue class could be used, we believe allowing an explicit and structured way of expressing energy consumption characteristics by adding a small amount of vocabulary would benefit the ecosystem.
Our proposal is to add a new class, for example /EnergyConsumptionDetails, that would define the energy consumption characteristics of a product. This class would then be used by a new property /energyConsumptionDetails under /Product.
Properties under this new class could include, for example:
Some Open Questions
The text was updated successfully, but these errors were encountered:
Thanks for the great writeup :)
Somewhat relevant here - @lucy-kind recently led some cleanup of our structure around Enumerations and enumerated values, to make tidier use of a type hierarchy. We've applied that idea to national code lists too, e.g. take a look at
It is an excellent idea to use country (or region) specific enum types for energy efficiency ratings, since for example the EU has a very different energy efficiency scale (A+++ - G, depending on the product category) than Korea or China (1-5).
We could introduce a new enumeration /EnergyEfficiencyClass with sub-enum types /EUEnergyEfficiencyClass, /KEAEnergyEfficiencyClass (for Korea, also used in other countries such as Cambodia), etc.
A complete example for a /energyConsumptionDetails property under a /Product could then look as follows:
The above example defines the energy efficiency class in the EU ("A+" in this case, using a proposed enum value /EUenergyEfficiencyClassA1Plus) as well as the scale for the particular product category (A+ - D for televisions). The example also gives a link to an image of an energy efficiency label (example) as well as the product fiche (datasheet) following the EU regulation (link).
Another example, this time modeling the EnergyStar rating used in the US and many other countries could look as follows:
A topic for further discussion could be to support multiple energy label images and product data sheets per /energyConsumptionDetails instance, with each image and data sheet tagged with the language and/or country it applies to:
I've committed a design that @alex-jansen (from Google Shopping) and I have been working on.
It is fairly straightforward: a type representing EnergyConsumptionDetails, a property linking it from a Product, a property of the new type with enumerated values. Also an optional (EU-oriented) pair of properties of EnergyConsumptionDetails indicating maximum and minimum enumerated values. The enumerated structures make use of subtyping, so that there is a different Enumeration structure for Energy Star, and for EU's system. We have gone with Energy Star as an enumeration rather than a simple boolean, for consistency, since there are other systems (e.g. in China, Korea) that are also enumerated, and it seemed better to have a common pattern. The max/min construction is for use in the EU scheme, where it is often required to indicate the applicable range for a given product. For it to make sense, the enumeration needs to be understood as ordered; this is not currently explicit in schema.org's enumeration system can be concluded from reading the specific definitions that we give.
Draft staged: https://webschemas.org/EnergyConsumptionDetails
We should probably adopt @lucy-kind 's proposal and rename the enumeration to end in *Enumeration, but that leaves the question of whether to retain use of 'category' in hasEnergyEfficiencyCategory (the actual domain terminology seems to use 'class' heavily but that's a poor fit for us as 'class' at schema.org is the same thing as a type, i.e. a fundamental modeling primitive).
/cc #2670 Thanks to Hans Polak for catching this, see https://lists.w3.org/Archives/Public/public-schemaorg/2020Aug/0007.html
For this to make sense for the EU labels at least don't we also need to know the year that the label was issued?
I had two new appliances that were simultaneously issued with A++ and D labels (or similar) because of the rebasing for those categories.
It might also make sense to have slots for at least the annual energy consumption and an optional URL for the full fiche/document?
Or do I need to read this thread from the top properly to find out why I'm wrong? B^>