Next Article in Journal / Special Issue
Modeling the Context of the Problem Domain of Time Series with Type-2 Fuzzy Sets
Previous Article in Journal
Some Results of Extended Beta Function and Hypergeometric Functions by Using Wiman’s Function
Previous Article in Special Issue
Numerical Study of Powder Flow Nozzle for Laser-Assisted Metal Deposition
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Approach to Building Decision Support Systems Based on an Ontology Service

Department of Information Systems, Ulyanovsk State Technical University, 32 Severny Venetz Street, 432027 Ulyanovsk, Russia
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(22), 2946; https://doi.org/10.3390/math9222946
Submission received: 8 October 2021 / Revised: 12 November 2021 / Accepted: 16 November 2021 / Published: 18 November 2021
(This article belongs to the Special Issue Numerical Analysis and Scientific Computing)

Abstract

:
Modern decision support systems (DSSs) need components for storing knowledge. Moreover, DSSs must support fuzzy inference to work with uncertainty. Ontologies are designed to represent knowledge of complex structures and to perform inference tasks. Developers must use the OWLAPI and SWRL API libraries to use ontology features. They are impossible to use in DSSs written in programming languages not for Java Virtual Machines. The FuzzyOWL library and the FuzzyDL inference engine are required to work with fuzzy ontologies. The FuzzyOWL library is currently unmaintained and does not have a public Git repository. Thus, it is necessary to develop the ontology service. The ontology service must allow working with ontologies and making fuzzy inferences. The article presents ontology models for decision support, fuzzy inference, and the fuzzy inference algorithm. The article considers examples of DSSs for balancing production capacities and image analysis. The article also describes the architecture of the ontology service. The proposed novel ontology models for decision support make it possible to reduce the time of a knowledge base formation. The ontology service can integrate with external systems with HTTP protocol.

1. Introduction

Different organizations or individuals need timely decision support [1,2,3,4,5]. Decision-makers must know the specifics of the context of a subject area for decision support. The context in making decisions determines the conditions and constraints of a subject area [6,7,8]. The context also describes the characteristics (numerical and non-numerical values) of the analyzed object and its relationship with other entities of a subject area. The context is easier to formalize in terms of qualitative rather than quantitative values [9]. Moreover, the large volume and continuous change of data regarding the analyzed object can prevent timely decision-making.
DSSs allow improving the efficiency of the decision-making process. Decision-makers use DSSs for a complete and objective analysis of subject area objects. DSSs take the values of analyzed object properties and give recommendations to a decision-maker (DM). Moreover, DSSs allow hiding the complexity of the context from DM to focus on managing the object. DM only gets objective information and does not process a large amount of data.
The central part of DSS is an inference system [9,10,11,12,13,14,15,16,17]. An inference system allows inferring results based on information about an analyzed object within a context. In some cases, knowledge about the analyzed object and context can be represented with a high degree of uncertainty. Then the properties of the analyzed object can be described in linguistic terms. In this case, fuzzy inference systems (FISs) can be used to work with uncertainty.
A FIS can be implemented based on various methods: machine learning [14,16], fuzzy controller or simulator [9,10,11,12,13], knowledge base [6,7,8,15,16,17].
A trained machine learning model produces a result in a reasonable amount of time [14,16]. A machine learning model is a black box, so it is difficult to explain the reason for its decisions. The results of fuzzy controllers or simulators are formed by inference and based on a set of fuzzy rules [9,10,11,12,13]. However, such rules are usually not contextualized, which can produce logical errors and inconsistencies. Knowledge bases require the involvement of an expert and time for development, but they allow describing the analyzed object considering context features [6,7,8,15,16,17]. Moreover, knowledge bases allow controlling the logical consistency of facts.
The following main approaches are used for the building of DSS knowledge bases:
  • Hybridization of ontological engineering methods with other approaches [16];
  • Formation of new inference mechanisms [15];
  • Formation of core ontologies to support the DSS building process [15,16,17].
A significant disadvantage of existing approaches to building a DSS is that it regards focusing on a specific subject area, which makes it hard to develop a DSS for other subject areas.
This article describes a service for creating a DSS based on an ontology with support for fuzzy inference. An ontology forms the basis of a DSS knowledge base. Moreover, the article discusses novel ontology models for organizing decision support processes and fuzzy inference. These ontologies reduce the time to a DSS knowledge base formation. A set of SWRL rules defines the logic of inference in a DSS. The DM must complete the following steps to receive recommendations from the ontology service:
  • Describe the context based on the proposed ontology.
  • Create a set of SWRL-rules for inference.
  • Send data about the analyzed object to the service.
The developed ontology service allows creating a DSS for any subject area.
The ontology service provides the basis for DSS building. The service also allows using the resulting knowledge base within any software application. Now, the OWL API and SWRLAPI libraries are used for full-fledged work with ontologies. These libraries are written for the JVM platform, which does not allow simple usage within other technological stacks. Moreover, the JVM platform has significant hardware requirements. The developed service allows access to inference functions via the HTTP protocol. Thus, the service allows the building of a DSS that can be used within any software system. The proposed ontology models and algorithms make it possible to extend the basis for building a DSS. Any ontology can be used if necessary.
Moreover, the developed service contains a module for fuzzy inference. Currently, there are no easy-to-use/out-of-the-box tools for working with fuzzy ontologies. An ontology model to fuzzy logical inference has been developed. This model allows creating fuzzy sets and describing membership functions and linguistic terms. No additional tools are needed. Crisp numerical values are fuzzified to linguistic terms in the process of fuzzy inference. The obtained degrees of membership are used to calculate the truth degree of the inference result. A user is getting more results (more high recall) within fuzzy inference. Crisp (binary logic) rules and linguistic terms are used for fuzzy inference, the calculation of the truth degree is performed transparently for the user.
The organization of the paper is conducted in the following way. Section 2 describes the basic concepts that the novel developed approach uses. Section 3 describes novel ontology models for DSS creation and fuzzy inference. Section 3 describes the architecture of the developed ontology service. Section 4 presents examples of DSS for balancing production capacities and image analysis created with the ontology service. In Section 5, the approach is discussed in detail. The paper ends with the conclusions.

2. Preliminaries

This section discusses the basic concepts that the proposed approach uses. Section 2.1 contains an introduction to ontologies and descriptive logic. Section 2.2 covers the basics of fuzzy inference.

2.1. Ontologies

Ontological models of knowledge representation allow combining the advantages of declarative and production models [18]. Ontologies can describe the features of a subject area and a set of inference rules. Atoms of logical rules are objects of a subject area.
The following expression can represent any ontology [18]:
O = C , I , R , F ,
where C is a set of ontology classes. Classes describe entities of a subject area;
I is a set of ontology individuals. Individuals describe instances of ontology classes;
R is a set of ontology properties:
R = { R C , R D } ,
where R C is a tie between ontology classes (object property); R D is a tie between ontology class and data type (data property). Ontology ties describe the properties of subject area objects represented by classes. F is a set of ontology interpretation functions. Interpretation functions infer new knowledge based on the knowledge already contained in the ontology.
Ontologies are based on different description logics (DL). DL allow formalizing the description of the subject area. Moreover, DL can guarantee the logical integrity and consistency of the ontology. DL have decidability and relatively low computational complexity. The features of DL provide a compromise between expressiveness and decidability. Moreover, DL differ in terms of expressiveness. The base family of DL is ALC . Extensions of ALC form new types of logic with a higher level of expressiveness. Any ontology is a set of terminology and assertions in terms of DL [19]:
O = { T B o x , A B o x } ,
where T B o x is a terminological box. The TBox contains sentences describing concepts and relations between concepts; A B o x is a assertional box. The ABox contains ground sentences about relations between individuals and concepts.
The OWL 2 standard is currently used as a formal language for representing ontologies. OWL 2 provides the expressiveness of SROIQ ( D ) , OWL-DL is based on SHOIN ( D ) , and for OWL-Lite it is SHIF ( D ) [19].
SWRL language and its extension SQWRL [20] are used to describe a set of logical rules in OWL 2.
Table 1 contains DL operators and axioms that can be used to describe terminology and assertions in ontology [19].
Various ontology reasoners are used to inference. The main functions of reasoners are [21]:
  • Checking the ontology consistency;
  • Formation of classes taxonomy;
  • Execution of queries to ontology.

2.2. Fuzzy Inference

Fuzzy inference is actively used in various intelligent systems [12,13,14]. Conclusions about the state of some objects based on the analysis of its current state are formed with fuzzy inference. The following concepts of the fuzzy sets theory are used for fuzzy inference [22,23]:
  • Membership functions;
  • Linguistic variables;
  • Fuzzy implication methods.
