(Plesniewicz, 2014). These languages have
semantics based on formal concepts.
A formal concept has the following components:
The name C of the concept;
The unverse U
C
of the concept – a countable
set of names denoting possble instances of the
concept. The universe also contains so-called
surrogates {object-oriented identifyiers):
Surr = {#1, #2,…} ⊆U
C
.
The extension E
C
of the concept, i.e., the set of
names that denoteinstances of the concept,
E
C
⊆ U
C
;
The coreferentiality relation ~
C
⊆ E
C
X E
C
.
Ifa ~
C
b then the names a and b denote the
same object of the application modelled.
Example 1. Define a formal concept as follows:
U
Person
=String ∪
{[Surr:x,Name:y,SSN:z,works_in:u]|
y ∈String, z ∈typeSSN, x, u ∈Surr};
Here typeSSN is the attribute domain (data
type) for social security numbers (i.e., strings
of the format XXX-XX-XXXX, where X are
decimal digits);
E
Person
= {…,#105,[Surr:#110,
Name:john,SSN:078-05-1120,
works_in:#27],…};
{…,#105~
Person
[Surr:#105,
Name:john,SSN:078-05-1120,
works_in:#27],…}.
The concept Person has three attributes:
Name,SSN and works_in. The first two attributes
take values in the standard data type String and in
the specified data type typeSSN.The third attribute
takes the value #27 which is the surrogate
referred to some organization where John works.
The conceptPersonfrom Example 1 is static in
the sense that their extensions do not depend on
time. In general, the extension of a concept is
variable. It is natural to introduce a special attribute
Por(point of reference) whose values refer to this
variability.The attribute Por may have such
components as time (point or interval), position in
space, state of affairs, context, truth degree et al.
For any point of reference γ, we denote by E
C
γ
the extension of the concept C at the point of
reference γ. Let Γ be the set of all possible points of
reference that are considered under a given
conceptualization. Then we say that the family of
sets {E
C
γ
| γ ∈ Γ} is thetotal extension of the concept
C,
So, formally conceptualization of a given
application can be represented by a (finite) set S of
formal concepts with the same set Γ of points of
reference. An ontology Othat specifies the set S of
formal concepts is written in the concept languages
of the system BMK.
The sentences of the ontology O differ in what
components of concepts they specify. The sentences
that specify concept universes U
C
(C ∈ S), define the
structure of members of U
C
, and therefore, we call
them structural sentences. We call logical the
sentences that specify the extensions E
C
(C ∈ S). We
also call transitory the sentences that specify the
changes (E
C
γ
– E
C
δ
) ∪ (E
C
δ
– E
C
γ
) in the transition
from the point γ to the point δ.
In the system “Binary Model of Knowledge”,
there are the languages for structural, logical and
transitory specification of ontologies.
2.1 Language LSS of Structural
Specification
In the language LLS two type of concepts are
distinguished: classes and binary relations. LLS
sentences are composed of primitive sentences that
have the following forms:
C[D], C[A:D], C[A:T], (CLD), (CLD)[E],
(CLD)[A:E], (CLD)[A:T].
Here C, D, Eare names of classes, L is a name of
binary relation, A is an attribute, and T is a data type
specification. (There are some means for defining
data types in LSS.)
An arbitrary structural sentence is obtained by
joining primitive sentences. For example, the
sentence C[D, A: (String, Integer), E(*)]arises from
the primitive sentencesC[D], C[A: (String, Integer)]
and C[D, A:E(*)].
Here are some examples of structural sentences.
1) Car[Brand:String,Engine,
Dimensions:
(Length/m/:Integer,
Width/mm/:Integer,
Height/mm/:Integer,
Wheelbase/mm/:Integer)
Gearbox:String].
2) Engine[Type:Integer,
Power/hp/:Integer,
Max_speed/km/h/: Integer].
3)(Person owns Car}
[RegisterDate:Date,
DocsReg:String].
The assertion e ∈ E
C
γ
corresponds to the fact
“e is an instance of the concept C at the point of
reference γ”, and e ∉E
C
γ
corresponds to the fact
KEOD 2020 - 12th International Conference on Knowledge Engineering and Ontology Development