Caution! This site is PROVISIONAL and provided for purposes of EVALUATION ONLY.

RDF modelling

Common RDF model

The same basic modelling is used for all classifications. In essence, this relies on SKOS to model items, their properties and the hierarchical structure of the classification, and on XKOS to model pieces of information that are specific to statistical classifications.

The SKOS backbone

Here a summary table of the SKOS elements used, together with the information they model:

Classification's elements SKOS elements
Classification

skos:ConceptScheme
(identified by a URI = unique http:// identifier, non-local ID)

Item 

skos:Concept
(identified by a URI = unique http:// identifier, non-local ID)

Code

skos:notation
(its subject is a skos:Concept)

Item names

skos:prefLabel
(its subject is a skos:Concept; with language tag)

Explanatory note

skos:scopeNote
(its subject is a skos:Concept; with language tag)

Definition

skos:Definition
(its subject is a skos:Concept; with language tag)

Hierarchy: item A is more general than item B 

URI_A skos:broader URI_B
(subject and object are skos:Concept)

Hierarchy: B is more specific than A

URI_B skos:narrower URI_A
(subject and object are skos:Concept)

1-1 correspondence between A, B

URI_A skos:exactMatch URI_B
(subject and object are skos:Concept)

1-n, n-1, n-n correspondences

skos:closeMatch
(subject and object are skos:Concept)

More in details:

A single classification (version of):

  • rendered as one or more skos:ConceptScheme. More details are given for each specific classification.
  • Its URI is formed by concatenating our domain name + the classification acronym + the classification's version (e.g. "domain name" / "cpc" / "cpc_v2.0")

Classification's items:

  • rendered as a skos:Concept
  • its URI is formed by concatenating our domain name + the items' code.
    • Note: if the code contains "dots" (".") they are replaced with "hyphens" ("-").
  • Each skos:Concept is given the following properties:
    • titles in English or other languages when available, expressed using the property skos:prefLabel, with appropriate language tag
    • an explanatory note (skos:scopeNote)
    • codes are values of the property skos:notation

Hierachies:

  • rendered by means of skos:narrower and skos:broader.

The graphic below exemplifies this (for simplicity, the picture only shows skos:broader, and for each concept, it only shows one skos:prefLabel and its skos:notation):

 

Skos structure for classifications
Schematic view of a classification structure in SKOS.

 

Correspondences:

Correspondences are rendered in two ways:

  1. with SKOS, using the properties skos:exactMatch (for 1-1 mappings) and skos:closeMatch (for all other mappings).

  2. with XKOS, using the specific constructs dedicated to rendering correspondences between statistical classifications.

Note that while SKOS matching properties are stated at the level of corresponding items only, XKOS makes explicit  statements about the classifications involved in the mapping. Therefore, if only SKOS is used, the information that correspondences exist between classifications A and B must be "inferred" from the data (i.e., at least one triple exist having skos:exactMatch or skos:closeMatch as predicate). On the contrary, if XKOS is used, that very same piece of information is made explicity by an entity of rdf:type xkos:Correspondence. In short, XKOS is more oriented to be consumed programmatically, by computer applications.

The comment above should make clear the reason for adopting the double formalization of SKOS and XKOS. Let's take a closer look at the XKOS constructs featuring in XKOS v1.0

  • Instances of the class xkos:Correspondence - representing a pair of classifications for which correspondences exist.
  • Property xkos:compares - to link an instance of xkos:Correspondence to the two classifications (skos:ConceptScheme) involved in the mapping.
  • Instances of the class xkos:ConceptAssociation - to represent the actual items involved in the correspondence.
  • Property skos:madeOf - to link together a correspondence with all actual correspondences established.
  • xkos:source and xkos:target (Properties) specify, for each concept associations, its source and target items.  

The picture below provides a simplified view of the XKOS modelling just described in words.

Correspondences modelled using XKOS
Sketch of XKOS modelling of correspondences.

The picture above represents the mapping established from two classifications, "Classification A" and "Classification B", consisting of only one actual correspondence "CorrA-B_1". The right most side of the graphics shows the two items involved in the mapping ("Item_a" and "Item_b", belonging to "Classification A" and "Classification B" respectively).

Metadata

By metadata, we mean all pieces of information concerning the object at hand, such as title, author, abstract, (aka descriptive metadata), versioning information (aka structural metadata), date of creation or licence (aka administrative metadata). In the case of the classifications in Caliper, we also need to distinguish: 

  1. the intellectual content of the classification, i.e., the actual classification (e.g., the hierarchy of products in CPC, together with their code and labels)
  2. the way that content is modelled in RDF (e.g., how the hierarchy is rendered in RDF, which RDF constructs are used for that)
  3. the specific representation (aka serialization) of the RDF (e.g., whether the classification is made available using the csv or json format)

Note that those three parts have different characteristics, as for example the author of a classification (its intellectual content) may be different from the author of the RDF rendering (the model). Therefore, different metadata is appropriate for each of them. The picture below provides a sketch of the way these different pieces of information are rendered in Caliper.

Caliper metadata model
Caliper metadata

As highlighted in the picture, different metadata schemes are used for different purposes:

  • DCAT is used to describe generic datasets
  • VOiD is used to describe RDF datasets

 

Modelling of individual classifications

ACTIVITIES

ISIC Rev4 - Modelling Notes

Follows the general modelling described above. One concept scheme only.

AID FLOWS

CRS, Sector and Purposes (2016-05) - Modelling Notes

Follows the general modelling described above. One concept scheme only.

 

CRS, Sector and Purposes (2018-01) - Modelling Notes

Follows the general modelling described above. One concept scheme only.

CRS, Sector and Purposes (2020-01) - Modelling Notes

Follows the general modelling described above. One concept scheme only.

CROPS

ICC v1.0 - Modelling Notes

Follows the general modelling described above. One concept scheme only.

ICC v1.1 - Modelling Notes

Follows the general modelling described above. One concept scheme only.

The general approach followed to create URIs is to take the item's code as local part of the URI. In the case of ICC v1.1, since codes contain "dots" (".") they are replaced with "hyphens" ("-"). Compare:

The reason was to avoid conflicts with applications' assumption of URIs resolution.

WCA Crop List v1.0 - Modelling Notes

It follows the general model described above, with some specificities:

  • Items are given two statements with rdf:type:
    • URI rdf:type skos:Concept
    • URI rdf:type dwc:Taxon 
  • Concepts' URI take as local part the English name of the item, as in "http://stats-class.fao.uniroma2.it/WCA/crops/Banana"
  • Scientific names are rendered as skos:prefLabel, dwc:scientificName (with language tag "Latin")
  • Common names are rendered as skos:altLabel, dwc:vernacularName (with language tag "English")
  • a code (skos:notation) has been introduced for uniformity with the other classifications included in Caliper.
FORESTRY

Forest Products Classification and Definitions (2016) - Modelling Notes

Follows exactly the general modelling described above. One concept scheme only.

GEOGRAPHY

M49 UNSD - Modelling Notes

This is one of the skos:ConceptScheme currently included in the project "Geo" in VocBench. Here the complete list of schemes is:

  1. M49UNSD: the original M49 as published by UNSD
  2. M49FAO: current version of M49 used in FAO (slightly extended compared to the UNSD version)
  3. M49FAO-2019-07: M49 version used in FAO as of July 2019
  4. M49FAO-2019-12: M49 version used in FAO as of December 2019
  5. M49-EX: formerly valid territories

In their basic heirarchical structure, all schemes follow the general modelling adopted in Caliper. However, they also take properties from the Geopolitical Ontology (see the Geopolitical Ontology in PMKI). In particular:

  • the local part of the URI of countries is made with the M49 code
  • both countries and regions are skos:Concept
  • countries are also geopol:self_gov_territory
  • regions are also geopol:geographical_region
  • a specific subproperty of skos:broader was defined, geopol:broader-geoSDG. Remember to select it when visualizing the scheme in VocBench (in tab "Concept", click on the icon for setting, a windown opens titled "Concept tree settings").
  • (official) names in various languages (all skos:prefLabel)
  • short names in various languages (properties from the ontology)
  • dates of validity (properties from the ontology)
  • different properties for codes in different coding systems (properties from the ontology)

M49 FAO current - Modelling Notes

This is one of the skos:ConceptScheme currently included in the project "Geo" in VocBench. Here the complete list of schemes is:

  1. M49UNSD: the original M49 as published by UNSD
  2. M49FAO: current version of M49 used in FAO (slightly extended compared to the UNSD version)
  3. M49FAO-2019-07: M49 version used in FAO as of July 2019
  4. M49FAO-2019-12: M49 version used in FAO as of December 2019
  5. M49-EX: formerly valid territories

In their basic heirarchical structure, all schemes follow the general modelling adopted in Caliper. However, they also take properties from the Geopolitical Ontology (see the Geopolitical Ontology in PMKI). In particular:

  • the local part of the URI of countries is made with the M49 code
  • both countries and regions are skos:Concept
  • countries are also geopol:self_gov_territory
  • regions are also geopol:geographical_region
  • a specific subproperty of skos:broader was defined, geopol:broader-geoM49. Remember to select it when visualizing the scheme in VocBench (in tab "Concept", click on the icon for setting, a windown opens titled "Concept tree settings").
  • (official) names in various languages (all skos:prefLabel)
  • short names in various languages (properties from the ontology)
  • dates of validity (properties from the ontology)
  • different properties for codes in different coding systems (properties from the ontology)

 

M49 FAO Dec 2019 - Modelling Notes

Same as M49 FAO current.

M49 FAO Jul 2019 - Modelling Notes

Same as M49 FAO current.

NUTRITION

FoodEx2 - Modelling Notes

This RDF model adopted in this conversion was originally devised within a project run by the UK Food Safety Agency. In this model:

  1. Each main hierarchy of the classification is represented as a separate hierarchy, with specific narrower/broader relations (defined as subproperties of the standard skos:narrower and skos:broader), belonging to separate concept schemes
  2. Each set of facets is also a separate hierarchy belonging to separate concept schemes
  3. Items (skos:concept) may be part of more than one concept scheme
  4. items have a definition in English (skos:definition), and a scope note (skos:scopeNote)
PRODUCTS

CPC v2.1 Expansion for agriculture statistics - Modelling Notes

Follows the general modelling described above. 

This scheme includes:

  1. all "expanded codes" (ie., the 7-digit codes proposed by FAO),
  2. their parents up to the root of the classification (so as to enable proper aggregation of data),
  3. and other relevant items.

The figure below provides a schematic representation of the content of the two schemes, the core and the one for the agriculture expansion. 

 

The concept scheme for CPC v1.2 "core" and for its expansion for agricultural statistics
A sketch of the content of the schemes for CPC v2.1 "core" (blu circle) and for the expansion for agricultural and rural statistics (red circle).

 The red nodes of the tree represent the new items (7-digits), while the red circle shows what the scheme for the CPC v2.1 includes - all the new codes, plus their parents up to the first level, and any other item deemed relevant to agriculture.

Items introduced by FAO, following the 7-digit coding scheme, are also included in a skos:Collection ("Expansion only"). 

CPC v2.1 Fertilizers - Modelling Notes

This concept scheme includes the items from CPC 2.1 (see CPC 2.1 full model) specifically relevant to statistics on fertilizers according to FAO. Those include:

  1. items with 7-digit codes,
  2. plus their parents up to the root of the classification (so as to enable proper aggregation of data),
  3. items that are part of the "core" CPC2.1 core (5-digit)

The 7-digit items that are fertilizers and that are not included in the official "Expansion" are part of a dedicated skos:Collection. This collection was introduced for internal use, to have an RDF representation of a possible future proposal to UNSD regarding the field of fertilizers.

RDF model for the CPC v2.1 fertilizers

This concept scheme includes the items from CPC 2.1 (see CPC 2.1 full model) specifically relevant to statistics on fertilizers according to FAO. Those include - a) items that are part of the "core" CPC2.1 core (5-digit), b) items with 7-digit codes, c) plus their parents up to the root of the classification (so as to enable proper aggregation of data).

