RustOnt: An Ontology to Explain Weather Favorable Conditions of the Coffee Rust

Crop disease management in smart agriculture involves applying and using new technologies to reduce the impact of diseases on the quality of products. Coffee rust is a disease that factors such as poor agronomic management activities and climate conditions may favor. Therefore, it is crucial to identify the relationships between these factors and this disease to learn how to face its consequences and build intelligent systems to provide appropriate management or help farmers and experts make decisions accordingly. Nevertheless, there are no studies in the literature that propose ontologies to model these factors and coffee rust. This paper presents a new ontology called RustOnt to help experts more accurately model data, expressions, and samples related to coffee rust and apply it whilst taking into account the geographical location where the ontology is adopted. Consequently, this ontology is crucial for coffee rust monitoring and management by means of smart agriculture systems. RustOnt was successfully evaluated considering quality criteria such as clarity, consistency, modularity, and competence against a set of initial requirements for which it was built.


Introduction
Smart or precision agriculture (PA) represents the application of information and communication technology (ICT) solutions in agriculture, such as the use of the Internet of Things (IoT), sensors and actuators, geopositioning systems, big data, unmanned aerial vehicles or drones, robots, etc. [1,2]. These technologies enable PA to present real potential for increased sustainability and agricultural productivity, improved economic returns based on the cost-effective use of inputs while reducing environmental impact, and resource preservation for the more efficient and accurate use of resources through decision support tools (DSTs) [3][4][5].
Smart agriculture also has clear environmental benefits, for example, through more efficient water use and optimizing the use of phytosanitary treatments for pest and disease management [6,7]. Coffee rust is caused by the fungus Hemileia vastatrix [8]. A coffee plant affected by this fungus presents the characteristics of the disease, such as yellow or orange powder on the underside of the leaves of the coffee plant in the form of spots or dots [9]. This disease causes the defoliation and drying of the branches and limited growth of the coffee plant, which consequently generates important losses in the production and quality of coffee [8]. The evolution of this disease can be favored by deficient agronomic management activities and some climatic conditions such as rain, humidity, temperature and sunlight. Therefore, the correct identification of these factors is crucial in the management of this disease.
A set of measures represent the status or value of meteorological variables in the field of coffee rust. The heterogeneity of these variables can cause inaccurate values and lead to misunderstandings in the interpretation of input data for models and systems developed to control coffee rust. In this regard, ontologies have been proposed to address data heterogeneity in different application domains [10,11]. Ontologies are a formal representation of knowledge and can be specified by concepts, taxonomies, functions, axioms, and instances [12,13]. Concepts are abstract or concrete representations of the real or fictional of virtually anything. Taxonomies are structures for organizing concepts. Relations are interactions between concepts. Axioms model statements that are asserted to be true in a domain. Finally, instances are elements of a domain attached to a specific concept [12,14].
Several research studies have documented the use of ontologies for agricultural control and monitoring for rice, coffee, and cocoa [15,16]; precision agriculture data [17]; mandarin crop life cycle [18]; coffee supply chain [19]; horticulture [20]; and smart livestock farming [21]. Only two of these studies are directly related to coffee cultivation and focus on modeling available pest and disease data. However, they lack a structure representing the climatic conditions favorable for coffee rust.
This paper proposes a new ontology, called RustOnt, for modeling favorable climatic conditions to prevent coffee rust. This ontology groups relevant concepts and instances of meteorological variables used by coffee rust control systems or models. In addition, RustOnt supports extensions to more concepts that can be detected later.
RustOnt allows experts to access a set of valid expressions, samples and values for each meteorological variable of interest in coffee rust, considering more precisely the geographical region (country) where the ontology can be adopted. This is possible because RustOnt has been constructed taking into account research studies on coffee rust models in several countries.
Early warning systems (EWSs) provide a set of articulated capacities, instruments and procedures for the purpose of monitoring, processing and systematizing information on foreseeable hazards in a specific area. The main objective is to reduce the loss of life and environmental damage, contributing to long-term sustainability [22]. The regional early warning system (SRAT) for rust and other important coffee diseases, developed by FONTAGRO for Central American and Caribbean countries, is an international cooperation platform for the development and co-financing of agricultural science and innovation projects [23]. The early warning and recommendation system (SART) to reduce rust growth was developed by the Coffee Institute of Costa Rica (ICAFE), which guarantees the quality and sustainability of coffee, promoting socially and environmentally responsible schemes [24]. RustOnt can contribute to the major objectives of these institutions, such as FONTAGRO and ICAFE, for Latin American and Caribbean countries through its integration into the SRAT and SART projects, helping to minimize the heterogeneous information used within the different modules that make up these EWSs.
The remainder of the paper is organized as follows. Sections 2 describe the climatic variables considered after a detailed analysis of related work and the methodology selected to develop the RustOnt ontology. Sections 3 and 4 respectively describe the RustOnt ontology, the process followed for its evaluation, and the main results obtained. Finally, Section 5 presents the main conclusions and future research lines.

