DLML | Operators | Logics | Transformations | Transformation flow

DLML: logic descriptions

Description logics are very modular (one constructor can be added to a logic together with the corresponding inference rules). The difficult point in designing DTDs for DL is to preserve that modularity and being able to assemble the operators described individualy in a logic description.

We start by describing a solution for describing the logic in a natural way and generating automatically and syntactic (DTD) and semantic (DSD) description of the logic (in progress). Then we propose as set of already available XML descriptions (plus DTD and DSD) for well-known logics. Last, the particularity of designing modular DTDs for description logics are presented.

The DLML DTD

The above description constrains the logic designer to directly produce a DTD with the precise guidelines. For improving this situation, we are currently designing a way of providing the logic description in XML. This have several advantage:

The DLML DTD thus allows to describe a logic such as ALN by: <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <!DOCTYPE dlml:logic SYSTEM "http://co4.inrialpes.fr/xml/dlml/logic/dlml.dtd"> <dlml:logic name="aln" version="1.0"> <dlml:atoms/> <dlml:cop name="anything"/> <dlml:cop name="nothing"/> <dlml:cop name="and"/> <dlml:cop name="anot"/> <dlml:cop name="all"/> <dlml:cop name="atleast"/> <dlml:cop name="atmost"/> <dlml:cop name="some"/> <dlml:cint name="cdef"/> <dlml:cint name="cprim"/> <dlml:noncyclic select="CLASS/CLASS"/> </dlml:logic> From this description, two XSL stylesheet (dlml2dtd.xsl and dlml2dsd.xsl) will be able to generate the corresponding DTD and DSD that can be used for ALN terminologies in XML.
These DTDs can be refered to in XML documents by the insertion of (for ALN): <!DOCTYPE CONCEPT SYSTEM "http://co4.inrialpes.fr/xml/dlml/logic/dtd/aln.dtd"> and imported by other DTDs with: !ENTITY % ALNDTD SYSTEM "http://co4.inrialpes.fr/xml/dlml/logic/dtd/aln.dtd"> %ALNDTD;

For that purpose, use:

$ setenv CLASSPATH $XTDIR/xp.jar:$XTDIR/xt.jar:$XTDIR/sax.jar:$CLASSPATH $ java com.jclark.xsl.sax.Driver aln.xml dlml2dtsd.xsl

Logics available so far

It must be noted that there can be several ways to define the same logic (in the semantic sense). For instance, it is well known that ALC and ALUE are equivalent. As far as possible, we try to give only one below (with the maximum number of constructors available) and to elicit the other constructions.
Below are provided the XML descripton of the logic (through the DLML DTD) and the generated (so far, hand-made) DTD and DSD.

fl-.xml - dtd - manual dtd - dsd
For the FL- system (with and, all, some).
fl.xml - dtd - manual dtd - dsd
For the FL system (with and, all, some, range).
al.xml - dtd - manual dtd - dsd
For the AL system (with and, all, some, anything, nothing, anot).
fln.xml - dtd - manual dtd - dsd
For the FLN system (with and, all, some, range, atleast, atmost).
aln.xml - dtd - manual dtd - dsd
For the ALN system (with and, all, some, anything, nothing, anot, atleast, atmost)
alu.xml - dtd - manual dtd - dsd
For the ALU system (with and, all, some, anything, nothing, anot, or).
ale.xml - dtd - manual dtd - dsd
For the ALE system (with and, all, some, anything, nothing, anot, csome).
alr.xml - dtd - manual dtd - dsd
For the ALR system (with and, all, some, anything, nothing, anot, androle).
alun.xml - dtd - manual dtd - dsd
For the ALUN system (with and, all, some, anything, nothing, anot, or, atleast, atmost).
alc.xml - dtd - manual dtd - dsd
For the ALC system (with and, all, some, anything, nothing, anot, not, or).
alen.xml - dtd - manual dtd - dsd
For the ALEN system (with and, all, some, anything, nothing, anot, csome, atleast, atmost).
alur.xml - dtd - manual dtd - dsd
For the ALUR system (with and, all, some, anything, nothing, anot, or, androle).
aler.xml - dtd - manual dtd - dsd
For the ALER system (with and, all, some, anything, nothing, anot, csome, androle).
alnr.xml - dtd - manual dtd - dsd
For the ALNR system (with and, all, some, anything, nothing, anot, atleast, atmost, androle).
alcn.xml - dtd - manual dtd - dsd
For the ALCN system (with and, all, some, anything, nothing, anot, not, or, atleast, atmost).
alunr.xml - dtd - manual dtd - dsd
For the ALUNR system (with and, all, some, anything, nothing, anot, or, atleast, atmost, androle).
alcr.xml - dtd - manual dtd - dsd
For the ALCR system (with and, all, some, anything, nothing, anot, not, or, androle).
alenr.xml - dtd - manual dtd - dsd
For the ALENR system (with and, all, some, anything, nothing, anot, csome, atleast, atmost, androle).
alncr.xml - dtd - manual dtd - dsd
For the ALNCR system (with and, all, some, anything, nothing, anot, not, or, atleast, atmost, androle).
aluni.xml - dtd - manual dtd - dsd
For the ALUNI system (with and, all, some, anything, nothing, anot, or, atleast, atmost, inv).
s.xml - dtd - dsd
For the S system (with and, all, csome, anything, nothing, not, or, trans).
shi.xml - dtd - dsd
For the SHI system (with and, all, csome, anything, nothing, not, or, inv, trans).
shq.xml - dtd - dsd
For the SHQ system (with and, all, csome, anything, nothing, not, or, catleast, catmost, trans).
shiq.xml - dtd - dsd
For the SHIQ system (with and, all, csome, anything, nothing, not, or, catleast, catmost, inv, trans).
bigr.xml - dtd - manual dtd - dsd
For the R system (with androle, comp, self, notrole).
bigu.xml - dtd - manual dtd - dsd
For the U system (with and, all, or, not, some, csome, atleast, atmost, single, catleast, catmost, anything, nothing, rvm, sameas, anot, androle, orrole, notrole, comp, trans, inv, self, domain, range).

DTD design

This section is not compulsory for understanding the way DLML works. It remains here for historical reasons and because it gives a hint of the modtivations for the particular encoding we use.

First, each operator is defined in a single DTD, then a logic is defined by importing all the required DTDs. For this to work, "global" constants and definers have to be "declared" and bound just when assembling the logic DTD.

This leads to the following decomposition of the declaration of a particular description logic:

Even if the construction is very modular, it must be noted that it is not standard (if possible) to start from a logic and to add to it new constructors. Instead, each logic must be described independently of the others.


DLML | Operators | Logics | Transformations | Transformation flow

http://co4.inrialpes.fr/xml/dlml/dlml-logic.html

Jerome . Euzenat À inrialpes . fr $Id: dlml-logic.html,v 1.1 2003/08/21 20:36:10 euzenat Exp $