Subsets

One subset of items is defined, and modelled as skos:collection:

Collection "fert_expansion_only": it only includes the 7-digit items that are fertilizers and that are not included in the official "Expansion". This collection was introduced for internal use, to have an RDF representation of a possible future proposal to UNSD regarding the field of fertilizers.

CPC v2.0 - Modelling Notes

Follows the general modelling described above. One concept scheme only.

CPC v2.1 - Modelling Notes

Follows the general modelling described above. One concept scheme only.

Items relevant to fisheries and aquaculture (as used by the FAO Fisheries and Aquaculture Department) are grouped in a dedicated skos:Collection.

FCL - Modelling Notes

Follows the general modelling described above. One concept scheme only.

The original classification is disseminated as a flat list of items, organized into groups. In the modelling adopted in Caliper, this is rendered as a a two-level hierarchy, with groups being skos:broader of items.

 

HS ("mapping targets") - Modelling Notes

The general strucuture of HS follows the general modelling. However, since only a selection of items HS was included in Caliper (only those appearing in correspondence tables for other classifications, primarily CPC) they were grouped together as skos:Collection belonging to a single skos:ConceptScheme. We then have three skos:Collection (for HS version 2007, 2012, 2017 and respectively) in which they are valid. 

Possible improvement: include HS in full.

 

