expanding base-term interpretation into the
interpretation of complex roles and concepts.
Therefore, in order to translate a s-module M
1
“expressed” in
1
into a s-module “expressed” in
2
we just need to “contract” each interpretation
W(M
1
) to its base interpretation and then
“expand” it in according to the rules of expansion
appropriate for the logic
2
. This, however, may
lead to over-expressiveness of some s-modules.
Example 1 (Over-expressiveness). Let us take any
s-module M and assume that it contains
interpretations. We extend the signature of the
module by a new role R and select only these
interpretations that satisfy the axiom Trans(R), i.e.
we build M΄ =
Trans
(R)
(
{R}
(M)). Then we change the
logic of M΄ to . Interpretations contained in
W(M΄) no longer map concepts like 3R., but the
role R remains transitive in all interpretations in
W(M΄), although there is no possibility of
expressing this fact in .
The effect described in the above example seems
to reveal a crucial obstacle in using multi-logic
modules. However, as it is shown below over-
expressiveness is not specific only to multi-logic.
To elaborate on this we introduce a notion of a
linguistic s-module. To ease the task we return to the
assumptions of chosen and fixed and .
Definition 2 (Linguistic S-module). We call a
s-module M = (S, W) linguistic iff there exists a set
of sentences S (S) such that W = {
(S):
S: }.
In other words, linguistic s-modules are modules
whose models are all models of a particular set of
sentences. We denote a linguistic s-module as M(S,
S), where S is the set of sentences, or simply as M(S)
if module signature can be inferred from the context,
e.g. M({A B, A(a)}) with signature S = {A, B, a}.
In general, when using specific operations we
have no guarantee that the outcome is linguistic even
if all operands are. These operations are called non-
linguistic and they are: Union (), Difference (–),
Projection (), and U-Join (). They may result in
obtaining a s-module M which does not correspond
directly to any set of sentences from (S(M)).
Example 2 (Non-linguistic S-module). Consider a
union M΄ of two linguistic s-modules
M΄= M({A B}) M({B A}). Neither M΄ A B
nor M΄ A B is true. But after an intersection:
M΄΄= M΄
g
M({A B(a), A B(b)}), we obtain
a s-module with no models: W(M΄΄) = .
4 EXAMPLES
There is similarity between the s-module algebra and
the relational algebra. Both algebras aim at
delivering operators on defined units of data (or
knowledge) that allow a user to combine the units in
order to obtain a new unit, presumably better suited
for a specific purpose. Like the relational algebra,
the s-module algebra may be a base for development
of a language for the end-user, and such a language
would have a desired property of closeness.
The following example shows how to merge
information from two s-modules in order to obtain
desired piece of knowledge.
Example 3 (Intersecting S-modules). Consider two
s-modules: M
1
describes human resources and M
2
the structure of a hospital.
M
1
= M({isManagerIn.HTBusinessUnit Expert,
Expert Employee})
M
2
= M({leadsDepartment(johnSmith,
neurosurgery), Department(neurosurgery)}).
To merge the information from the two
s-modules in order to infer that johnSmith is an
expert, we first create an intersection of the
s-modules: M´= M
1
g
M
2
, and then restrict the set
of models by introducing additional “bridge”
axioms: M´´= M´
g
M({leadsDepartment
isManagerIn, Department HTBusinessUnit}). The
last step can also be done by double selection.
In the example we did not encounter any name
conflict between s-modules being merged. In
general, such a conflict may occur and I-Join
operator should be used. Below we show how to
align two s-modules in which the same set of terms
is used to express different meanings.
Example 4 (Joining S-modules). Consider two
s-modules: M
1
and M
2
. They contain assessment of
several rooms for rent, and use the same
categorization and signature S = {HSRoom,
ASRoom, LSRoom}, where the concepts denote high,
average and low standard rooms. But in M
1
and M
2
different criteria were used for categorization, as in
the first case we were looking for a room to spend
just one day and in the second case to stay for a
longer period of time. We “import” the assessment
from M
1
to M
2
performing necessary translation of
classification between the s-modules.
1. In the first step we simply I-Join the modules. As
a result we obtain a module M΄= M
1
M
2
. The
concepts have been renamed, so S(M) =
{1:HSRoom, 2:HSRoom, 1:ASRoom, …}.
2. Next, we make the criteria of assessment explicit.
In this example we use only one criterion: a
KEOD 2009 - International Conference on Knowledge Engineering and Ontology Development
120