Materials and Methods
This section presents the knowledge base needed to create our RustOnt ontology, the set of climatic variables considered after a detailed analysis of related work, and the methodology selected to develop the ontology.

Ontological Knowledge Base
An exhaustive study of the literature on the use of variables related to climatic conditions that can facilitate the detection of the incidence of rust in coffee has been carried out. Following the main steps of the systematic review methodology described in [25], the string of terms defined for the bibliographic search was (system OR model) AND (detection OR prediction) AND (coffee leaf rust OR coffee rust) AND (weather OR climatic) AND (incidence OR infection). Scopus, IEEE, Elsevier ACM and Springer data repositories were consulted, in addition to the reports and technical guides published by CENICAFE, ICAFE, and OIRSA. A total of 85 studies were obtained, 26 studies were selected, and 59 studies were discarded due the fact that they did not consider climatic variables and were only focused on concepts including the variety, density, main flowering, and initial infection level. Table 1 shows the climatic variables considered in this study. The table details the climatic variables that favor coffee rust in various countries selected from the bibliographic study, the samples and values considered to develop the computational models, and the country where the research work was conducted. These primary variables (shadow, humidity, temperature, precipitation, and wind) have been considered to develop the knowledge base for the RustOnt ontology. The ontology focuses on the variability of these variables, scales, and specific values defined to measure the impact of rust coffee. Although the meteorological condition Altitude was considered in other studies, this work avoids including it in RustOnt because this condition does not include changes in samples or values for measurement over time. In the following subsection, we describe the methodology used to create RustOnt.

Overview of Methodologies to Build Ontologies
We have followed the work proposed in [48] to select the best methodology to develop the RustOnt ontology. Their work compares six methodologies to build ontologies (Uschold and Kings [49], Methontology [50], On-To-Knowledge [51], Noy, and McGuinness [52], Terminae [53], and Termontography [54]) based on the following criteria: • C1: Intended audience that uses the ontology methodology. • C2: Level of detail (scale 1-5). The methodology recommends the methods and techniques to use to perform the different activities. • C3: Associated software application. The methodology recommends using a software application to build the ontology. • C4: Conceptualization phase. The methodology organizes and structures the knowledge, independent from the knowledge representation paradigms and ontology languages. The representations must be comprehensible by domain experts and ontology developers through diagrams and tables. Table 2 shows the previously described methodologies to build ontologies and the four criteria used for their comparison. Based on the results of the comparison shown in Table 2, Methontology accomplishes the four criteria. This methodology is the most suitable for building ontologies due to its highly detailed instructions, good representation through charts and tables, and compatibility with popular ontology editors.
Methontology defines five phases or main tasks to be completed: (1) glossary of terms, (2) concept taxonomies, (3) ad-hoc binary relation diagrams, (4) concept dictionary, and (5) rules. The following section describes how RustOnt was created following the aforementioned phases.