SOIL

WRB 1998 - Modelling Notes

The RDF modelling of WRB 1998 is largely based on the general model. One scheme only.

The 1998 version of WRB distinguishes 30 soil groups, each with an associated set of qualifiers. Both soil groups and qualifiers are modelled as skos:Concept, soil groups are skos:topConcept of the scheme, qualifiers are skos:narrower of soil groups. For both, the acronym is modelled as a skos:notation, definitions as skos:definition.

For the URI of the soil group the ordering in the classification is used. For qualifiers, the acronym is used.  Each soil group has:

Specific for soil groups:

  1. a definition in English (skos:definition)
  2. an order in sequence of assignement (wrb:hasOrder).

Specific for qualifier:

  1. a property with numeric value (wrb:hasOrder) representing the order in sequence of assignement to the soil group.

Note:

  • Not all qualifiers are actually used to qualify a soil group.
  • A qualifier may qualify more than one soil group. 

Planned improvement:

  • distinguish the order of assignment of qualifiers for each respective soil group. 

 

WRB 2014 (Update 2015) Qualifiers - Modelling Notes

WRB 2014 (update 2015) is modelled using two concept schemes, for soil groups and qualifiers respectively. Individual soil groups and qualifiers are skos:Concept, and their English name is taken to form the local part of the URIs. Each skos:Concept is provided with an English name (skos:prefLabel), a definition (skos:definition), and an acronym (skos:notation).