A membership function in fuzzy logic determines a membership degree of the elements of a universal set to some fuzzy set.
Fuzzy set for a universal set U and a membership function μ : U [ 0 , 1 ] is defined as [22,23]:
A ˜ = { u , μ A ( x ) | u U } .
Membership function μ A ( x ) quantitatively grades the membership of the elements of a universal set u U to a fuzzy set A ˜ . Membership degree 0 means that an element is not included in a fuzzy set, and membership degree 1 describes a fully included element. Values between 0 and 1 represent fuzzy included elements.
A linguistic variable in THE fuzzy set theory takes THE semantic of terms in a natural or formal language. Terms represent fuzzy variables and are described by a fuzzy set.
A linguistic variable can be represented as an expression [23]:
L T = { x , T ( x ) , X , G , M } ,
where x is a variable name; T ( x ) is a set of values of a linguistic variable x. Each value of a set is a fuzzy variable on a set X; G is a is a set of additional features for generating new x values; M is a mathematical rule for determining the type of membership function for each value formed based on a G set.
For example, for the linguistic variable ‘age’:
  • x is an age;
  • X a set of integers from the range [0, 120];
  • T ( x ) is a set of fuzzy variables: ‘young’, ‘mature’, ‘old’. It is necessary to set a membership function that specifies information about what age should be considered ‘young’, ‘mature’, ‘old’;
  • G is a set of additional features: ‘very’, ‘not very’. Additional features are used to create new fuzzy variables. For example, ‘very young’ and ‘not very old’, etc.
Fuzzy inference is executed based on fuzzy rules. A set of fuzzy rules form a fuzzy production system in the context of some subject area. A fuzzy rule can be represented as the expression:
R = K , E , W ,
where K is the core of a fuzzy rule of the following form:
K = A C ,
where A = { A 1 , A 2 , , A i , , A n } is an antecedent of a rule consisting of many atoms A i ; C = { C 1 , C 2 , , C i , , C k } is a consequent of a rule consisting of atoms C i . Atoms of a fuzzy rule must represent single and compound statements connected by binary operations AND and OR; E function for determining a truth degree (from range (0; 1)) of a fuzzy rule result; W is a fuzzy rule weight.
The fuzzy inference consists of the following steps:
  • Fuzzification. Fuzzification is used to switch from numerical indicators of object properties to linguistic variables. The values of all input variables are associated with specific values of the membership functions of linguistic terms from antecedents of fuzzy rules at the fuzzification stage. If the truth degrees of all atoms of antecedents of a fuzzy rule are found, then fuzzification is considered fulfilled.
  • Aggregation. A truth degree of antecedents for each rule is determined at the aggregation stage. If an antecedent of a fuzzy rule contains one atom, then a truth degree of an antecedent is a truth degree of this atom. A truth degree of an atom is calculated based on the value of a membership function of a linguistic variable term. If an antecedent of a rule contains several atoms, then a truth degree is calculated based on the truth degrees of the antecedent atoms using fuzzy logic operations. The fuzzy logical AND ( m i n ) operator is usually used.
  • Activation. A truth degree of each consequent atom of the fuzzy rule is determined at the stage of activation. A truth degree of each consequent atom is equal to the algebraic product of a rule weight and a truth degree of a rule antecedent. If weights of production rules are not specified, then their default values are equal to one. Minimum and average functions can be used to calculate truth degrees in addition to the algebraic product.
  • Accumulation. A membership function is formed for each linguistic variable from the consequent fuzzy rules at the accumulation stage. Accumulation is based on the union of fuzzy sets of all consequent atoms for some linguistic variable.
  • Defuzzification. The result of defuzzification is quantitative (crisp) values for each output linguistic variable based on the results of the accumulation of all output linguistic terms from THE consequences of fuzzy rules.
The considered stages of fuzzy inference can be implemented in various ways. Different bases of fuzzy logic, different approaches to combining sets, different approaches to activation and defuzzification, etc., can be used at different stages. The following fuzzy inference algorithms are actively used [9,10,11,12,13,14,24]: Mamdani algorithm, Tsukamoto algorithm, Larsen algorithm, Sugeno algorithm, and simplified fuzzy inference algorithm.

3. Novel Ontology Models for Decision Support and Fuzzy Inference

This section presents novel ontology models for decision support and fuzzy inference. Section 3.1 discusses the model and logical representation of the ontology for decision support. Section 3.2 describes the proposed mechanism for THE recommendations inference. Section 3.3 discusses the model and logical representation of the ontology for fuzzy inference. Section 3.4 describes the proposed fuzzy inference algorithm. Section 3.5 presents the architecture of the developed ontology service.

3.1. Model and Logical Representation of the Ontology for Decision Support

The novel model of the ontology for decision support allows to describe:
  • Entities for organizing decision support;
  • Entities of a subject area.
The model of the ontology for decision support can be presented by the following expression:
O D M = D e c i s i o n , D o m a i n , R D M ,
where D e c i s i o n is the component for describing entities for decision support; D o m a i n is the component for describing the entities of a subject area; R D M is a set of ties between components.
The D e c i s i o n component looks as follows:
D e c i s i o n = S t a t e s , R e c o m m e n d a t i o n s , I n f e r e n c e , R u l e s ,
where S t a t e s is a set of states of analyzed objects; R e c o m m e n d a t i o n s is a set of textual recommendations for analyzed objects managing; I n f e r e n c e is a set of inferred states of analyzed objects; R u l e s is a set of interpretation functions represented by SWRL rules.
The D o m a i n component looks as follows:
D o m a i n = O b j e c t s , E n t i t i e s , R D o m a i n ,
where O b j e c t s is a set of analyzed objects; E n t i t i e s is a set of entities from a subject area that affects on states of analyzed objects; R D o m a i n is a set of ties between the analyzed objects and entities.
R D M can be represented as:
R D M = { R S D M , R R D M } ,
where R S D M is a set of ties between an analyzed object and its possible states; R R D M is a set of ties between an analyzed object and recommendations for its management.
Logical representation of the ontology for decision support (Equation (1)) in SHOIN ( D ) DL notation looks like:
D e c i s i o n D o m a i n I n f e r e n c e R e c o m m e n d a t i o n s D e c i s i o n S t a t e s D e c i s i o n E n t i t i e s D o m a i n O b j e c t s D o m a i n D e c i s i o n D o m a i n R e c o m m e n d a t i o n s S t a t e s E n t i t i e s O b j e c t s D e c i s i o n h a s D e s c r i p t i o n . S t r i n g h a s D e s c r i p t i o n . S t r i n g = 1 h a s D e s c r i p t i o n . S t r i n g D o m a i n h a s N a m e . S t r i n g h a s N a m e . S t r i n g = 1 h a s N a m e . S t r i n g E n t i t i e s c o n n e c t T o O b j e c t . O b j e c t s n o t C o n n e c t T o O b j e c t . O b j e c t s O b j e c t s c o n n e c t T o E n t i t y . E n t i t i e s n o t C o n n e c t T o E n t i t y . E n t i t i e s h a s R e c o m m e n d a t i o n . R e c o m m e n d a t i o n s h a s R e c o m m e n d a t i o n . R e c o m m e n d a t i o n s h a s N u m e r i c V a l u e . D o u b l e = 1 h a s N u m e r i c V a l u e . D o u b l e h a s S t a t e . S t a t e h a s S t a t e . S t a t e D i s ( c o n n e c t T o O b j e c t , n o t C o n n e c t T o O b j e c t ) D i s ( c o n n e c t T o E n t i t y , n o t C o n n e c t T o E n t i t y ) I n v ( c o n n e c t T o O b j e c t ) c o n n e c t T o E n t i t y I n v ( n o t C o n n e c t T o O b j e c t ) n o t C o n n e c t T o E n t i t y
where:
  • D e c i s i o n is a parent class for decision support entities (Equation (2)). D e c i s i o n class has the following properties:
    -
    h a s D e s c r i p t i o n is a functional property for defining a textual description;
    -
    D e c i s i o n and D o m a i n classes are disjoint classes. The same individual cannot be an instance of disjoint classes;
  • D o m a i n is a parent class for describing entities of a subject area (Equation (3)). D o m a i n class has the following properties:
    -
    h a s N a m e is a functional property for defining the name of an entity;
    -
    D e c i s i o n and D o m a i n classes are disjoint classes;
  • I n f e r e n c e is a parent class for inferred states of analyzed objects;
  • R e c o m m e n d a t i o n s is a class for describing recommendations for analyzed objects managing. R e c o m m e n d a t i o n s class inherits properties from parent class D e c i s i o n . R e c o m m e n d a t i o n s and S t a t e s classes are disjoint classes;
  • S t a t e s is a class for describing the states of analyzed objects. S t a t e s class inherits properties from parent class D e c i s i o n . R e c o m m e n d a t i o n s and S t a t e s classes are disjoint classes;
  • E n t i t i e s is a class for describing entities from a subject area that affects on states of analyzed objects. E n t i t i e s class has the following properties:
    -
    E n t i t i e s class inherits properties from parent class D o m a i n ;
    -
    E n t i t i e s and O b j e c t s classes are disjoint classes;
    -
    c o n n e c t T o O b j e c t is a property for determining ties between individuals of classes E n t i t i e s and O b j e c t s ;
    -
    n o t C o n n e c t T o O b j e c t is a property for determining non-existence ties between individuals of classes E n t i t i e s and O b j e c t s ;
    -
    c o n n e c t T o O b j e c t and n o t C o n n e c t T o O b j e c t are disjoint properties. The same individuals cannot be values of disjoint properties at the same time for the same individual;
    -
    c o n n e c t T o O b j e c t property is an inverse property for c o n n e c t T o E n t i t y property of class O b j e c t s . Only one property can be instantiated when using inverse properties. An instance of the second property for two individuals will be inferred automatically;
  • O b j e c t s is a class for describing analyzed objects. The O b j e c t s class has the following properties:
    -
    O b j e c t s class inherits properties from parent class D o m a i n ;
    -
    O b j e c t s and E n t i t i e s classes are disjoint classes;
    -
    c o n n e c t T o E n t i t y is a property for determining ties between individuals of classes O b j e c t s and E n t i t i e s ;
    -
    n o t C o n n e c t T o E n t i t y is a property for determining non-existence ties between individuals of classes O b j e c t s and E n t i t i e s ;
    -
    h a s R e c o m m e n d a t i o n is a property for defining recommendations for analyzed objects managing;
    -
    h a s N u m e r i c V a l u e is a functional property for determining a numerical value of a property of analyzed objects;
    -
    h a s S t a t e is a property for determining the state of analyzed objects;
    -
    c o n n e c t T o E n t i t y and n o t C o n n e c t T o E n t i t y are disjoint properties;
    -
    c o n n e c t T o E n t i t y property is inverse property for c o n n e c t T o O b j e c t the property of class E n t i t i e s .

