## Section: Research Program

### Knowledge representation semantics

We usually work with semantically defined knowledge representation languages (like description logics, conceptual graphs and object-based languages) [16] . Their semantics is usually defined within model theory initially developed for logics. The languages dedicated to the semantic web (rdf and owl ) follow that approach. rdf is a knowledge representation language dedicated to the description of resources; owl is designed for expressing ontologies: it describes concepts and relations that can be used within rdf .

We consider a language $L$ as a set of syntactically defined expressions (often inductively defined by applying constructors over other expressions). A representation ($o\subseteq L$) is a set of such expressions. It is also called an ontology. An interpretation function ($I$) is inductively defined over the structure of the language to a structure called interpretation domain ($D$). This expresses the construction of the “meaning” of an expression in function of its components. A formula is satisfied by an interpretation if it fulfills a condition (in general being interpreted over a particular subset of the domain). A model of a set of expressions is an interpretation satisfying all these expressions. An expression ($\delta $) is then a consequence of a set of expressions ($o$) if it is satisfied by all of their models (noted $o\vDash \delta $).

A computer must determine if a particular expression (taken as a query, for instance) is the consequence of a set of axioms (a knowledge base). For that purpose, it uses programs, called provers, that can be based on the processing of a set of inference rules, on the construction of models or on procedural programming. These programs are able to deduce theorems (noted $o\u22a2\delta $). They are said to be sound if they only find theorems which are indeed consequences and to be complete if they find all the consequences as theorems. However, depending on the language and its semantics, the decidability, i.e., the ability to create sound and complete provers, is not warranted. Even for decidable languages, the algorithmic complexity of provers may prohibit their exploitation.

To solve this problem a trade-off between the expressivity of the language and the complexity of its provers has to be found. These considerations have led to the definition of languages with limited complexity – like conceptual graphs and object-based representations – or of modular families of languages with associated modular prover algorithms – like description logics.

Exmo mainly considers languages with well-defined semantics (such as rdf and owl that we contributed to define), and defines the semantics of some languages such as the sparql query language and alignment languages, in order to establish the properties of computer manipulations of the representations.