Repository revision
repository tip
Select a revision to inspect and download versions of Galaxy utilities from this repository.

Repository 'oppl'
It provides various tools for executing OPPL scripts against ontologies and processing the result (modified ontologies).
OPPL, Ontology Pre Processor Language (, is a high level scripting language, based in the Manchester OWL Syntax, to automate the manipulation of an ontology 
(Adding or removing axioms).

This bundle provides different tools related to OPPL:

OPPL: It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script.
Inference: It performs inference in an OWL ontology and it generates a new ontology with the inferred axioms as asserted axioms.
OWL query: It performs a query, expressed in Manchester OWL Syntax, against an OWL ontology.
OPPL: It performs a query, expressed in OPPL Syntax, against an OWL ontology.
Merge: If an ontology with import axioms is provided, it will merge the imported ontologies into the main ontology.

Repository README files - may contain important installation or license information

This is a README file for the FaCT++ v1.1.6 reasoner distribution.

This file contains following information

1. Introduction
2. Contents of distribution
3. Installation
4. Usage
5. Known problems
6. Contact information

1. Introduction

FaCT++ is re-implementation of the well-known FaCT Description Logic (DL) 
Reasoner. This reasoner currently supports the SROIQ(D) description Logic
language, which corresponds to OWL DL ontology language standard.
The current version is 1.1.6. This is source distribution package so it can
be used on different platforms. It was tested on Windows, Linux and MacOS X.

FaCT++ is distributed under GNU Public License (GPL). Full text of license
can be found at Libraries that are 
provided by the FaCT++ are distributed under the GNU Lesser Public License

2. Contents of distribution

  file              description
- src/             FaCT++ source code
- bin/ and lib/    FaCT++ precompiled binaries
- Models.lisp/     examples and infrastructure for FaCT++ lisp reasoner
- licensing/       license information
- README           this file

3. Installation

3.1 Building system from sources

For building system you will need GNU c++ compiler and GNU make (version 3.3
and higher were tested). Change GENERAL_DEFINES macro in src/Makefile.include
to make it suitable for your computer. Then just run "make".

In order to compile DIG part you will also need an XML parsing library
Xerces-c (freely avaliable at Make sure
that Xerces-c package is installed system-wide or you have environment
variable XERCESCROOT which points to Xerces-c root directory.

In order to compile OWL-API interface (src/FaCTPlusPlusJNI/) it is necessary
to have JNI development files (jni.h) available.

4. Usage

4.1 Standalone FaCT++ with lisp-like interface

Models.lisp directory of this distribution contains some files that
support FaCT++ reasoning as well as examples of KBs.

To use standalone reasoner user should usually perform the following steps:
- create an ontology using the FaCT++ input language
- create a working directory (i.e. TEST) for FaCT++ using the command
        create-new-test TEST ontology
  where "ontology" is the name of the file containing your FaCT++ ontology
- inside TEST directory run
This will run FaCT++ reasoner on the newly created config-file for the
given ontology. The results of FaCT++'s reasoning appear in following files:

- Taxonomy.Roles contains information about the roles taxonomy;
- Taxonomy.log contains information about the concept taxonomy (if it was requested);
- dl.res contains full information about the ontology and some statistical 
  information about the reasoning process;

4.1.1 Ontology creation

There are three ways of creating an ontology for FaCT++

- Hand-made ontology. This way is not recommended for the end user.
- Using OilEd ( Load an ontology to the OilEd
  then choose Export|FaCT++ lisp.
- From the OWL source using the OWL Ontology Converter 
  ( Set the ontology URL to
  the OWL ontology, choose FaCT++ as the output language, press Convert and then
  copy the resulting ontology text to the FaCT++ ontology file.

4.1.2 Reasoning process

There are a number of options that could influence the reasoning process. All 
options, their format and description are given in the config file, which is
generated by the create-new-test script.

4.2 FaCT++ as an HTTP DIG reasoner

Run FaCT++.Server with optional parameter "-port <port>". Default value of
<port> is 3490.

This reasoner will avaliable at http://<host>:<port>, where <host> is
a name of a computer running FaCT++.Server.

4.3 FaCT++ as an HTTP OWL reasoner

Use FaCT++ as describe in section 4.2. Then connect your OWL editor like
Protege ( to the FaCT++ using address 

5. Known problems

6. Contact information

For any problems concerning FaCT++ please contact Dmitry Tsarkov
(  Any questions, suggestions or bug reports are

Last updated: 01/05/2007

Contents of this repository

Name Description Version
Perform inference in an OWL ontology It performs inference in an OWL ontology and it generates a new ontology with the inferred axioms as asserted axioms 1.0.1
Merge the imported ontologies If an ontology with import axioms is provided, it will merge the imported ontologies into the main ontology 1.0.1
Execute an OPPL file against an ontology It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script 1.0.8
Perform an OPPL query against an ontology It performs a query, expressed in OPPL Syntax, against an OWL ontology 1.0.1
Perform an OWL query against an ontology It performs a query, expressed in Manchester OWL Syntax, against an OWL ontology 1.0.1

Automated tool test results

Time tested: 2014-04-19 15:15:15
Python version:
Galaxy revision:
Galaxy database version:
Tool shed revision: 13123:e6876f691854
Tool shed database version: 22
Tool shed mercurial version: 2.2.3
Tool id: inference
Tool version: 1.0.1
Tool guid:
Missing components:
Functional test definitions missing for inference.
Tool id: merge
Tool version: 1.0.1
Tool guid:
Missing components:
Functional test definitions missing for merge.
Tool id: oppl
Tool version: 1.0.8
Tool guid:
Missing components:
Functional test definitions missing for oppl.
Tool id: oppl_query
Tool version: 1.0.1
Tool guid:
Missing components:
Functional test definitions missing for oppl_query.
Tool id: query
Tool version: 1.0.1
Tool guid:
Missing components:
Functional test definitions missing for query.

Ontology Manipulation