3.2. Proposed Mechanism for Recommendations Inference

This section describes the mechanism for recommendations inference based on the decision support ontology. The mechanism for recommendations inference is based on a set of interpretation functions R u l e s (Equation (2)). Interpretation functions are represented by logical rules in the SWRL and SQWRL languages. These rules are a significant part of the proposed decision support ontology and are applied all at once.
Let us consider the main types of interpretation functions and examples of their implementation in the SWRL language:
  • Function for a transition from a numerical value of a property of an analyzed object to some state of an object:
    • Calculating a degree of membership of a numerical value in a fuzzy set (described in Section 3.4);
    • Determining the occurrence of a numeric value in a numeric range:
      O b j e c t ( ? o ) h a s N u m e r i c V a l u e ( ? o , ? v ) s w r l b : g r e a t e r T h a n ( ? v , 50 ) s w r l b : l e s s T h a n O r E q u a l ( ? v , 100 ) I n f e r e n c e ( ? o )
  • Function for assigning a textual description to states of an analyzed object:
    I n f e r e n c e ( ? o ) S t a t e ( ? s ) h a s S t a t e ( ? o , ? s )
  • Function for displaying textual descriptions of states of an analyzed object:
    h a s S t a t e ( ? o , ? s ) h a s D e s c r i p t i o n ( ? s , ? d ) s q w r l : s e l e c t ( ? o , ? d )
  • Function for assigning textual recommendations for objects managing to an analyzed object:
    h a s S t a t e ( ? o 1 , ? s 1 ) h a s S t a t e ( ? o 2 , ? s 2 ) R e c o m m e n d a t i o n s ( ? r ) h a s R e c o m m e n d a t i o n ( ? o 1 , ? r ) h a s S u m m a r i s a t i o n ( ? o 2 , ? r )
  • Function for displaying textual recommendations for analyzed objects managing:
    h a s R e c o m m e n d a t i o n ( ? o , ? r ) h a s D e s c r i p t i o n ( ? r , ? d ) s q w r l : s e l e c t D i s t i n c t ( ? o , ? r , ? d )

3.3. Model and Logical Representation of the Ontology for Fuzzy Inference

This section discusses the model and logical representation of the ontology for fuzzy inference. This ontology allows describing fuzzy sets and defining various membership functions.
The model of the ontology for fuzzy inference can be represented by the following expression:
O F I = S e t s , F u n c t i o n s , M e m b e r s h i p , R F I ,
where S e t s is a set of fuzzy sets; F u n c t i o n s is a set of membership functions; M e m b e r s h i p is a set of membership degrees of entities to fuzzy sets; R F I is a set of ties between components.
At the moment, the ontology service supports the following membership functions:
  • Crisp.
  • Linear.
  • Trapezoidal.
  • Triangular.
