The EFSA (European Food Standards Agency) FoodEx2 is a widely used and standardised food classification system within the food regulation, food industry and technologies sector.
The FSA had identified the need to explore the benefits of publishing reference data via the FSA Codes Registry. As an early demonstration of the process and potential of making reference data available, it was decided to implement an open, web-accessible, copy of FoodEx2 to help make re-use of the scheme, and data built upon it, easier.
FoodEx2 is a good test case for implementing as an open codes registry because it is widely used but also large and complex.
The FSA Codes Registry is an system that Epimorphics developed for FSA in order to enable them to manage and maintain their growing set of codelists, controlled vocabularies and other reference data.
A key aspect of many parts of FSA’s work involves references to specific foods and their descriptions. FoodEx2 is a widely used and rich means to represent, in a standardised form, a very wide variety of foods covering; raw commodities (such as fish, meat, seeds/cereals/leaves…) derived or processed foods, and composite foods (made from multiple ingredients), in addition it represents processes, packaging and other aspects of food and feed supply chain processes. It is also large, containing about 28,000 coded entities.
FoodEx2 was therefore a good candidate for trying out and exploring issues related to publishing code lists on the FSA Codes Registry.
FoodEx2 consists of descriptions of a large number of individual food items aggregated into food groups and broader food categories in a hierarchical parent-child relationship.https://www.efsa.europa.eu/en/data/data-standardisation
Central to the system is a core list of food items or generic food descriptions that represent the minimum level of detail needed for intake or exposure assessments. More detailed terms can be found on the “extended list”. A parent-child relationship exists between a core list food item and its related extended list food items. The terms of the core and extended list may be aggregated in different ways according to the needs of the different food safety domains.
The current version has seven hierarchies: five domain-specific and a general purpose one available for the users, and a service hierarchy for the management of the terminology. Facets are used to add further detail to the information provided by the food list term. Facets are collections of additional terms describing properties and aspects of foods from various perspectives.
We worked with FSA to implement FoodEx2 on the FSA Codes Registry. This involved modelling the data structures of FoodEx2 in linked data format, implementing it on the FSA Codes Registry and hosting the pilot system.
FoodEx2 contains about 28,000 coded entities that represent food types, facets (properties) and facet values. Food types and facet values are organised hierarchically. There are 7 main hierarchies, a management hierarchy, and a further 32 facet value hierarchies. Entities may be members of more than one hierarchy, which presents some challenges in deciding how to map FoodEx into a registry structure. From a basic RDF data modelling point of view our approach was to represent each coded FoodEx term as a SKOS concept.
Each hierarchy corresponds to a SKOS concept scheme and is organised as a separate register within the registry. A register for the master hierarchy contains the core information about each of the FoodEx terms.
The visual styling of the registry pages was adapted to match the to-be-agreed styling for the data.food.gov.uk and to support the presentation of codes and hierarchies and specialisation to support the decoding of compound codes.
As hoped, given the richness and complexity of the FoodEx2 data model, a great deal was learnt during the design, implementation and publication of pilot FoodEx2 classification system. Those learnings then went on to inform the development of subsequent reference data on the FSA Codes Registry.