When we specify knowledge with KnowLang, we build a KB with a variety of knowledge structures such as
ontologies, facts, rules and constraints where we need to specify the ontologies first in order to provide
the vocabulary" for the other knowledge structures.
A KnowLang ontology is specified over concept trees, object trees, relations and predicates. Each concept is
specified with special properties and functionality and is hierarchically linked to other concepts through
PARENTS and CHILDREN relationships. For reasoning purposes every concept specified with
KnowLang has an intrinsic STATE attribute that may be associated with a set of possible state
values the concept instances may be in.
The concept instances are considered as objects and are structured in object trees - a conceptualization
of how objects existing in the world of interest are related to each other. The relationships in an object
tree are based on the principle that objects have properties, where the value of a property is another object,
which in turn also has properties. Moreover, concepts and objects might be connected via relations.
Relations are binary and may have probability distribution attribute (e.g., over time, over
situations, over concepts' properties, etc.). Probability distribution is provided to support
probabilistic reasoning and by specifying relations with probability distributions we actually
specify Bayesian networks connecting the concepts and objects of an ontology.
Specifying (modeling) knowledge with KnowLang requires a few phases:
- Initial knowledge gathering - involves domain experts to determine the basic notions, relations and
functions (operations) of the domain of interest.
- Behavior definition - identifies situations and behavior policies as "control data" helping to identify
important self-adaptive scenarios.
- Knowledge structuring - encapsulates domain entities, situations and behavior into KnowLang structures
like concepts, objects, relations, facts, and rules.
|