Logical representation of the ontology for fuzzy inference (Equation (4)) in SHOIN ( D ) DL notation looks like:
F u z z y S e t M e m b e r s h i p F u n c t i o n M e m b e r s h i p V a l u e T e r m C r i s p M e m b e r s h i p F u n c t i o n L i n e a r M e m b e r s h i p F u n c t i o n T r a p e z o i d a l M e m b e r s h i p F u n c t i o n T r i a n g u l a r M e m b e r s h i p F u n c t i o n F u z z y S e t M e m b e r s h i p F u n c t i o n M e m b e r s h i p V a l u e T e r m C r i s p L i n e a r T r a p e z o i d a l T r i a n g u l a r F u z z y S e t h a s N a m e . S t r i n g h a s N a m e . S t r i n g = 1 h a s N a m e . S t r i n g h a s T e r m . T e r m M e m b e r s h i p F u n c t i o n ( C r i s p L i n e a r T r a p e z o i d a l T r i a n g u l a r ) c r i s p V a l u e s . D o u b l e l i n e a r V a l u e s . D o u b l e t r a p e z o i d a l V a l u e s . D o u b l e t r i a n g u l a r V a l u e s . D o u b l e c r i s p V a l u e M i n c r i s p V a l u e s c r i s p V a l u e M a x c r i s p V a l u e s l i n e a r V a l u e M i n l i n e a r V a l u e s l i n e a r V a l u e M a x l i n e a r V a l u e s t r a p e z o i d a l V a l u e M i n t r a p e z o i d a l V a l u e s t r a p e z o i d a l V a l u e M a x t r a p e z o i d a l V a l u e s t r a p e z o i d a l V a l u e M i d L o w t r a p e z o i d a l V a l u e s t r a p e z o i d a l V a l u e M i d H i g h t r a p e z o i d a l V a l u e s t r i a n g u l a r V a l u e M i n t r i a n g u l a r V a l u e s t r i a n g u l a r V a l u e M i d t r i a n g u l a r V a l u e s t r i a n g u l a r V a l u e M a x t r i a n g u l a r V a l u e s C r i s p ( 1 c r i s p V a l u e M i n 1 c r i s p V a l u e M a x ) L i n e a r ( 1 l i n e a r V a l u e M i n 1 l i n e a r V a l u e M a x ) T r a p e z o i d a l ( 1 t r a p e z o i d a l V a l u e M i n 1 t r a p e z o i d a l V a l u e M i d L o w 1 t r a p e z o i d a l V a l u e M i d H i g h 1 t r a p e z o i d a l V a l u e M a x ) T r i a n g u l a r ( 1 t r i a n g u l a r V a l u e M i n 1 t r i a n g u l a r V a l u e M i d 1 t r i a n g u l a r V a l u e M a x ) M e m b e r s h i p V a l u e m e m b e r s h i p . D o u b l e m e m b e r s h i p . D o u b l e m e m b e r s h i p E n t i t y . S t r i n g m e m b e r s h i p E n t i t y . S t r i n g T e r m m e m b e r s h i p F u n c t i o n . M e m b e r s h i p F u n c t i o n m e m b e r s h i p F u n c t i o n . M e m b e r s h i p F u n c t i o n m e m b e r s h i p E n t i t y . S t r i n g m e m b e r s h i p E n t i t y . S t r i n g 1 I n v ( h a s M e m b e r s h i p V a l u e ) . M e m b e r s h i p V a l u e
where:
  • F u z z y S e t is a parent class for describing fuzzy sets. F u z z y S e t class has the following properties:
    -
    h a s N a m e is a functional property for defining a name of a fuzzy set;
    -
    h a s T e r m is a property for determining a tie between a fuzzy set and a linguistic term;
    -
    F u z z y S e t , M e m b e r s h i p F u n c t i o n , M e m b e r s h i p V a l u e and T e r m classes are disjoint classes;
  • M e m b e r s h i p F u n c t i o n is a parent class for describing a membership function. M e m b e r s h i p F u n c t i o n class has the following properties:
    -
    M e m b e r s h i p F u n c t i o n class is covered by classes C r i s p , L i n e a r , T r a p e z o i d a l and T r i a n g u l a r ;
    -
    l i n e a r V a l u e M i n , l i n e a r V a l u e s , t r a p e z o i d a l V a l u e s , t r i a n g u l a r V a l u e s are properties for determining the parameters of membership functions;
    -
    F u z z y S e t , M e m b e r s h i p F u n c t i o n , M e m b e r s h i p V a l u e and T e r m classes are disjoint classes;
  • C r i s p is a class for describing a crisp membership function. C r i s p class has the following properties:
    -
    c r i s p V a l u e M i n , c r i s p V a l u e M a x are functional properties for defining the parameters of a crisp membership function. These properties are sub-properties of the c r i s p V a l u e s property;
    -
    C r i s p , L i n e a r , T r a p e z o i d a l and T r i a n g u l a r classes are disjoint classes;
  • L i n e a r is a class for describing a linear membership function. L i n e a r class has the following properties:
    -
    l i n e a r V a l u e M i n , l i n e a r V a l u e M a x are functional properties for defining the parameters of a linear membership function. These properties are sub-properties of the l i n e a r V a l u e s property;
    -
    C r i s p , L i n e a r , T r a p e z o i d a l and T r i a n g u l a r classes are disjoint classes;
  • T r a p e z o i d a l is a class for describing a trapezoidal membership function. T r a p e z o i d a l class has the following properties:
    -
    t r a p e z o i d a l V a l u e M i n , t r a p e z o i d a l V a l u e M i d L o w , t r a p e z o i d a l V a l u e M i d H i g h , t r a p e z o i d a l V a l u e M a x are functional properties for defining the parameters of a trapezoidal membership function. These properties are sub-properties of the t r a p e z o i d a l V a l u e s property;
    -
    C r i s p , L i n e a r , T r a p e z o i d a l and T r i a n g u l a r classes are disjoint classes;
  • T r i a n g u l a r is a class for describing a triangular membership function. T r i a n g u l a r class has the following properties:
    -
    t r i a n g u l a r V a l u e M i n , t r i a n g u l a r V a l u e M i d , t r i a n g u l a r V a l u e M a x are functional properties for defining the parameters of a triangular membership function. These properties are sub-properties of the t r i a n g u l a r V a l u e s property;
    -
    C r i s p , L i n e a r , T r a p e z o i d a l and T r i a n g u l a r classes are disjoint classes;
  • M e m b e r s h i p V a l u e is a class for describing the membership degrees of entities to fuzzy sets. M e m b e r s h i p V a l u e class has the following properties:
    -
    m e m b e r s h i p is a property for determining a value of a membership degree;
    -
    m e m b e r s h i p E n t i t y is a property for defining a linguistic term. The name of any entity of the ontology can be used as a term;
    -
    F u z z y S e t , M e m b e r s h i p F u n c t i o n , M e m b e r s h i p V a l u e and T e r m classes are disjoint classes;
  • T e r m a class for describing a tie between a linguistic term and a membership function. T e r m class has the following properties:
    -
    m e m b e r s h i p F u n c t i o n is a property for determining a membership function;
    -
    m e m b e r s h i p E n t i t y is a property for defining a linguistic term;
    -
    F u z z y S e t , M e m b e r s h i p F u n c t i o n , M e m b e r s h i p V a l u e , and T e r m classes are disjoint classes;
  • h a s M e m b e r s h i p V a l u e is an inverse functional property for determining the degree of membership of any entity ontology in a fuzzy set.

3.4. Fuzzy Inference Algorithm

This section describes the fuzzy inference algorithm. The proposed algorithm implements the following stages of fuzzy inference: fuzzification, aggregation, and activation.
Algorithm of the fuzzification stage of a fuzzy inference:
  • A user specifies a fuzzy set for each numeric indicator. A fuzzy set is defined by the name of an individual of F u z z y S e t class.
  • The degree of membership of a quantitative indicator is calculated for each individual of T e r m class, specified as a range of the property h a s T e r m of selected fuzzy set. The implementation of a membership function is used to calculate a degree of membership, specified as a range of m e m b e r s h i p F u n c t i o n property of a current linguistic term.
  • The result of fuzzification is added to the ontology by creating individuals of M e m b e r s h i p V a l u e class. m e m b e r s h i p property determines a degree of membership, and a range of m e m b e r s h i p E n t i t y property is copied from a corresponding individual of T e r m class.
Algorithm of stages of aggregation and activation of fuzzy inference:
  • F T dependencies tree of R u l e s interpretation functions is formed [25].
  • All rules of level with the highest depth index ( i = t d ( F T ) ) are processed: F T ˜ = { F T j F T | j = i } .
  • Following values are calculated for each rule ( F T ˜ j = A C ) from set F T ˜ :
    • truth degree using the intersection of fuzzy sets of atoms of an antecedent of a rule: A P = m a x ( A 1 , A 2 , , A n ) . If there is no fuzzy set for an atom, then an atom is skipped;
    • truth degree of a consequent of a rule is set equal to the truth degree of an antecedent condition: C P = A P . If it is impossible to calculate a truth degree of a consequent, then this step is skipped.
  • Truth degree of consequents and antecedents is calculated, considering calculations performed at the previous step when moving to a higher level of the tree ( i = i 1 ).
  • The algorithm continues to run until it reaches the root node of F T dependency tree ( i = 0 ).
The results of SQWRL queries are displayed in descending order of a truth degree of consequents.

3.5. Architecture of the Developed Ontology Service

This section discusses the architecture of the ontology service for building decision support systems. The service is written in the Java language. Moreover, the OWL API library [26] is used to work with OWL ontologies. The SWRLAPI library [27] is used to work with SWRL rules. The service API is based on the REST architectural style [28]. Interaction with the service is based on the HTTP protocol. Data is transmitted in JSON format [29]. PostgreSQL is used as the repository of ontologies. Thus, OWL files are stored in PostgreSQL as binary data.
The service has several types of methods to:
  • working with ontologies:
    • Upload new ontology;
    • Update uploaded ontology;
    • Delete uploaded ontology;
    • Download uploaded ontology;
    • Get a list of all uploaded ontologies.
  • Working with SWRL rules:
    • Get a list of all SWRL rules contained in the specified ontology;
    • Get a list of all SQWRL queries contained in the specified ontology;
    • Execution of a user-selected SQWRL query or queries in a specified ontology (crisp inference);
    • Execution of a user-selected SQWRL query or queries in the specified ontology with the preliminary addition of axioms in the ontology ABox (crisp inference);
    • Execution of a user-selected SQWRL query or queries in a specified ontology (fuzzy inference);
    • Execution of a user-selected SQWRL query or queries in the specified ontology with the preliminary addition of axioms in the ontology ABox (fuzzy inference).
Figure 1 shows the architectural diagram of the developed ontology service.
Algorithm of interaction with the ontology service from an expert point of view: (Figure 1):
  • Formalization of expert knowledge in the form of ontology.
  • Saving the ontology to an OWL file.
  • Uploading the ontology to the service.
  • Validation of logical integrity and consistency of the ontology.
  • Saving the ontology in PostgreSQL as binary data.
Algorithm of interaction with the ontology service from a user point of view (Figure 1):
6.
Execution of SQWRL queries.
7.
Selection of a required ontology from a database.
8.
Loading a required ontology from PostgreSQL.
9.
Fuzzification of numeric values if using fuzzy inference.
10.
Aggregation and activation of truth degrees of rules if using fuzzy inference.
11.
Output of inference results.

4. Examples of DSSs Created with the Ontology Service