A dedicate ontology (OWL) was developed to model the entities and properties specific to classification (see WRB_ontology in PMKI). The WRB Ontology defines:

  • classes: wrb:qualifier, wrb:soil_group
  • properties:
    • with domain soild groups, range qualifiers:
      • wrb:hasPriefixQualifier, wrb:hasPrincipalQualifier, wrb:hasSuffixQualifier, wrb:hasSupplementaryQualifier, 
    • with domain qualifier, range qualifier:
      • wrb:isMutuallyExclusiveWith,
    • with domain qualifier, range soil group:
      • wrb:isPrefixQualifierOf, wrb:isPrincipalQualifierOf, wrb:isSuffixQualifierOf,

Where appropriate, pairs of qualifiers are linked with a hierarchical relation of broader/narrower (e.g., Abruptic, Geoabruptic).

 

WRB 2014 (Update 2015) Soil Groups - Modelling Notes

WRB 2014 (update 2015) is modelled using two concept schemes, for soil groups and qualifiers respectively. Individual soil groups and qualifiers are skos:Concept, and their English name is taken to form the local part of the URIs. Each skos:Concept is provided with an English name (skos:prefLabel), a definition (skos:definition), and an acronym (skos:notation).

A dedicate ontology (OWL) was developed to model the entities and properties specific to classification (see WRB_ontology in PMKI). The WRB Ontology defines:

  • classes: wrb:qualifier, wrb:soil_group
  • properties:
    • with domain soild groups, range qualifiers:
      • wrb:hasPriefixQualifier, wrb:hasPrincipalQualifier, wrb:hasSuffixQualifier, wrb:hasSupplementaryQualifier, 
    • with domain qualifier, range qualifier:
      • wrb:isMutuallyExclusiveWith,
    • with domain qualifier, range soil group:
      • wrb:isPrefixQualifierOf, wrb:isPrincipalQualifierOf, wrb:isSuffixQualifierOf,

Where appropriate, pairs of qualifiers are linked with a hierarchical relation of broader/narrower (e.g., Abruptic, Geoabruptic).