The RustOnt Ontology
This section describes the process followed to develop the RustOnt ontology. This process has involved the selection of the set of terms included in the ontology, the definition of the taxonomy, ad hoc relationships, the concept dictionary, instances and class attributes, and rules. Table 3 shows the key terms included in RustOnt, as well as their descriptions, in natural language, and specific types (class, relation or attribute). Where a class represents a general term that involves similar characteristics for common individuals [55], a relation represents the association between individuals or classes [56], and the attributes are specific features associated to a class [57]. Indicates the existence of weather variables for a country Relation

Concepts Taxonomies
A taxonomy formalizes the hierarchical relationships among concepts and specifies the term to be used to refer to each. It prescribes the structure and terminology of the ontology and provides a graphical view of concepts. The taxonomy selected for RustOnt employs a graph with rectangles representing classes, ovals as instances created from these classes, and lines denoting relationships. To develop the taxonomy, we have elaborated a glossary of terms verifying that there are not common instances among the concepts. In addition, we defined three general taxonomies for the following classes: Country, Mapping, and Weather_conditions.
The Country class presents a taxonomy that contains the countries where RustOnt can be applied, as Figure 1 shows. The Mapping class represents the set of possible transformations that can be performed with RustOnt. This class is used to transform textual values to their corresponding similar or matching values for an weather variable. The Sample class contains a type of transformation to obtain valid values or samples with units of time (e.g., day, monthly, seasonal, yearly, etc.), speed wind, temperature, humidity, or shadow conditions (e.g., percent, mm, Celsius, h/m, etc.) according to the computer models for the detection of coffee rust infections in each country. These values are instances of the weather variables supported by the RustOnt ontology. The Lexical class denotes a type of transformation to obtain numerical values according to the synonym text or unit of time of the weather variables supported by RustOnt. The taxonomy to mapping is described in Figure 2, where Sample and Lexical have been defined as subclasses.

Ad Hoc Binary Relation Diagrams
The ad hoc binary relation diagrams represent the relationships that connect a set of root concepts of the same or different taxonomies. Where each relation has a domain and range that should be assigned to the classes involved avoiding imprecise or over-specification. Concepts are represented with rectangles, and dotted lines denote their relations.
The complete set of ad hoc relationships between the taxonomic concepts of the RustOnt ontology were described for this task. Figure 4 represents two existing binary relationships between the three main classes that were considered in the ontology.  In addition, Table 4 presents the inverse relationships of the ad hoc binary relationships for the RustOnt ontology. Table 4. Reverse relations of ad hoc binary relations from RustOnt.

Relation Name Inverse Relation
Country has weather conditions Weather conditions of a country Mapping converts weather conditions Weather conditions are used to apply a mapping

Concept Dictionary
The concept Dictionary is used to specify the characteristics for each of the classes defined in RustOnt, as shown in Table 5. The Country class includes the name and three-digit international code features. The instances of this class correspond to countries that consider some variables belonging to the Weather Conditions class, which can be Temperature, Humidity, Shade, Precipitation, and Wind. The Mapping class is a type of class that denotes a transformation or mapping and is divided into two subclasses Lexical or Sample that applies the Converts relationship to transform the instances of the Weather Conditions class. The Weather Conditions class includes weather variables considered by RustOnt, e.g., the Humidity, Precipitation, Temperature, and Wind classes. These classes include different characteristics, such as conditions (greater than, less than), scale (average, minimum, maximum, etc.), minimum and maximum ranges, synonyms, time expressions (month, quarter, semester, etc.), and other units used by these variables. In addition, the Shadow class includes the following characteristics; synonyms, values, and expressions (equations and units).

Instance and Class Attributes
This task has been used to integrate the RustOnt instances selected from the literature survey described in Section 2.1. As described above, the main objective of this search was to obtain the most important climatic conditions used in computer models and technical reports to detect the incidence of coffee rust. Table 6 shows the instances of the RustOnt ontology and the bibliographic references that support their selection.  [27,30,42,60] This task also describes the instance attributes created in RustOnt. Table 7 details the name of each attribute, corresponding classes, and data types (e.g., string, double, etc.).

