\chapter{The Ontology description language -- \lang}
\label{app1}

\lang is a source independent language used to describe
heterogeneous schemas of structured and semistructured data
sources in a common way. In the context of the global ontology of
the Momis system, \lang introduces new constructors useful in the
integration process and in the global integrated view
representation.

According to recommendations of ODMG and to the diffusion of
I3/POB \cite{ARPA,lenzi} the object data model \lang is very close
to the ODL language. \lang introduces the following main
extensions with respect to ODL:
\begin{description}
    \item[Union constructor.] The union constructor, denoted by union, is
introduced to express alternative data structures in the
definition of an ODLI3 class, thus capturing requirements of
semistructured data. An example of its use will be shown in the
following.
    \item[Optional constructor.] The optional constructor, denoted
by (*), is introduced for class attributes to specify that an
attribute is optional for an instance (i.e., it could be not
specified in the instance). This constructor too has been
introduced to capture requirements of semistructured data. An
example of its use will be shown in the following.
    \item[Integrity constraint rules.] This kind of rule is introduced in ODLI3 in
order to express, in a declarative way, if then integrity
constraint rules at both intra- and inter-source level.
    \item[Intensional relationships.] They are terminological relationships
expressing inter-schema knowledge for the source schemas.
Intensional relationships are defined between classes and
attributes, and are specified by considering class/attribute
names, called terms. The following relationships can be specified
in ODLI3:\begin{itemize}
    \item \textbf{SYN} (Synonym-of), defined between two terms $t_i$ and $t_j$, with
    $t_i \neq t_j$, that are considered synonyms in every considered source
    (i.e., $t_i$ and $t_j$ can be indifferently used in every source
    to denote a certain concept).
    \item \textbf{BT} (Broader Terms), or hypernymy, defined between two terms $t_i$
    and $t_j$ such as $t_i$ has a broader, more general meaning than $t_j$. BT
    relationship is not symmetric. The opposite of BT is \textbf{NT} (Narrower
    Terms), or hyponymy.
    \item \textbf{RT} (Related Terms), or positive association, defined between
    two terms $t_i$ and $t_j$ that are generally used together in the same
    context in the considered sources.
\end{itemize}
\end{description}

An intensional relationship is only a terminological relationship,
with no implications on the extension/compatibility of the
structure (domain) of the two involved classes (attributes).

\textbf{Extensional relationships.} \par Intensional relationships
SYN, BT and NT between two classes C1 and C2 may be
``strengthened'' by establishing that they are also extensional
relationships. Consequently, the following extensional
relationships can be defined in \lang:
\begin{itemize}
    \item C1 SYN$_EXT$ C2: this means that the instances of C1 are the same
    of C2.
    \item C1 BT$_EXT$ C2: this means that the instances of C1 are a
    superset of the instances of C2.
    \item C1 NT$_EXT$ C2: this means that the instances of C1 are
    a subset of the instances of C2.
\end{itemize}

\vspace{0.4cm} The OLCD Description Logic \lang descriptions are
translated into OLCD (Object Language with Complements allowing
Descriptive cycles) descriptions in order to perform Description
Logics inferences that will be useful for semantic integration.



In this section, we give the syntax of OLCD (the semantics is
given in Appendix );readers interested in a formal account can
refer to [R7]. Types and Schemata. We assume a countable set of
symbols A of attribute names (denoted by a,a1, a2, ¼) and we
assume a countable set N of type names (denoted by N,N1,N2, ¼),
which includes the set B = {Integer, String, Bool, Real} of
base-type designators (which will be denoted by B) and the symbols
T, ^. A path p is either the symbol e, or a dot-separated sequence
of elements e1 . e2 . ¼. en ,where ei Î AÈ{D, $} (i = 1,¼,n). e
denotes the unique path of length 0. Let W denote the set of all
paths. S(A,N) denotes the set of all finite type descriptions
(denoted by S, S1, S2, ¼), also briefly called types, over given
A, N, obtained according to the following abstract syntax rule,
where ai ¹ aj for i ¹ j(in the sequel p, p1, p2, ...,denote a
path, d denotes a base value, q denotes a relational operator): S®
N | S1È S2 | S1Ç S2 | ØS | {S}" | {S}$ | [a1:S1,¼,ak:Sk] | DS |
pqd | p­ T denotes the top type, ^ denotes the empty type, {}" and
[  ] denote the usual type constructors of set and record (tuple),
respectively. The {S}$ construct is an existential set
specification, where at least one element of the set must be of
typeS. The construct  Ç stands for intersection, the construct
stands for union, the construct Ø stands for complement, whereas D
constructs class descriptions, i.e., is an object set forming
constructor. pqd, p­ represent atomic predicates: pqd is a range
restriction and p­ expresses path undefinedness . Given a set of
type descriptions S(A,N), a schema s over S(A,N) is a total
function s: N\(BÈ{T,^}) ® S(A,N),which associates type names to
descriptions. s is partitioned into two functions: sP, which
introduces the description of primitive type names whose
extensions must be explicitly provided by the user; and sV, which
introduces the description of virtual type names whose extensions
can be recursively obtained from the extension of the types
occurring in their description. In OLCD cyclic type names are
allowed: in fact, since a type name may appear in type
descriptions, we can have circular references, that is, type names
which make direct or indirect references to themselves. Giving a
type as set semantics to type descriptions, Description Logics,
and thus OLCD, allows one to provide relevant reasoning
techniques: computing subsumption relations between types (i.e.
``is-a'' relationships implied by type descriptions), deciding
equivalence between types, and detecting inconsistent (i.e.,
always empty) types. In section 7.1.1, we describe how ODLI3
source schema descriptions are translated into OLCD descriptions.







