OntoMaven with Aspect-Oriented Extensions

User Guide (April 2016)

This document is for end users who are looking for information on how to run and use OntoMaven.

Prerequirements

In order to run OntoMaven on your machine, you need:

  • Mandatory is a Java Virtual Machine (JVM). Java 8 for 64-bit systems tested and found to be as a stable JVM for OntoMaven. Depending on your use case you may want to assign more RAM than assigned as default.
  • An up-to-date Apache Maven version. At the time of creation of the guide at least Maven 3.0.5 was verified as a running version.
  • If you want to use OntoMaven as a Maven project inside Eclipse or some other IDE you need their relevant Maven plugins. Please consider to use corresponding manuals for installation and usage.
  • For support of distributed repositories you need to install a source code management (SCM) system like Git or Subversion (SVN).

Installation and configuration details

Before you start to use the instructions from this section, be sure you already fulfilled the prerequirements mentioned in the section before.

Since OntoMaven is an open source project, you can get the source code and build it on your own. You can retrieve the source code of OntoMaven on the project's site http://www.corporate-semantic-web.de/ontomaven.html.

You can build and deploy OntoMaven like usual for a Maven based application with the command mvn build on the command line or the corresponding command in your favorite IDE.

In order to start the application to import ontologies and to collaborate with other knowledge engineers and domain experts, your command should have the following form (parameters are optional):

mvn de.csw:ontomaven:<goal_name> [-D<parameter_name>=<parameter_value>]

In Eclipse or other similar IDE you can start goals from the given configuration menu to run applications. Here you should insert de.csw:ontomaven:<goal_name> into the menu field to define your goal.

The available goals and their parameters are listed in another section.

By default the support for distributed repositories is not active. Edit the pom.xml file in the root directory of OntoMaven to specify your ontology repository.

The following code snippet shows you how to connect with some repository server using SVN:

xml <project> ... <scm> <connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection> <developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection> <url>http://somerepository.com/view.cvs</url> </scm> ... </project>

Instead of SVN you can connect to any other supported SCM.


Supported SCM

As of this writing the following SCMs are fully supported:

  • Bazaar
  • CVS
  • Git
  • Mercurial
  • Subversion
  • ...

Full list of supported SCMs (on the Apache Maven SCM site)


Goals: Function and parameters
  • ApplyAspects

Applys the choosen aspects of the ontology and creates a new result ontology.

* `aspectsAppliedOwlDirectory` with default value `"target/aspectsAppliedOwlDirectory"`
* `aspectsAppliedOwlFileName` with default value `"aspectsAppliedOntology.owl"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```

* CreateOntologyGraph

Creates a graphml file of the ontology. The result file can be visualized by any tool supporting graphml files. Included into OntoMaven is also

* `graphDirectory` with default value `"target/site/graph"`
* `graphFileName` with default value `"owlGraph.graphml"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `ifApplyAspects` with default value `false`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```

* CreateOntologyReport

Generates a report for the ontology. This report will contain information about the ontology and its elements like classes, properties, individuals.

* `ontologyReportOutputDirectory` with default value `"target/site/ontologyReport"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `ifApplyAspects` with default value `false`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```

* ExportAxioms

Exports the axioms of the ontology into a file. Furthermore aspects can be applied and inferred axioms can be printed and exported.

* `ifExportInferredAxioms` with default value `false`
* `ifExportOriginalAxioms` with default value `true`
* `axiomsExportDirectory` with default value `"target/exportedAxioms"`
* `axiomsExportFileName` with default value `"exportedAxioms.txt"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `ifApplyAspects` with default value `false`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```

* ImportOntologies

Loads and saves all (also transitiv) imports. The loaded ontologies will be saved in a specific directory. Every imported ontology will also be registered in a catalog. All goals will work with the local ontologies, if they are imported before.

* `importDirectory` with default value `"imports"`
* `catalogFileName` with default value `"catalog.xml"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`<p/>

* InferAxioms

Exports the inferred axioms of the ontology into a file.

* `ifIncludeOriginalAxioms` with default value `true`
* `inferredOwlDirectory` with default value `"target/inferredOwlFiles"`
* `inferredOwlFile` with default value `"inferredOntology.owl"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `ifApplyAspects` with default value `false`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```

* PrintAspectNames

Prints names of in a given ontology existing aspects.

* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`<p/>

* RemoveAspects

Applys the choosen aspects of the ontology and creates a new result ontology.

* `owlFileWithoutAspectsName` with default value `"ontologyWithoutAspects.owl"`
* `owlFilesWithoutAspectsDirectory` with default value `"target/owlFilesWithoutAspects"`
* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`<p/>

* TestEntailment

Tests if the axioms of an ontology can be inferred from the axioms of another ontology.

* `premiseOntologyFileName` with default value `"premiseOntology.owl"`
* `conclusionOntologyFileName` with default value `"conclusionOntology.owl"`
* `ifApplyPremiseAspects` with default value `true`
* `ifApplyConclusionAspects` with default value `true`
* `userPremiseAspects` with default value `[]` (empty string array)
* `userConclusionAspects` with default value `[]` (empty string array)
* `owlDirectory` with default value `"owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`<p/>

* TestOntology

Tests an ontology regarding the syntax and consistency. The result will be printed in the console and written into a specified file.

* `owlDirectory` with default value `"owl"`
* `owlFileName` with default value `"ontology.owl"`
* `aspectsIRI` with default value `"http://www.corporate-semantic-web.de/ontologies/aspect_owl#hasAspect"`
* `ifApplyAspects` with default value `false`
* `userAspects` defined at the pom.xml file in the root directory of OntoMaven with the following lines:
```xml
<userAspects>
    <aspect>myFirstAspect</aspect>
    <aspect>mySecondAspect</aspect>
    ...
</userAspects>
```