Rules
Rules define a set of explicit rules to constrain the correct operation of RustOnt. This section describes the rules that are stored in the ontology, including the natural language description and the expression that formally describes each of them. To represent the set of rules, the semantic rules language (SWRL) was used, which allows expressing OWL concepts (classes, attributes, and instances) combined with RuleML to have a high-level syntax. Rule expressions follows the structure: <antecedents or conditions> (body) →< consequence > (head) where antecedents or conditions are conjunctions of atoms A 1 ∧ . . . ∧ A n and functions F 1 (?A 1 , ?A 2 ) ∧ . . . ∧ F n (?A n ), variables are represented with the character '? using the notation ?A n , and the consequence is a single atom.
A total of five rules have been defined for RustOnt. The rule (1) states that a Lexical class defines only instances that match a 'has' relation applied: Rule (2) Rule (4) Rule (5) restricts the converts and 'has' relations on one same instance where they have been applied: converts(?c, ?l) ∧ has(?h, ?s) → swrlb : notEqual(?l, ?s) (5)

Ontology Editor
RustOnt has been modeled with the Protégé ontology editor. Protégé supports OWL 2, RDF, and XML schemes to create and edit ontologies. This software provides logical reasoners, such as HermiT and Pallet, to check for inconsistencies and support inference over the ontologies [61]. Protégé supports two types for ontology modeling: Protégé-Frames and Protégé-OWL [62]. This editor also provides a graphical user interface with tabs to model ontologies. The OntoGraf tab allows visualizing classes, instances, attributes and relationships in a graph. The entities tab allows managing data types, individuals and properties of annotations, data, classes, and objects. The individuals tab allows managing the instances of each class declared in the ontology. The DL query tab allows searching a classified ontology in a simple way using DL queries. The SPARQL tab supports SPARQL queries that provide a syntax for manipulating RDF graphs. Protégé also provides other tools that enable visualization and makes ontology maintenance easier.

Evaluation
RustOnt has been evaluated to ensure the correct construction of its contents, definition, and implementation according to the requirements of the ontology and the competence issues that demonstrate the conformity between the actual model and the formal model [56]. In addition, we completed the evaluation of the competence and quality requirements that verify the correct behavior of the ontology with respect to the software environment, the documentation and reference framework created for its life cycle [63].

Ontology Competency
The competency of an ontological model denotes its ability to answer a set of questions [64]. This criterion is one of the most commonly used to evaluate ontologies [65][66][67] and to verify whether a model is complete with respect to a set of questions related to its competence [63].
The evaluation of this criterion is crucial to verify that a representation model is complete with respect to a set of competency questions [63]. The ontologist engineers and domain experts establishes the questions to be answered once the ontology has been implemented [63]. These questions are benchmarks to determine whether the model is sufficiently complete to represent the questions and solutions [64].
The competency evaluation of an ontology uses description logic (DL) axioms and SPARQL queries to model and answer an initial set of competency questions. We propose five competency questions to evaluate RustOnt (Q1-Q5). The evaluation runs on a laptop Asus S510U, ASUSTek cumputer Inc. Cali, Colombia with an Intel Core i7-8550U processor, 8 GB RAM, and a 64-bit Windows 10, @ 2019 Microsft corporation operating system.

Q1
What types of transformation or mapping are applicable to weather variables in computational models of coffee rust?
The expected response of the ontology is based on the knowledge obtained through the bibliographical review of related work, identifying two ways of representing the values for the different variables [58][59][60]. Lexical involves the use of different ranges to determine the value of a weather variable using a lexical expression or vocabulary [26][27][28]31,[58][59][60]. Sample refers to the different samples or measurements that each work uses for each of the weather variables, in order to obtain the values with which their computational models have been developed .
The following DL axiom (Equation (6)) allows describing the ontology's answer to the competency question Q1: TBox = {Mapping ≡ ∃hasName.xsd : string ∃hasDescription.xsd : string, Sample ⊆ Mapping, Lexical ⊆ Mapping} (6) Figure 5 shows the sample and lexical transformation types supported by the designed ontology. These are subclasses of the Mapping class, which represents the types of transformation or mapping allowed by the ontology. Q2 What are the weather variables taken into account in the computational models of coffee rust? From the bibliographic review, the weather variables Humidity, Precipitation, Shadow, Temperature, and Wind were identified as the most important ones for the development of computational models for the management of coffee rust [58][59][60].
The following DL axiom (Equation (7)) allows describing the response of the ontology to the competency question Q2: Using Protégé 5's Pellet reasoner and executing a DL query (see Figure 6), the weather variables supported by the evaluated ontology are shown: Humidity, Precipitation, Shadow, Temperature, and Wind. There are subclasses of the Weather_conditions class, which groups all the different weather variables supported by the ontology.
To solve the competency questions Q3, Q4, and Q5, a scenario is proposed for each question. The scenario approach is used to represent the queries in an ontology and modeled using the SPARQL language [63,67,68]. The solution to the proposed scenario indirectly answers each competency question.
The following are the competency questions, the scenarios that are used as a tool to answer, the expected response against the scenario, the SPARQL query that represents the solution, and the result that is obtained from the ontology. Q3 What are the meteorological variables considered by each country in the computational models of coffee rust? Scenario 1: In the South American country of Colombia, list the meteorological variables considered in the computational models developed for coffee rust. According to the bibliographical review, the meteorological variables considered by the computational models of coffee rust in Colombia are Temperature, Shadow, Humidity, Precipitation, and Wind, which are used in [29,30,33,37] The following SPARQL query corresponds to the solution for Scenario 1:     Table 10 shows the result of executing in RustOnt the query corresponding to Scenario 3. In addition, for the supported values of the Shadow variable, the attributes of each of the values can also be obtained through a SPARQL query as presented in Figure 7. For example, the attributes for the Fine_Shadow value that have properties such as hasUnit, maxRange, minRange that indicate attributes such as the supported unit which is "Percentage", the minimum range "70" and the maximum range "99" supported for the Fine_Shadow value of the Shadow environment variable. Figure 7 shows how the attributes of each of the values supported by the Shadow variable can be obtained through a SPARQL query. For instance, the attributes for the Fine_Shadow value having properties such as hasUnit (e.g., "Percentage") , maxRange (e.g., 99), and minRange (e.g., 70).
New scenarios can be constructed to query any of the weather variables (Temperature, Shadow, Precipitation, Wind, and Humidity). These scenarios can be evaluated using SPARQL queries that adequately satisfy the competency question Q4. Q5 Given a value for an environment variable, what are the corresponding values it can take depending on the selected region? Scenario 4: A user in the African country of Uganda using RustOnt needs to know what values are allowed for the weather variable temperature. The values reported in the bibliographical review for the weather variable Temperature in Uganda are: daily mean, night mean, daily minimum, daily maximum, daily range, and number of hours when the temperature is below the dew point.
The following query in SPARQL corresponds to the solution for Scenario 4:  Table 11 shows the result obtained after executing the query corresponding to Scenario 4 in the RustOnt ontology.
In addition, Figure 8 shows the SPARQL query with the attributes for the valid samples corresponding to Uganda. For instance, the example Dew_Point shows the hasUnit property with the value "Degrees Centigrade", hasTime with the value "Night", and hasConditions with value "Temperature < Dew Point". As Scenario 4 was designed, it is possible to construct similar scenarios for other countries included in RustOnt by indicating the corresponding values for the weather variables (Temperature, Wind, Shade, Precipitation, and Humidity) on which SPARQL queries are desired. The results for similar scenarios show the details of the valid samples, as previously described for scenario 4. This allows satisfying the competence question Q5.
As demonstrated for each of the initial competency questions, which have been solved through DL modeling or SPARQL queries and their respective answers, it is possible to conclude that RustOnt satisfies the competency requirement, as it provides a solution to a set of questions for which it developed. The results obtained demonstrate the effectiveness of each of the queries in satisfying the competency questions. Very fast response times ranging from 25 ms to 194 ms were obtained for the competency questions Q1, Q2, Q3, and Q4 and 264 ms for the competency question Q5, due to the number of instances supported by the ontology. As the number of instances increases, these times will surely change, however, this would be beyond the scope of the studies reviewed to date to create the instances for RustOnt.