\subsubsection{Lexical-derived inter-schema relationships} The
extraction of these relationships is based upon the lexical
relations holding between classes and attributes names, deriving
from the mining of used words. This is a kind of knowledge which
is not based on the rules of a data definition language but
derives from the name assigned by the designer. It is a designer's
task to assign descriptive/meaningful names or, at least,
correctly interpretable names. An interpretation uncertainty is
therefore inherent to the language ambiguity; Bates \cite{Bates86}
writes \emph{``the probability of two persons using the same term
in describing the same thing is less than 20\%''}. Anyway,
knowledge associated with schema names is an opportunity that must
be exploited to extract relationships. As it is almost impossible
to carry out this task manually when the number and dimensions of
schema grows, it was decided to experiment the use of the
\mbox{WordNet} lexical system to extract and propose to the
designer intensional inter-schema relationships.


\subsubsection{The WordNet database} WordNet is a lexical database
which was developed by the Princeton University Cognitive science
Laboratory. \mbox{WordNet} is inspired by current psycholinguistic
human lexical memory connected theories and it is regarded as the
most important researcher's available resource in the fields of
computational linguistics, textual analysis and other related
areas. The lexical \mbox{WordNet} database, in the current 1.6
version has 64089 lemma which are organized in 99757 synonym sets
(synset). The starting point of lexical semantics is the
constatation of the existence of a conventional association
between the words form (i.e. the way in which they are pronounced
or written) and the concept/meaning they express; such association
is of the many-to-many kind, giving rise to the following
properties:
\\\textbf{Synonymy}: property of a concept/meaning which can be
expressed with two or more words. A synonyms group is named
\emph{synset}. Note that one and only \emph{synset} exists for
each concept/meaning. Later a \emph{synset} will be indicated with
$\mathcal{s}$, while $\mathcal{S}$ will indicate the \emph{synset}
set.
\\\textbf{Polysemy}:property of a single word having two or more
meanings. The correspondence between the words form and their
meaning is synthesized in the so called \emph{Lexical Matrix}
$\mathcal{M}$ , in which the words meaning are reported in rows
(hence each row represents a \emph{synset}) and columns represent
the words form (form/base lemma). Each matrix element is a
definition $e=(f,m)$, where $f$ is the \emph{base form} and $m$
(meaning) is the meaning counter; for example (\texttt{address,
2}) refers to the address where a person or an organization can be
found; while (\texttt{address, 1}) refers to a computer address in
the informatics sphere. From here on the base form and the meaning
of an element $e=(f,m)$ will be respectively indicated with $e.f$
and $e.m$. An element of the $\mathcal{M}$ matrix may be
\emph{null} or \emph{indefinite}. As only one $\mathcal{M}$ row is
associated to a \emph{synset}, from here on we will use $s \in
\mathcal{S}$ as a $\mathcal{M}$ row indicator. In other words the
non null elements of the  $\mathcal{M}[s]$ row, represent each and
every $s$ element. In the same way, as only one $\mathcal{M}$
column is associated to a base form, from here on we will use the
base forms as $\mathcal{M}$ columns index.


%%% Local Variables:
%%% mode: latex
%%% TeX-master: "tesi"
%%% End:
