OPPL is a pre-processor language for manipulating
OWL ontologies. OPPL is based in
Manchester OWL syntax, providing an intuitive syntax for defining macros to be applied in an OWL ontology. The OPPL macros are written in a flat file by the user, and the flat file is processed by the OPPL program, executing the instructions and creating a new ontology. The OPPL macros can be of two kinds: adding/removing entities (classes or properties) or adding/removing axioms (semantic axioms such as restrictions or annotation axioms) to/from entities that have been selected or added. In the case of selecting entities, the selection is made according to a user defined condition. The condition can be an annotation value or an arbitrary semantic expression (e.g.
subClassOf part_of some all (participates_in only (process and interaction))).
A typical OPPL macro, for example, reads as follows:
SELECT subClassOf participates_in some sport;ADD subClassOf participates_in some (event or (part_of
some event));REMOVE label "sports man";
Which means:
- Select any class that has the restriction
participates_in some sport as a necessary condition.
- Add to any selected class the restriction
participates_in some (event or (part_of some event)) as a necessary condition.
- Remove from any selected class the annotation
sports man in the rdfs:label annotation property.
Comments (
#) are ignored by the OPPL program. The reasoner used by OPPL is chosen by the user (
Pellet,
FaCT++ or any
DIG compliant reasoner such as
RacerPro).
Please refer to the sourceforge
download site. The bundle (oppl.tar.gz) includes binaries, source, sample OPPL files and sample ontologies.
The download bundle includes a sample file with OPPL instructions (test.oppl) as well as information on how to execute OPPL (README.html). Javadoc and a paper about OPPL from
OWLED2008 are also included in the bundle.