The development of the NESTORE ontology was mainly based on two different phases. In the first phase, the knowledge from different domains was structured within a conceptual model based on the underlying reference literature and on the specific expertise of the domain experts. Afterward, the structured knowledge included in the model was formalized into an ontology compliant with the uAAL-IoT framework.
In the next paragraphs, each of the previous steps is described in detail.
Structuring the multi-domain knowledge related to healthy ageing: the NESTORE model
The NESTORE Healthy Ageing model aims at providing a structured knowledge built on the scientific background of domain experts (exercise physiologists, nutritionists, psychologists, geriatricians) and with a reference to the relevant related scientific literature using a cross-disciplinary approach. To collect the information in the 3 different domains, several single interviews were performed with the experts. During this process, the experts, based on their expertise and the reference literature guidelines, identified for each wellbeing domain different subdomains, each of which can be considered independently, and described field-specific aspects of human status during ageing. In each subdomain, the experts defined the relevant variables suitable to personalize coaching and to monitor the user status and behaviour. For each variable, the specific values for user classification (normal vs out of range, degree of weakness) and the related measurements methodologies were listed. Once the single domain was deeply analysed and described, a group workshop was carried out to define the variable relationships intra- and inter-domain thus completing the model design. The model was designed to characterize a person in terms of both his/her status and behaviour and it is targeted to healthy older adults, aged 65 to 75, mainly retired or recently retired, with an autonomous life and interested in maintaining or promoting her/his wellbeing and quality of life, without any severe impairment and/or pathology. Considering that ageing is a multifactorial process, the NESTORE model adopts a multi-domain approach, which includes three main different dimensions related to well-being: (1) Physiological Status and Physical Activity Behaviour, (2) Nutrition, and (3) the psychological domain including Cognitive and Mental Status and Social Behaviour.
For each domain, the model includes:
(a) The definition of the domain variables that is useful for the characterization and monitoring of the individual. This aspect is specifically thought for profiling activities and, consequently, for personalization purposes.
(b) The relationships among the domain variables and the variable ranges and/or trends corresponding to normal ageing status and behaviour in that domain. These aspects are specifically thought to support the development of the decision support system.
(c) The definition of some measurement scenarios and the devices required to measure and to store data related to every single variable.
The information included in the NESTORE model is essential to support the development of the NESTORE ontology.
To formalize the links between the variables, some simple relationships among variables were defined:
influences, which is used when a variable has a causal relationship with another variable;
correlates with, which is used when a variable has a certain degree of association with another variable;
is calculated from, which is used to define if a variable is measured from other variables;
is an indicator of, which is used if a variable can be used as a measure or an index of other variables.
It is worthy of mention that the model takes into account not just the relationships within every single domain but also the connections across the domains, thus including a more realistic complexity. Furthermore, gender differences were also considered if appropriate.
In Fig. 1 we show an example of the graphical representation of the complexity of the relationships among variables, in the physiological status and physical activity domain. The description of the complete model can be found in the NESTORE project deliverable 2.1 “Models for Healthy Older People” (Rizzo et al. 2020) and its annexes.
Physiological status and physical activity behaviour
The age-related physiological changes affect a broad range of tissues, organ systems, and functions, which, cumulatively, can affect activities of daily living and the preservation of physical independence in older adults. Moreover, out-of-range values in middle-aged women and men predict future risks of disability, chronic disease and death. The decline in maximal aerobic capacity (VO2 max) is one of the most common observations in older adults (Betik and Hepple 2008). On the other hand, a reduction of skeletal muscle mass (sarcopenia) and an impairment of muscle function are also widely recognised in old age (Cao and Morley 2016). Those changes are associated with reduced strength and physical performance, which have been linked to recurrent falls and are a major cause of morbidity and mortality of people over 65. Changing body composition is another hallmark of the physiological ageing process, which has profound effects on health and physical function among older adults being associated with increased metabolic and cardiovascular disease risks.
The NESTORE model reflects the physiological complexity of ageing by monitoring four major subdomains: (1) Anthropometric Characteristics, which are based on anthropometric variables describing body dimensions and their relationship; (2) Cardiovascular System, which collects information about the main physiological variables influencing the transport of nutrients and oxygen from the lungs to peripheral tissue and vice versa; (3) Respiratory System, that describes the main physiological variables related to structure and function of the organs designated to exchange blood gases between ambient air and blood cells; (4) Musculoskeletal System, that contains a detailed description of the main physiological variables related to the ability of the skeletal muscle to generate force and power.
Since regular exercise is essential for healthy ageing and older adults should do aerobic training, muscle-strengthening, stretching exercises and balance activities on a weekly basis for substantial health benefits, the NESTORE system also collects information about the ability of a person to perform aerobic exercises (Cardiorespiratory Exercise Capacity), the status of the musculoskeletal system (Strength-Balance-Flexibility Exercise Capacity) and the activity behaviour of a person during every-day life (Physical activity Behaviour). Finally, the main factors related to sleep (Sleep Quality) are included in this domain, according to changes in sleep habits that usually occur with ageing (Mander et al. 2017; Crivello et al. 2019).
Ageing is associated with physiological readjustments that can alter the nutritional status and may decrease appetite leading to poor nutritional status (Streicher et al. 2018; van der Pols-Vijlbrief et al. 2014; Besora-Moreno et al. 2020; Hickson, 2006). These changes induce a feedback loop in which the poor diet increases muscle and bone degeneration that, in turn, favours unhealthy habits that promote unbalanced nutrition. Moreover, malnutrition is one of the most relevant conditions that can negatively influence the health of older people (Leslie and Hankey 2015) and directly impacts brain physiology (Titova et al. 2013) and cognitive function (Dominguez and Barbagallo 2018), increasing the risk of becoming care-dependent (Evans 2005).
To take into account all of the elements that have an impact on the health of older adults, the following subdomains are proposed: (1) Anthropometric Characteristics, which is coincident to that belonging to the Physiological Status and Physical activity behaviour domain; (2) Blood Parameters, that is focused on biomarkers of diabetes and dyslipidaemia that are independent risk factors of the most prevalent diseases associated with ageing (Nepal et al. 2014); (3) Energy Expenditure, describing the variables mainly related to energy management; (4) Nutrition Habits, describing variables directly related to the study of a subject's eating habits.
Cognitive and mental status and social behaviour
Among the health and well-being domains, Cognitive and Mental Status and Social Behaviour refer to the psychological traits and states related to cognitive, mental, personality-related and social functioning in healthy older adults. Cognitive ability trajectories are thus characterized by a high degree of multi-directional complexity and heterogeneity across cognitive domains (Hedden and Gabrieli 2004; Salthouse 2010; Hartshorne and Germine 2015). Besides cognition, mental health and subjective well-being represent another important component of health, which in turn also relates to cognitive performance in later life (Gerstorf et al. 2007). Most prevalent in later life are depression and anxiety, but the majority of older adults reports high levels of subjective well-being and good mental health (Rocke and Brose 2013; Thomas et al. 2016). Furthermore, one important challenge for later life is social isolation and loneliness, which can have severe consequences on mental health, with social connectedness being an important protective resource for mental (as well as cognitive) health maintenance (Lovden et al. 2005).
The domain of cognitive, mental health and social well-being addressed in NESTORE is composed of four subdomains, the first two relating to stable person characteristics that capture dispositions and the latter two complementing these by more transient and variable characteristics capturing states and behaviour. These are: (1) Cognitive Status referring to various variables of intellect that characterize biologically- and experience-driven facets of cognition and intelligence; (2) Mental Status, including traits in the area of subjective well-being, self and personality and social integration/feelings of loneliness. The two domains of status or trait variables will allow describing a dispositional profile of a person’s general resources in the cognitive and mental domains. (3) Mental Behaviour and States, capturing the within-person processes mainly in emotional functioning that are observable in daily life based on self-reported experiences and as information extracted from text bodies and speech; (4) Social Behaviour which analyses the social context of the users, by quantifying frequency and condition of interaction between the user and his/her social environment.
Developing the healthy ageing ontology
The design of the NESTORE ontology is based on the uAAL-IoT framework, which provides modelling tools and a set of core ontologies (universAAL 2020). The uAAL-IoT framework is an open-source framework enabling cooperation between IoT devices by adopting a semantic approach. More specifically, those IoT-ready devices running the uAAL-IoT middleware can cooperate by exchanging specific kinds of messages. Such cooperation enables the design and the implementation of a distributed system, able to collect and elaborate the context-information retrieved. The most distinguishing feature of uAAL-IoT is the semantic approach used to enable devices to reason about the context and to react properly. The knowledge is represented as a group of ontologies based on the RDF format and translated as Java classes for the uAAL-IoT middleware. The process to model and generate new Ontologies for universAAL is based on the universAAL Studio which extends the Eclipse IDE with the Ontology Modelling Tool (OMT). OMT is intended for developers, it is based on the Papyrus and MOFScript tools. More specifically, OMT supports the following steps: (1) to create an ontology project with a walk-through wizard; (2) to design and model the ontology via Unified Modeling Language (UML); (3) to generate the java code modelling the ontology and packing the ontology as Maven artifacts.
The NESTORE ontology covers the knowledge domain concerning the definitions provided by the NESTORE Healthy Ageing Model:
Within each sub-ontologies, different types of hierarchies, taxonomies and relationships concerning the aforementioned areas are defined. The ontology has been developed utilizing the uAAL definitions and using the uAAL eclipse ontology tool editor. The whole ontology is represented in UML, and afterwards translated to Java language, the programming language used by universAAL platform. In this way, it can be simply used in any system by importing the Java classes corresponding to the ontology classes.
In NESTORE, the modularization and the structure of the proposed ontology are specified by a graphical representation using the Papyrus tool from Eclipse (Gerard et al. 2007). Furthermore, the NESTORE uAAL ontology is stored in a semantics repository that hosts various representations to exploit their capabilities: W3C Web Ontology Language (OWL) format; UML; Java source files as required to be interoperable with the uAAL platform.
Many of the described NESTORE ontologies entail two main concepts: variables and variable measurements. The former identifies and characterizes the quantity that is being measured in the context of each sub-domain and how it relates to other variables (for instance variables can influence, depend on or be calculated from other variables), the latter represents actual variable measurements. As such, they are related to a certain instant in time (or time interval) and concern a given individual that is being examined or monitored. Variable measurements are also associated with a measuring instrument and can include several different instruments/devices available to measure the same variable.
The final information we modelled is the measurement grouping, i.e. the association between the variable measurement (e.g. “body height measurement”) and the actual variable concept (e.g. "body height").
To describe all the previous components, we use the “anthropometric characteristics” sub-ontology as an example, but the other sub-ontologies are similarly structured.
The more abstract concept of variable represents the entity that is being measured in contrast to a specific measured value of the entity. Figure 2 illustrates the relevant class layout in universAAL Studio concerning body height and body mass index measurements. For the other measurement values, similar modelling applies.
We define the class AnthropometricVariable with two subclasses, namely MeasuredAnthropometricVariable and CalculatedAnthropometricVariable. The former represents the variables that are measured with specific measuring devices. The latter represents the variables that are not physically measured, rather derived (or calculated) from other variables. The isCalculatedFrom property models such a dependency relation. In particular, a measured variable depends on one or more other variables. In the next, we report the relevant OWL generated by universAAL Studio:
Each of MeasuredAnthropometricVariable and CalculatedAnthropometricVariable also has specific enumeration subclasses with single values for all the variables. A specific measured value is then associated with its corresponding variable class via a property. For instance, property bodyHeightVariable of BodyHeightValue associates a measured value with its variable.
Class AnthropometricMeasurementDevice defines property measuresVariable which associates it with one or more MeasuredAnthropometricVariable variables. Property hasMeasurementDevice of class MeasuredAnthropometricVariable implements the inverse association.
The three additional properties isIndicatorOf, correlatesWith, and influences defined on AnthropometricVariable model relation of a variable with one or more other variables.
We define the class of AnthropometricValue to model a specific measurement of some entity and identify a subclass RangeBasedAnthropometricValue where we can associate a normality range as well as a degree of abnormality indicator with the measurement.
We then define several subclasses of AnthropometricValue (BodyHeightValue and BodyWeightValue) and several subclasses of RangeBasedAnthropometricValue (BodyMassIndexValue, FatMassValue, FatFreeMassValue, HipCircumferenceValue, WaistCircumferenceValue, WaistToHeightRatioValue, and WaistToHipRatioValue) that represent specific measurement values.
Figure 3 shows a simplified view of the class layout in universAAL Studio for BodyWeightValue and BodyMassIndexValue and their superclasses (the other measurement classes are similar).
The OWL translation of the previous class layout includes the following triples (in Turtle format):
Each of the previous classes defines some datatype/object properties. For instance, class AnthropometricValue defines property datetime. This is intended to represent a timestamp when the measurement was taken. The corresponding OWL generated by universAAL Studio is as follows:
Property datetime is turned into an OWL datatype property, its domain is fixed to be the defining class (AnthropometricValue) and the defining class is required to be a subset of two restrictions: One is a cardinality restriction that requires that individuals of AnthropometricValue have exactly one datetime property defined and the other requires that individuals of AnthropometricValue have only datetime values with type xsd:dateTime (this is the type of the property).
BodyHeightValue and BodyWeightValue have three properties each: the actual value of the measurement (as a float), the measurement precision (as a float) and the measurement unit (as a Unit object). The Unit object is defined in another universAAL ontology.
Subclasses of RangeBasedAnthropometricValue have a measurement value (as a float) and some have a measurement unit (as a Unit object). Class RangeBaseAnthropometricValue also defines two properties: normalityRange and degreeOfAbnormality. Property normalityRange is an optional object property that requires values in the NormalityRange class. An optional property translates into a max cardinality restriction instead of a cardinality restriction as for the other properties defined above:
Class NormalityRange contains a rangeStart and rangeEnd float (datatype) properties that represent the normal range for the measurement. The property degreeOfAbnormality is also an optional property that has values from enumeration DegreeOfAbnormality.
An enumeration-valued property is treated as an object property in the sense that the generated OWL includes a max cardinality restriction (as for normalityRange) as well as an allValuesFrom restriction, as for all the other properties. The important point though is that we can specify some values for the enumeration type (in our case we indicate values as weak, moderate, and severe) and the generated OWL ontology includes the following triples.
which specify that some individuals are instances of class DegreeOfAbnormality. Note that universAAL Studio does not provide a way to express the fact that those individuals are distinct and that they are all the individuals of class DegreeOfAbnormality whereas OWL has that capability.
Some of the measurement values are assessed with devices or measuring instruments. We model measuring instruments with class AnthropometricMeasurementDevice. Figure 4 illustrates relevant parts of the class layout in universAAL Studio for body height and body weight measures. The other measurement values are modelled similarly.
Specific subclasses represent measuring instruments associated with a specific measured value. Such subclasses are defined as enumerations to specify some individuals of the class. For instance, for BodyHeightMeasurementDevice we have defined individuals measuring_tape, heightRod, and sensitized_wall_mirror. Thus we obtain the following OWL:
Note from Fig. 4 that property bodyHeightMeasurementDevice of BodyHeightMeasurementDevice associates the measured value with its measurement device. A similar property exists for all other measured values. Besides, not all of the values are measured with devices. Some values are calculated and need no association with a measurement device.
The final piece of the ontology modelling concerns the association of a set of measured values with a user entity. This is achieved via class AnthropometricCharacteristics as illustrated in Fig. 5.
A property exists in AnthropometricCharacteristics for each measurement value type and allows to group together zero or more measured values for each type of measurement.
Figure 5 only shows classes BodyHeightValue, BodyWeightValue, and BodyMassIndexValue but it should be understood that similar relations/properties exist in the ontology for all other measurement value classes. Note that for each characteristic instance there can be zero, one or more body height measurement values. This is reflected in the generated OWL ontology by the lack of a cardinality restriction on property bodyHeight.
Another important class of the NESTORE ontology is the ManagedIndividual, that allows the actual interoperability with the uAAL platform from a programming point of view. For ease of reading, we use in Fig. 6 a simplified view of Nutritional Habits subdomain to show the Java class hierarchy used by the NESTORE platform for handling ontological resources in the uAAL framework. The class ManagedIndividual is the root of all ontologies registered with the uAAL middleware, i.e., the root of the whole manageable class hierarchy in uAAL. All classes from the ontology are implemented in Java by creating a subclass of ManagedIndividual. One class is mainly used by other components deriving from ManagedIndividual (which is a subclass of the more generic Resource in the uAAL framework) which defines URIs for itself and its properties and offers getter and setter methods for its properties.
Overcoming uAAL-IoT specific issues
A problem we came across when developing the NESTORE ontology within the uAAL-IoT framework is the way associations are modelled by uAAL Studio. Suppose we want to model the measurement instrument for class BodyHeightValue to represent the device used to measure the height of a person and suppose we have a class BodyHeightMeasurementInstrument that represents the set of devices used to measure body height. If we use uAAL Studio to model an association named measurementInstrument from BodyHeightValue to BodyHeightMeasurementInstrument, the algorithm used by universAAL Studio to generate the OWL ontology will generate the statement:
Now, suppose we also have to model body weight and define an association measurementInstrument from BodyWeightValue to BodyWeightMeasurementInstrument, the resulting OWL ontology will also contain the statement:
We are modelling a measurementInstrument property in two different classes. This is unfortunate since the ontology generated by uAAL Studio may lead to unexpected inferences. For instance, if a user of the ontology wants to state that:
a reasoning engine will be able to deduce:
To overcome this issue, we have two options. The first one is to name the two associations differently (e.g., bodyHeightMeasurementInstrument and bodyWeightMeasurementInstrument) and lose the information that the two properties represent the same concept. The benefits of this approach must be balanced with the fact that uAAL Studio does not allow to state that a property is a sub-property of another. Another option is to define a superclass of BodyHeightValue and BodyWeightValue (i.e. AnthropometricValue), a superclass of BodyHeightMeasurementInstrument and BodyWeightMeasurementInstrument (i.e. AnthropometricMeasurementInstrument) and define property measurementInstrument from the former to the latter. With this solution, however, we lose model details.
In our modelling, we used the first approach when we judged it was important to represent more details about the domain. We used the second approach when the range of the property being modelled was the same, so we did not need to distinguish between them.
However, from this technical perspective, further work is needed to overcome the limitations of the uAAL Studio plugin. For example, a major open issue is that the only way to represent facts about individuals via the uAAL Studio plugin is to create an Enumeration and populate it with enumeration literals. The OWL ontology generated from the Java classes will represent the Enumeration as a class and state that the enumeration literals are members of that class (via the rdf:type property). It is not possible to generate other types of facts about individuals (i.e. stating that individual A has a certain property with value B except for class membership. This limitation prevented us from expressing facts concerning dependence relationships among specific variables. For instance, we could not say that:
Nevertheless, we modelled a relation named "influences" from a Variable (e.g. AnthropometricVariable) to itself with [0…*] cardinality. In this way, we can express the fact that such dependency may exist, but we do not say which anthropometric variables influence which other variables. In addition, via uAAL Studio it is not possible to state that classes are disjoint or that the elements of an Enumeration are all distinct or that they are all the elements of a class. This prevented us from expressing facts that can be expressed via the OWl language.