Quality Requirement
The quality assessment of an ontology can be based on several principles for ontology design [69][70][71]. These principles include specific criteria and guidelines for designing and evaluating ontologies. Thanks to these principles, it is possible to determine the quality of an ontology based on the degree to which it meets the design criteria established from its design [63]. The criteria considered for the quality assessment of RustOnt are elaborated upon below.

Object2
Temperature Shadow Humidity   According to [56,71], conceptual clarity can be defined as the capability of the ontology for the effective communication of the intended meaning of defined terms. For this purpose, formal axioms are defined that can be complete (necessary and sufficient conditions) or partial (necessary or sufficient conditions). To satisfy this quality criterion, the ontology was first modeled by defining the formal axioms that were then implemented. Hierarchies were identified, data and object properties were designed and formally declared using a descriptive logic notation. Then, the main concepts of the ontology were defined. Lexical is a type of transformation that can be applied to some variables used by computational models for rust management in each country. It is defined with the pattern "Entity has name and description". Lexical has the Precipitation, Wind, Temperature, and Shadow subclasses (Equation (8)). TBox = {Lexical ≡ ∃hasName.xsd : string ∃hasDescription.xsd : string, Precipitation ⊆ Lexical, Temperature ⊆ Lexical, Wind ⊆ Lexical, Shadow ⊆ Lexical} Sample describes the different measures or values used by each country for the variables of the computational models for the management of coffee rust Sample is also defined as "Entity has name and description". sample has the Precipitation, Temperature, Wind, Humidity, and Shadow subclasses (Equation (9)). TBox = {Sample ≡ ∃hasName.xsd : string ∃hasDescription.xsd : string, Precipitation ⊆ Lexical, Temperature ⊆ Lexical, Wind ⊆ Lexical, Shadow ⊆ Lexical} (9) Precipitation denotes the amount of rainfall that affects the coffee crop in a given period. It is defined as a subclass of Weather_conditions and has the name, description, synonyms, scale, maximum range, minimum range, time, and units properties (Equation (10) Wind denotes the amount of wind that affects the coffee crop in a given period. It is defined as a subclass of Weather_conditions and has the name, description, synonyms, scale, minimum range, maximum range, time, and units properties (Equation (12) Humidity denotes the water vapor content in the air during a given period of coffee cultivation. It is defined as a subclass of Weather_conditions and has the name, description, synonyms, scale, minimum range, maximum range, time, units, and expression properties (Equation (13) Complete definitions were made for the main classes Country, lexical, and sample. Figure 9 shows the concepts defined in the ontology and the complete definition for the concept Country.

Coherence
Coherence or consistency of an ontology denotes that inferred statements should be correct [58,63]. At the very least, the defining axioms should be logically consistent. In addition, the natural language documentation should be coherent with the formal statements. Figure 10 shows the use of the Protégé's Pellet reasoner to assess the coherence of the RustOnt ontology. Using this tool, we verified that it is a consistent ontology model according to class hierarchy, object property hierarchy, data property hierarchy, and class assertions.

Modularity
The modularity consists of decomposing an ontology into independent taxonomies [58,72]. This is a key factor for an ontology, since it allows its reusability and facilitates its maintenance and extension [72]. The modularity of RustOnt has been assessed by splitting the ontology model into two independent ontologies that can be applied in other domains.    The second ontology has been defined for Weather_conditions ( Figure 12). It supports adding new weather conditions corresponding to additional countries and adding new instances in mapping that can provide additional relationships.
Once the evaluation was completed, it was possible to verify that the competence criteria and quality requirements were successfully. This was performed using tools such as Protégé as well as DL queries through modeling scenarios with SPARQL queries and running the Pallet to Protégé reasoner inconsistency check, which was successful for the evaluated ontology. Therefore, it can be affirmed that the evaluated RustOnt ontology complies with the competence and quality requirements established in this work. With the evaluation presented in this section, it has been possible to verify that the competence criteria and quality requirements were satisfactorily met by RustOnt. For this purpose, the tests described for each criterion have been completed using Protégé, DL queries, modeling scenarios with SPARQL queries, and inconsistency tests using the Pallet reasoner. From the results obtained, we can conclude that the RustOnt ontology meets the competence and quality requirements established for this work.

Conclusions and Future Work
Smart agriculture involves using information and communication technologies such as big data analytical techniques, data mining, cloud services, the Internet of Things, natural language processing (NLP), artificial intelligence (AI), and other strategies in agriculture and livestock farming. In this context, smart agriculture helps farmers optimize product quality, preserve natural resources and more effectively protect the environment.
Nevertheless, smart agriculture has created new challenges mainly related to using and exploiting the knowledge that these technologies have acquired and produced from crops and farmers. This knowledge needs to be collected, extracted, analyzed, and stored using mechanisms that allow farmers, experts, and machines to share common knowledge ground to address heterogeneous formats and data types.
Various methods have been developed for knowledge representation, including firstorder logic, formal logic, semantic networks, frame-based systems, and ontologies. From these, ontologies are the most popular due to their ability to effectively analyze entities, usability, reusability, and maintainability.
In this paper, we proposed RustOnt, the first ontology with knowledge obtained from a literature review on the most critical weather variables in coffee cultivation and rust detection in Latin American and African countries. This ontology allows experts to build interoperable systems that exploit knowledge about the relationships between rust and critical weather variables to provide farmers with the information needed to address potential risks, reduce damage due to this disease and improve crop conditions, whilst keeping in mind that weather conditions that may favor its growth.
In addition, RustOnt allows experts to perform different transformations using the weather variables based on their specific values, units, and common expressions. The lexical transformation returns numerical values according to text values that farmers use to describe weather conditions (e.g., hot, cold, tempered, very cold, very hot, etc.) in different regions. The sample transformation provides the samples or valid values for each weather variable according to the selected region. These values and samples were obtained from related studies about computational models for coffee rust [26][27][28]31,59,60].
The evaluation of RustOnt was conducted on a question-based assessment focused on competency and quality requirements. The ontology successfully solved competency queries defined in DL. More complex queries required the definition of scenarios implemented using SPARQL queries. The quality assessment of RustOnt consisted of three criteria: clarity, consistency, and modularity. We defined formal axioms on the main classes to assess clarity, which allowed us to define the terms used and the hierarchy between them. The consistency was related to the clarity of each concept defined in the RustOnt ontology and its validation using the Pallet reasoner of the Protégé tool to infer knowledge about the elements of the ontology (classes, object property, data property and individuals) without contradictions. Furthermore, modularity was achieved by splitting RustOnt into two different modules (weather conditions and mapping), where each module is a representation ontology that can be used as an independent ontology for other domains.
Finally, RustOnt can help the process of data collection, integration, and knowledge exploitation in the field of coffee rust as an asset to create recommendation systems or predictive models that help farmers and experts in decision-making processes avoid adverse scenarios related to coffee rust.
The next step to improve RustOnt is to expand its information basis to include other coffee-producing countries that have not been considered due to the lack of previous studies. This objective can be achieved through initiatives such as the Regional Cooperative Program for the Technological Development and Modernization of Coffee (PROMECAFE) for Latin America and the Uganda Coffee Development Authority (UCDA).
We also want to integrate RustOnt as part of a case-based reasoning (CBR) system widely used in agriculture for crop management [3], traceability [73], yield estimation [74], and pest and disease protection [75][76][77]. RustOnt can improve the retrieval process of a CBR by making the input data less heterogeneous and thus more accurate, so that the search for the most similar case can be more precise according to the system requirements.