Menu

Tree [05fd88] master /
 History

HTTPS access


File Date Author Commit
 doc 2012-10-02 Thorsten Wißmann Thorsten Wißmann [27fe7c] Add filetype documentation
 examples 2013-02-26 Thorsten Wißmann Thorsten Wißmann [2a9dbb] mv alcqme2/consistentinfinite-chain.owl chain.owl
 src 2013-06-14 Thorsten Wißmann Thorsten Wißmann [bac72d] Remove all axioms with the "I"-role from the HBox
 stats 2013-02-27 Thorsten Wißmann Thorsten Wißmann [94c3c7] Add sequentially measured reasoning times
 .gitignore 2013-02-28 Thorsten Wißmann Thorsten Wißmann [c49c46] Extend .gitignore
 COPYING 2013-02-28 Thorsten Wißmann Thorsten Wißmann [e2fa84] Add GPLv3 as COPYING
 Makefile 2013-02-20 Thorsten Wißmann Thorsten Wißmann [666d25] Rename project to i-me-owl
 README 2013-02-28 Thorsten Wißmann Thorsten Wißmann [e2fa84] Add GPLv3 as COPYING
 browse-annotations.sh 2013-02-20 Thorsten Wißmann Thorsten Wißmann [666d25] Rename project to i-me-owl
 classify.sh 2013-02-26 Thorsten Wißmann Thorsten Wißmann [1e69a9] Improve classify.sh
 concheck-time.sh 2013-02-27 Thorsten Wißmann Thorsten Wißmann [8e39b1] Ensure correct (sequential) test conditions
 create-stats.sh 2013-02-21 Thorsten Wißmann Thorsten Wißmann [0cf89f] Add cputime in stats
 distributed.sh 2013-06-14 Thorsten Wißmann Thorsten Wißmann [05fd88] Fixup distributed.sh
 fetch-deps.sh 2013-02-27 Thorsten Wißmann Thorsten Wißmann [dc430b] fetch.sh -> fetch-deps.sh
 i-me-owl 2013-04-16 Thorsten Wißmann Thorsten Wißmann [980b37] Do some time measurements on stderr
 longstats.sh 2013-06-14 Thorsten Wißmann Thorsten Wißmann [2ad8fb] longstats.sh: Try I/me-pairs in a random order
 modalitytime.sh 2013-04-16 Thorsten Wißmann Thorsten Wißmann [980b37] Do some time measurements on stderr
 test.sh 2013-02-20 Thorsten Wißmann Thorsten Wißmann [666d25] Rename project to i-me-owl

Read Me

Transform bounded self-reference into plain owl files
=====================================================

About this project
------------------
This project handles self-reference in OWL files. Self-reference in OWL is
encoded analogously to the I-me-construct originally defined by Marx[2]. Here,
we only allow at most two qualified number restrictions (or quantifiers) between
the I and the me. Those OWL ontologies with self-referenc can be transformed via

    $ ./i-me-owl convert

into a plain OWL ontology in a consistency-preserving way (expecting the OWL
file on stdin and writing the transformed OWL file to stdout). The
transformation was written along with a bachelor thesis at the Chair for
Computer Science 8 at the University of Erlangen-Nürnberg (Germany)[1].


The I.C construct is encoded as

    ObjectSomeValuesFrom( :I :C )

for some appropriate :C and the me is encoded by the named class :me. For some
example ontologies see the examples/ subdirectory. To give a more readable
expierince, you should prefer using the shipped pretty-printer for reading
contologies, e.g.:

    $ ./i-me-owl print examples/alcqme2/consistent/chain.owl 
    T ≡ I.∃S.¬me
    T ≡ I.∀R.(∃S.me)

This of course requires building ./i-me-owl first.

System Requirements
-------------------

  - scala >= 2.9.2
  - bash >= 4.2.0
  - GNU Make

Compiling
---------
You need a current version of the owlapi of the hermit OWL reasoner. You can
install both by running:

    $ ./fetch-deps.sh

After that, the build process can be started via

    $ make

Now you can use the wrapper script ./i-me-owl. See the output of ./i-me-owl -h
for the exact command line usage.

Testing
-------
A test suite for the example ontologies is given. Mainly, ontologies are checked
for consistency using the hermit OWL reasoner after converting the files (and
also before if no self-reference was involved). It can be run using the
make-target "test". As there is much to test it is recommended to use the
parallelism offered by make:

    $ make test -j4 # number of threads you like

The output gives an intuitive feedback what was tested and which tests succeded.

License
-------
This project is free software. It is licensed under the GPLv3. See the COPYING
file for more licensing details.

[1] http://www8.cs.fau.de/
[2] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.8117

// vim: tw=80 spelllang=en spell