This section presents examples of DSSs created with the ontology service. The extended ontology of decision support (Section 3.1) is used as a knowledge base. The extended fuzzy inference ontology (Section 3.3) and proposed fuzzy inference algorithm (Section 3.4) are used for fuzzy inference.
Moreover, experiments to evaluate the quality of created DSSs are presented in this section. The quality of the DSS is determined using two indicators: precision and recall.
The precision is calculated as:
P = | C o r r e c t | / | T o t a l | × 100 ,
where | C o r r e c t | is a number of correct DSS results; | T o t a l | is a number of DSS results.
The recall is calculated based on the following expression:
R = | T o t a l | / | R u l e s | × 100 ,
where | T o t a l | is a number of DSS results; | R u l e s | is a number of rules assigning textual descriptions and recommendations.
Section 4.1 presents the example of the DSS for balancing production capacities. Section 4.2 describes the example of the DSS for image analysis.

4.1. DSS for Balancing Production Capacities

The capacity management includes the next steps:
  • Developing technical passport of the enterprise;
  • Calculating the capacities for each production unit and the enterprise as a whole;
  • Developing a shortage control strategy;
  • Generating a consolidated report with the forecast to implement the product program;
  • Calculating the capacity balance.
The balancing of production capacities in this example will be based on the numerical values of the performance indicators of employees ( E m p l o y e e P o w e r ) and tools ( T o o l P o w e r ).
It is necessary to add the following axioms to the decision support ontology:
  • states of production indicators (low, medium, and high) must be added to the the D e c i s i o n component (Equation (2)):
    H i g h I n f e r e n c e L o w I n f e r e n c e M i d d l e I n f e r e n c e
  • states of production (bad and good) must be added to the the D e c i s i o n component (Equation (2)):
    B a d I n f e r e n c e G o o d I n f e r e n c e
  • textual representations of states of production indicators must be added to the the D e c i s i o n component (Equation (2)):
    S t a t e H i g h : S t a t e s ( S t a t e H i g h , H i g h v a l u e ) : h a s D e s c r i p t i o n S t a t e M i d d l e : S t a t e s ( S t a t e H i g h , M i d d l e v a l u e ) : h a s D e s c r i p t i o n S t a t e L o w : S t a t e s ( S t a t e H i g h , L o w v a l u e ) : h a s D e s c r i p t i o n
  • textual representations of recommendations must be added to the the D e c i s i o n component (Equation (2)):
    E P B a d : R e c o m m e n d a t i o n s ( E P B a d , E P B a d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n E P G o o d : R e c o m m e n d a t i o n s ( E P G o o d , E P G o o d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n T P B a d : R e c o m m e n d a t i o n s ( T P B a d , T P B a d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n T P G o o d : R e c o m m e n d a t i o n s ( T P G o o d , T P G o o d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n E P T P B a d : R e c o m m e n d a t i o n s ( E P T P B a d , E P T P B a d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n E P T P G o o d : R e c o m m e n d a t i o n s ( E P T P G o o d , E P T P G o o d r e c o m m e n d a t i o n ) : h a s R e c o m m e n d a t i o n
  • production indicators and their numerical values must be added to the D o m a i n (Equation (3)) component:
    E m p l o y e e P o w e r O b j e c t s T o o l P o w e r O b j e c t s E m p l o y e e P o w e r : E m p l o y e e P o w e r ( E m p l o y e e P o w e r , 4610.41 ) : h a s N u m e r i c V a l u e T o o l P o w e r : T o o l P o w e r ( T o o l P o w e r , 2700.0 ) : h a s N u m e r i c V a l u e
Consider a set of SWRL rules for the transition from numerical values of production indicators to individuals of the S t a t e s class by determining the occurrence of a numeric value in a numeric range:
  • E m p l o y e e P o w e r indicator has state L o w if its value is in the range of 0 to 2000:
    E m p l o y e e P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : l e s s T h a n O r E q u a l ( ? v a l , 2000 ) L o w ( ? i n d )
  • E m p l o y e e P o w e r indicator has state M i d d l e if its value is in the range of 2000 to 4000:
    E m p l o y e e P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : g r e a t e r T h a n ( ? v a l , 2000 ) s w r l b : l e s s T h a n O r E q u a l ( ? v a l , 4000 ) H i g h ( ? i n d )
  • E m p l o y e e P o w e r indicator has state H i g h if its value is greater than 4000:
    E m p l o y e e P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : g r e a t e r T h a n ( ? v a l , 4000 ) H i g h ( ? i n d )
  • T o o l P o w e r indicator has state L o w if its value is in the range of 0 to 1000:
    T o o l P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : l e s s T h a n O r E q u a l ( ? v a l , 1000 ) L o w ( ? i n d )
  • T o o l P o w e r indicator has state M i d d l e if its value is in the range of 1000 to 3000:
    T o o l P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : g r e a t e r T h a n ( ? v a l , 1000 ) s w r l b : l e s s T h a n O r E q u a l ( ? v a l , 3000 ) H i g h ( ? i n d )
  • T o o l P o w e r indicator has state H i g h if its value is greater than 3000:
    T o o l P o w e r ( ? i n d ) h a s N u m e r i c V a l u e ( ? i n d , ? v a l ) s w r l b : g r e a t e r T h a n ( ? v a l , 3000 ) H i g h ( ? i n d )
Next, the following fuzzy sets should be added to the ontology for fuzzy inference:
  • for E m p l o y e e P o w e r indicator: F u z z E P : F u z z y S e t ;
  • for T o o l P o w e r indicator: F u z z T P : F u z z y S e t .
It is necessary to add axioms to the ontology for fuzzy inference to determine the membership functions for production indicators for fuzzification of the values of production indicators (Figure 2):
  • Linguistic term L o w for the E m p l o y e e P o w e r indicator is represented by the following triangular membership function:
    ( T r E P L o w , 0 ) : t r i a n g u l a r V a l u e M i n ( T r E P L o w , 0 ) : t r i a n g u l a r V a l u e M i d ( T r E P L o w , 2000 ) : t r i a n g u l a r V a l u e M a x T e r m E P L o w : T e r m ( T e r m E P L o w , T r E P L o w ) : m e m b e r s h i p F u n c t i o n ( T e r m E P L o w , L o w ) : m e m b e r s h i p E n t i t y ( F u z z E P , T e r m E P L o w ) : h a s T e r m
  • Linguistic term M i d d l e for the E m p l o y e e P o w e r indicator is represented by the following triangular membership function:
    ( T r E P M i d d l e , 1300 ) : t r i a n g u l a r V a l u e M i n ( T r E P M i d d l e , 3000 ) : t r i a n g u l a r V a l u e M i d ( T r E P M i d d l e , 4700 ) : t r i a n g u l a r V a l u e M a x T e r m E P M i d : T e r m ( T e r m E P M i d , T r E P M i d d l e ) : m e m b e r s h i p F u n c t i o n ( T e r m E P M i d , M i d d l e ) : m e m b e r s h i p E n t i t y ( F u z z E P , T e r m E P M i d ) : h a s T e r m
  • Linguistic term H i g h for the E m p l o y e e P o w e r indicator is represented by the following triangular membership function:
    ( T r E P H i g h , 4000 ) : t r i a n g u l a r V a l u e M i n ( T r E P H i g h , 6000 ) : t r i a n g u l a r V a l u e M i d ( T r E P H i g h , 6000 ) : t r i a n g u l a r V a l u e M a x T e r m E P H i g h : T e r m ( T e r m E P H i g h , T r E P H i g h ) : m e m b e r s h i p F u n c t i o n ( T e r m E P H i g h , H i g h ) : m e m b e r s h i p E n t i t y ( F u z z E P , T e r m E P H i g h ) : h a s T e r m
  • Linguistic term L o w for the T o o l P o w e r indicator is represented by the following triangular membership function:
    ( T r T P L o w , 0 ) : t r i a n g u l a r V a l u e M i n ( T r T P L o w , 0 ) : t r i a n g u l a r V a l u e M i d ( T r T P L o w , 1000 ) : t r i a n g u l a r V a l u e M a x T e r m T P L o w : T e r m ( T e r m T P L o w , T r T P L o w ) : m e m b e r s h i p F u n c t i o n ( T e r m T P L o w , L o w ) : m e m b e r s h i p E n t i t y ( F u z z T P , T e r m T P L o w ) : h a s T e r m
  • Linguistic term M i d d l e for the T o o l P o w e r indicator is represented by the following triangular membership function:
    ( T r T P M i d d l e , 700 ) : t r i a n g u l a r V a l u e M i n ( T r T P M i d d l e , 2000 ) : t r i a n g u l a r V a l u e M i d ( T r T P M i d d l e , 3300 ) : t r i a n g u l a r V a l u e M a x T e r m T P M i d : T e r m ( T e r m T P M i d , T r T P M i d d l e ) : m e m b e r s h i p F u n c t i o n ( T e r m T P M i d , M i d d l e ) : m e m b e r s h i p E n t i t y ( F u z z T P , T e r m T P M i d ) : h a s T e r m
  • Linguistic term H i g h for the T o o l P o w e r indicator is represented by the following triangular membership function:
    ( T r T P H i g h , 3000 ) : t r i a n g u l a r V a l u e M i n ( T r T P H i g h , 4000 ) : t r i a n g u l a r V a l u e M i d T r T P H i g h , 4000 ) : t r i a n g u l a r V a l u e M a x T e r m T P H i g h : T e r m ( T e r m T P H i g h , T r T P H i g h ) : m e m b e r s h i p F u n c t i o n ( T e r m T P H i g h , H i g h ) : m e m b e r s h i p E n t i t y ( F u z z T P , T e r m T P H i g h ) : h a s T e r m
The following SWRL rules and SQWRL queries are common to the two inference options.
Rules for assigning textual descriptions to states of production indicators:
L o w ( ? o ) h a s S t a t e ( ? o , S t a t e L o w ) M i d d l e ( ? o ) h a s S t a t e ( ? o , S t a t e M i d d l e ) H i g h ( ? o ) h a s S t a t e ( ? o , S t a t e H i g h )
Rules for determining the state of production:
E m p l o y e e P o w e r ( ? e p ) L o w ( ? e p ) B a d ( ? e p ) E m p l o y e e P o w e r ( ? e p ) M i d d l e ( ? e p ) B a d ( ? e p ) E m p l o y e e P o w e r ( ? e p ) H i g h ( ? e p ) G o o d ( ? e p ) T o o l P o w e r ( ? t p ) L o w ( ? t p ) B a d ( ? t p ) T o o l P o w e r ( ? t p ) M i d d l e ( ? t p ) B a d ( ? t p ) T o o l P o w e r ( ? t p ) H i g h ( ? t p ) G o o d ( ? t p )
Rules for assigning textual recommendations for balancing production capacities:
E m p l o y e e P o w e r ( ? e p ) B a d ( ? e p ) h a s R e c o m m e n d a t i o n ( ? e p , E P B a d ) E m p l o y e e P o w e r ( ? e p ) G o o d ( ? e p ) h a s R e c o m m e n d a t i o n ( ? e p , E P G o o d ) T o o l P o w e r ( ? t p ) B a d ( ? t p ) h a s R e c o m m e n d a t i o n ( ? t p , T P B a d ) T o o l P o w e r ( ? t p ) G o o d ( ? t p ) h a s R e c o m m e n d a t i o n ( ? t p , T P G o o d )
Complex rules for assigning textual recommendations for balancing production capacities considering several indicators:
E m p l o y e e P o w e r ( ? e p ) B a d ( ? e p ) T o o l P o w e r ( ? t p ) B a d ( ? t p ) h a s R e c o m m e n d a t i o n ( ? e p , E P T P B a d ) h a s R e c o m m e n d a t i o n ( ? t p , E P T P B a d ) E m p l o y e e P o w e r ( ? e p ) G o o d ( ? e p ) T o o l P o w e r ( ? t p ) B a d ( ? t p ) h a s R e c o m m e n d a t i o n ( ? e p , E P T P B a d ) h a s R e c o m m e n d a t i o n ( ? t p , E P T P B a d ) E m p l o y e e P o w e r ( ? e p ) G o o d ( ? e p ) T o o l P o w e r ( ? t p ) G o o d ( ? t p ) h a s R e c o m m e n d a t i o n ( ? t p , E P T P G o o d ) h a s R e c o m m e n d a t i o n ( ? e p , E P T P G o o d )
The query for displaying text descriptions of the states of production indicators:
h a s S t a t e ( ? o , ? s ) h a s D e s c r i p t i o n ( ? s , ? d ) s q w r l : s e l e c t ( ? o , ? d )
The query for displaying textual recommendations for balancing production capacities:
h a s R e c o m m e n d a t i o n ( ? o , ? r ) h a s D e s c r i p t i o n ( ? r , ? d ) s q w r l : s e l e c t D i s t i n c t ( ? o , ? r , ? d )
Results of the query for displaying textual descriptions of production indicator states with crisp inference:
EmployeePower  The indicator value is high
ToolPower  The indicator value is middle
Results of the query for displaying textual descriptions of production indicator states with fuzzy inference:
ToolPower  The indicator value is middle  0.462
EmployeePower  The indicator value is high  0.305
EmployeePower  The indicator value is middle  0.053
Calculated recall (Equation (6)) values for the results of the textual descriptions of production indicator states with crisp and fuzzy inference are:
R 1 C r i s p = 2 / 10 × 100 % = 20 % .
R 1 F u z z y = 3 / 10 × 100 % = 30 % .
Results of the query for displaying textual recommendations for balancing production capacities with crisp inference:
EmployeePower  EPGood  EPGood recommendation
ToolPower  TPBad  TPBad recommendation
EmployeePower  EPTPBad  EPTPBad recommendation
ToolPower  EPTPBad  EPTPBad recommendation
Results of the query for displaying textual recommendations for balancing production capacities with fuzzy inference:
ToolPower  TPBad  TPBad recommendation  0.462
EmployeePower  EPTPBad  EPTPBad recommendation  0.462
ToolPower  EPTPBad  EPTPBad recommendation  0.462
EmployeePower  EPGood  EPGood recommendation  0.305
EmployeePower  EPBad  EPBad recommendation  0.053
Calculated recall (Equation (6)) values for results of textual recommendations for balancing production capacities with crisp and fuzzy inference are:
R 2 C r i s p = 4 / 10 × 100 % = 40 % .
R 2 F u z z y = 5 / 10 × 100 % = 50 % .
Thus, the average recall value is higher on 10 % with a fuzzy logical inference, which allows obtaining additional information about the analyzed object.

4.2. DSS for Image Analysis

This section presents an example of the implementation of the DSS for image analysis. This example covers decision support for determining the state of university classrooms. The input data for the system are static images of a classroom. Static images are pre-processed by the YOLO [30] neural network for the entities allocation (Figure 3).
It is necessary to add the following axioms to the decision support ontology:
  • Classroom conditions (empty, not empty, and for checking) must be added to the the D e c i s i o n component (Equation (2)):
    E m p t y I n f e r e n c e N o t E m p t y I n f e r e n c e F o r C h e c k i n g I n f e r e n c e
  • Classrooms must be added to the D o m a i n (Equation (3)) component:
    C l a s s r o o m O b j e c t s L e c t u r e C l a s s r o o m C l a s s r o o m P r a c t i c a l C l a s s r o o m C l a s s r o o m 411 : L e c t u r e C l a s s r o o m ( 411 , r o o m 411 ) : h a s N a m e 420 : L e c t u r e C l a s s r o o m ( 420 , r o o m 420 ) : h a s N a m e 431 : P r a c t i c a l C l a s s r o o m ( 431 , r o o m 431 ) : h a s N a m e
  • Entities allocated by YOLO (person and display) must be added to the D o m a i n (Equation (3)) component:
    D i s p l a y E n t i t i e s P e r s o n E n t i t i e s D i s p l a y h a s A r e a V a l u e . D o u b l e D i s p l a y : D i s p l a y P e r s o n : P e r s o n ( D i s p l a y , 22,000 ) : h a s S q u a r e V a l u e
    h a s A r e a V a l u e role has been added to store the display area because only situations with a running projector should be handled.
  • Then it is necessary to indicate in which classrooms the entities are located:
    ( 411 , D i s p l a y ) : n o t C o n n e c t T o E n t i t y ( 411 , P e r s o n ) : n o t C o n n e c t T o E n t i t y ( 420 , D i s p l a y ) : n o t C o n n e c t T o E n t i t y ( 420 , P e r s o n ) : c o n n e c t T o E n t i t y ( 431 , D i s p l a y ) : c o n n e c t T o E n t i t y ( 431 , P e r s o n ) : n o t C o n n e c t T o E n t i t y
Rules for determining the state of classrooms:
C l a s s r o o m ( ? c ) P e r s o n ( ? p ) n o t C o n n e c t T o E n t i t y ( ? c , ? p ) D i s p l a y ( ? d ) n o t C o n n e c t T o E n t i t y ( ? c , ? d ) E m p t y ( ? c ) C l a s s r o o m ( ? c ) P e r s o n ( ? p ) c o n n e c t T o E n t i t y ( ? c , ? p ) N o t E m p t y ( ? c ) C l a s s r o o m ( ? c ) P e r s o n ( ? p ) n o t C o n n e c t T o E n t i t y ( ? c , ? p ) D i s p l a y ( ? d ) c o n n e c t T o E n t i t y ( ? c , ? d ) h a s A r e a V a l u e ( ? d , ? s ) s w r l b : g r e a t e r T h a n ( ? s , 15,000 ) F o r C h e c k i n g ( ? c )
The query for displaying empty classrooms:
E m p t y ( ? c ) h a s N a m e ( ? c , ? n ) a b o x : c a a ( ? t , ? c ) s q w r l : s e l e c t ( ? n , ? t )
The query for displaying not empty classrooms:
N o t E m p t y ( ? c ) h a s N a m e ( ? c , ? n ) a b o x : c a a ( ? t , ? c ) s q w r l : s e l e c t ( ? n , ? t )
The query for displaying classrooms for checking:
F o r C h e c k i n g ( ? c ) h a s N a m e ( ? c , ? n ) a b o x : c a a ( ? t , ? c ) s q w r l : s e l e c t ( ? n , ? t )
The following states of the classrooms are determined after the execution of these queries:
  • 411 is the empty classroom;
  • 420 is the not empty classroom;
  • 431 is the classroom for checking.
The precision of the DSS was determined by an expert. The expert evaluates the condition of the classrooms based on a review of a set of static images. The number of experiments is 108, the number of correct DSS results is 99. The quality of the DSS was influenced by the YOLO neural network. In some cases, YOLO detected that the projector was on when the projector was turned off.
Thus, the precision value (Equation (5)) is:
P = 99 / 108 × 100 % = 91 % .

5. Discussion

This article discussed an approach to building DSSs based on an ontology service. Knowledge bases allow formalizing the experience of an expert in the decision-making process. The complex process of knowledge base formation is the main disadvantage of knowledge bases. The main advantage of knowledge bases is the ability to explain the reason for the decision. Moreover, the advantage of knowledge bases involves the easy adaptation to changes in a subject area.
The main aim of the study was to create tools for DSS creation. The proposed approach has the following advantages:
  • The proposed approach does not depend on a subject area. Existing approaches to build a DSS are focused on a specific subject area, which makes it hard to develop a DSS for other subject areas;
  • The developed ontology service allows performing inference functions from any software system using the HTTP protocol. Developers must use the OWLAPI and SWRL API libraries to get all ontology features and abilities. These libraries are written in the Java language, so they cannot be used in systems built on other technologies or systems with a limited set of resources;
  • The service API is based on the REST architectural style and the OpenAPI specification. The OpenAPI Specification is a specification for machine-readable interface files for describing, producing, consuming, and visualizing REST API;
  • The developed service contains a module for fuzzy inference. The proposed implementation of fuzzy inference is the absence of dependencies on third-party solutions. The proposed ontology for fuzzy inference and the fuzzy inference algorithm implements the fuzzy inference function. Several implementations of fuzzy ontologies are currently available. The most famous implementation of fuzzy ontology is FuzzyOWL [31,32,33]. Now, the FuzzyOWL library is unmaintained and does not have a public Git repository. Moreover, the plugin for the Protege editor is required to develop fuzzy ontologies for FuzzyOWL. This plugin works only in the 4th version [34] of the Protege editor and does not work in the current 5th version [35].
The proposed approach has the following disadvantages:
  • The proposed ontology service only has the unfriendly developer-oriented service API and does not have a user interface;
  • The service supports a limited number of membership functions: crisp, linear, trapezoidal, and triangular;
  • The proposed approach to the DSS creation cannot be considered production use ready. The tests of the ontology service with a large volume of data and a large number of concurrent requests were not executed;
  • The service is based on REST API and does not save request states (stateless). Thus, it is necessary to load an ontology and initialize the inference engine for each request, which requires 2–3 s.
  • The ontologies are loaded and processed in RAM. One axiom takes about 0.34 KB of RAM; therefore, 1 GB of RAM can hold about 3 million axioms. Thus, the service is not designed to use large ontologies.
As future work:
  • Add support for multi-user mode;
  • Add the ability to user register and login;
  • Add user ontology repositories (public and private);
  • Add a user interface;
  • Add the ability to edit and create ontologies through the user interface;
  • Publish a service to the public access.
The proposed approach to DSS creation will be improved. The presented ontology service was in its initial state and has been developed for testing purposes. More features and conceptualizations will be added to it.

6. Conclusions

The article discusses an approach to DSS creation based on an ontology service. The article proposes novel ontology models for decision support and fuzzy inference. The ontology of decision support allows describing the features of a subject area and entities for the decision-making. Expert rules are described using SWRL and SQWRL languages. The ontology for fuzzy inference allows describing fuzzy sets, membership functions, and linguistic terms.
The HTTP protocol and REST API are used to work with the ontology service. First, a user needs to create an ontology in the Protege editor. Afterward, a user can upload the created ontology to the service. Decision support is implemented based on an inference mechanism. A user needs to specify which SQWRL query from the ontology needs to be executed to get the result. It is also possible to add axioms to the ontology ABox before executing the SQWRL query. Several alternative solutions can be obtained with varying truth degrees in the case of fuzzy inference.
The article discusses examples of using the proposed approach to create DSSs, for balancing production capacities and for analyzing static images.

Author Contributions

Conceptualization, A.R. and A.F.; methodology, A.R. and A.F.; software, A.R., J.S. and A.F.; validation, A.R., J.S., and A.F.; formal analysis, A.R. and A.F.; investigation, A.R., J.S. and A.F.; resources, J.S.; data curation, A.R. and A.F.; writing—original draft preparation, A.F. and A.R.; writing—review and editing, A.R. and N.Y.; supervision, N.Y.; project administration, N.Y.; funding acquisition, N.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Ministry of Science and Higher Education of the Russian Federation in the framework of the state task no.075-00233-20-05 “Research of intelligent predictive multimodal analysis of big data, and the extraction of knowledge from different sources”.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kukar, M.; Vračar, P.; Košir, D.; Pevec, D.; Bosnić, Z. AgroDSS: A decision support system for agriculture and farming. Comput. Electron. Agric. 2019, 161, 260–271. [Google Scholar]
  2. Sztubecka, M.; Skiba, M.; Mrówczyńska, M.; Bazan-Krzywoszańska, A. An innovative decision support system to improve the energy efficiency of buildings in urban Areas. Remote Sens. 2020, 12, 259. [Google Scholar] [CrossRef] [Green Version]
  3. Situmorang, E.; Rindari, F. Decision Support System For Selection Of The Best Doctors In Sari Mutiara Hospital Using Fuzzy Tsukamoto Method. J. Tek. Inform. CIT Med. 2019, 11, 45–50. [Google Scholar]
  4. Fenu, G.; Malloci, F.M. DSS LANDS: A decision support system for agriculture in Sardinia. HighTech Innov. J. 2020, 1, 129–135. [Google Scholar] [CrossRef]
  5. Tyler, N.S.; Mosquera-Lopez, C.M.; Wilson, L.M.; Dodier, R.H.; Branigan, D.L.; Gabo, V.B.; Jacobs, P.G. An artificial intelligence decision support system for the management of type 1 diabetes. Nat. Metab. 2020, 2, 612–619. [Google Scholar] [CrossRef] [PubMed]
  6. Khong, P.C.B.; Lee, L.N.; Dawang, A.I. Modeling the construct of an expert evidence-adaptive knowledge base for a pressure injury clinical decision support system. Informatics 2017, 4, 20. [Google Scholar] [CrossRef] [Green Version]
  7. Müller, L.; Gangadharaiah, R.; Klein, S.C.; Perry, J.; Bernstein, G.; Nurkse, D.; Aronoff-Spencer, E. An open access medical knowledge base for community driven diagnostic decision support system development. BMC Med. Inform. Decis. Mak. 2019, 19, 93. [Google Scholar] [CrossRef]
  8. Singh, S.; Ghosh, S.; Jayaram, J.; Tiwari, M.K. Enhancing supply chain resilience using ontology-based decision support system. Comput. Integr. Manuf. 2019, 32, 642–657. [Google Scholar] [CrossRef]
  9. Vilela, M.; Oluyemi, G.; Petrovski, A. A fuzzy inference system applied to value of information assessment for oil and gas industry. Decis. Mak. Appl. Manag. Eng. 2019, 2, 1–18. [Google Scholar] [CrossRef]
  10. Precup, R.E.; Preitl, S.; Petriu, E.; Bojan-Dragos, C.A.; Szedlak-Stinean, A.I.; Roman, R.C.; Hedrea, E.L. Model-based fuzzy control results for networked control systems. Rep. Mech. Eng. 2020, 1, 10–25. [Google Scholar] [CrossRef]
  11. Prasenjit, C. Model for selecting a route for the transport of hazardous materials using a fuzzy logic system. J. Vojnoteh. Glas. 2021, 69, 355–390. [Google Scholar]
  12. Roy, A.; Razia, S.; Parveen, N.; Rao, A.S.; Nayak, S.R.; Poonia, R.C. Fuzzy rule based intelligent system for user authentication based on user behaviour. J. Discret. Math. Sci. Cryptogr. 2020, 23, 409–417. [Google Scholar] [CrossRef]
  13. Nagarajan, D.; Lathamaheswari, M.; Jacob, K.; Deenadayalan, E. Intelligent system stability using type-2 fuzzy controller. Int. J. Integr. Eng. 2019, 11, 270–282. [Google Scholar] [CrossRef]
  14. Espinilla, M.; Medina, J.; García-Fernández, Á.L.; Campaña, S.; Londoño, J. Fuzzy intelligent system for patients with preeclampsia in wearable devices. Mob. Inf. Syst. 2017, 2017, 7838464. [Google Scholar] [CrossRef]
  15. El-Sappagh, S.; Alonso, J.M.; Ali, F.; Ali, A.; Jang, J.H.; Kwak, K.S. An ontology-based interpretable fuzzy decision support system for diabetes diagnosis. IEEE Access 2018, 6, 37371–37394. [Google Scholar] [CrossRef]
  16. Alkahtani, M.; Choudhary, A.; De, A.; Harding, J.A. A decision support system based on ontology and data mining to improve design using warranty data. Comput. Ind. Eng. 2019, 128, 1027–1039. [Google Scholar] [CrossRef] [Green Version]
  17. Mabkhot, M.M.; Al-Samhan, A.M.; Hidri, L. An ontology-enabled case-based reasoning decision support system for manufacturing process selection. Adv. Mater. Sci. Eng. 2019, 2019, 2505183. [Google Scholar] [CrossRef] [Green Version]
  18. Gruber, T.R. The role of common ontology in achieving sharable, reusable knowledge bases. In Proceedings of the Second International Conference on Principles of Knowledge Representation and Reasoning, Cambridge, MA, USA, 22–25 April 1991; pp. 601–602. [Google Scholar]
  19. Baader, F.; Calvanese, D.; McGuinness, D.; Nardi, D.; Patel-Schneider, P.F. The Description Logic Handbook: Theory, Implementation, and Applications; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
  20. O’Connor, M.J.; Das, A.K. SQWRL: A query language for OWL. In Proceedings of the OWLED, Chantilly, VA, USA, 23–24 October 2009. [Google Scholar]
  21. Dentler, K.; Cornet, R.; Ten Teije, A.; De Keizer, N. Comparison of reasoners for large ontologies in the OWL 2 EL profile. Semant. Web 2011, 2, 71–87. [Google Scholar] [CrossRef] [Green Version]
  22. Zadeh, L.A. Fuzzy logic. Computer 1988, 21, 83–93. [Google Scholar] [CrossRef]
  23. Zadeh, L.A. The concept of a linguistic variable and its application to approximate reasoning—I. Inf. Sci. 1975, 8, 199–249. [Google Scholar] [CrossRef]
  24. Ojha, V.; Abraham, A.; Snášel, V. Heuristic design of fuzzy inference systems: A review of three decades of research. Eng. Appl. Artif. Intell. 2019, 85, 845–864. [Google Scholar] [CrossRef] [Green Version]
  25. Hassanpour, S.; O’Connor, M.J.; Das, A.K. Visualizing Logical Dependencies in SWRL Rule Bases. In International Workshop on Rules and Rule Markup Languages for the Semantic Web; Springer: Berlin/Heidelberg, Germany, 2010; pp. 259–272. [Google Scholar]
  26. Horridge, M.; Bechhofer, S. The OWL API: A Java API for Working with OWL 2 Ontologies. In Proceedings of the OWLED, Chantilly, VA, USA, 23–24 October 2009; pp. 11–21. [Google Scholar]
  27. O’Connor, M.J.; Shankar, R.D.; Nyulas, C.; Tu, S.W.; Das, A.K. Developing a Web-Based Application using OWL and SWRL. In Proceedings of the AAAI Spring Symposium: AI Meets Business Rules and Process Management, Stanford, CA, USA, 24–26 March 2008; pp. 93–98. [Google Scholar]
  28. Wilde, E.; Pautasso, C. REST: From Research to Practice; Springer Science & Business Media: New York, NY, USA, 2011. [Google Scholar]
  29. Crockford, D. The Application/JSON Media Type for JavaScript Object Notation (JSON). Available online: http://tools.ietf.org/html/rfc4627 (accessed on 10 September 2021).
  30. Redmon, J.; Divvala, S.; Girshick, R.; Farhadi, A. You only look once: Unified, real-time object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Las Vegas, NV, USA, 27–30 June 2016; pp. 779–788. [Google Scholar]
  31. Bobillo, F.; Straccia, U. An OWL ontology for fuzzy OWL 2. In Proceedings of the International Symposium on Methodologies for Intelligent Systems, Prague, Czech Republic, 14–17 September 2009; pp. 151–160. [Google Scholar]
  32. Bobillo, F.; Delgado, M.; Gómez-Romero, J. DeLorean: A reasoner for fuzzy OWL 2. Expert Syst. Appl. 2012, 39, 258–272. [Google Scholar] [CrossRef] [Green Version]
  33. Fuzzy OWL2 Tools Software & Documentation. Available online: http://www.umbertostraccia.it/cs/software/fuzzyDL/download.html (accessed on 14 September 2021).
  34. Protege Wiki. Available online: https://protegewiki.stanford.edu/wiki/FuzzyOWL2 (accessed on 1 September 2021).
  35. OWL API Github. Available online: https://github.com/owlcs/owlapi/issues/750 (accessed on 20 September 2021).
Figure 1. Architectural diagram of the developed ontology service.
Figure 1. Architectural diagram of the developed ontology service.
Mathematics 09 02946 g001
Figure 2. Representation of linguistic variables EmployeePower and ToolPower.
Figure 2. Representation of linguistic variables EmployeePower and ToolPower.
Mathematics 09 02946 g002
Figure 3. Example of the YOLO neural network results with different scene settings.
Figure 3. Example of the YOLO neural network results with different scene settings.
Mathematics 09 02946 g003
Table 1. DL operators and axioms.
Table 1. DL operators and axioms.
DescriptionDLOWL
top (a special class with every individual as an instance)owl: Thing
bottom (an empty class)owl: Nothing
class inclusion axiom A B A owl: SubClassOf B
disjoint classes axiom A B [A, B] owl: DisjointClasses
equivalence classes axiom (or defining classes with necessary and sufficient conditions) A B [A, B] owl: equivalentClasses
intersection or conjunction of classes A B A and B
union or disjunction of classes A B A or B
universal restriction axiom R . A R only A
existential restriction axiom R . A R some A
cardinality restrictions axiom n R . A R exactly n A
inverse properties axiom I n v ( R 1 ) R 2 [ R 1 , R 2 ] owl: InverseProperties
disjoint properties axiom D i s ( R 1 , R 2 ) [ R 1 , R 2 ] owl: DisjointProperties
concept assertion axiom (a is an instance of class A) a : A a: A
role assertion axiom a , b : R a R b
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Romanov, A.; Stroeva, J.; Filippov, A.; Yarushkina, N. An Approach to Building Decision Support Systems Based on an Ontology Service. Mathematics 2021, 9, 2946. https://doi.org/10.3390/math9222946

AMA Style

Romanov A, Stroeva J, Filippov A, Yarushkina N. An Approach to Building Decision Support Systems Based on an Ontology Service. Mathematics. 2021; 9(22):2946. https://doi.org/10.3390/math9222946

Chicago/Turabian Style

Romanov, Anton, Julia Stroeva, Aleksey Filippov, and Nadezhda Yarushkina. 2021. "An Approach to Building Decision Support Systems Based on an Ontology Service" Mathematics 9, no. 22: 2946. https://doi.org/10.3390/math9222946

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop