Skip to content

Commit

Permalink
Reconfigure ELK modules to build OWL API 4 & 5 bindings
Browse files Browse the repository at this point in the history
Address issue #48

new modules:
- elk-owlapi-parent now contains the ELK OWL API modules for
both OWL API version 4 and 5: elk-owlapi4, elk-owlapi5
- elk-distribution-parent now contains separate module for every
distribution type: elk-distribution-cli, elk-distribution-owlapi4,
elk-distribution-owlapi5, elk-distribution-protege

removed modules:
- elk-distribution (which has been replaced)
- elk-standalone (the ELK CLI standalone binary is now build in
elk-distribution-cli)
- elk-wolapi-standalone (the ELK OWL API jar package is now build in
elk-distribution-owlapi4 and elk-distribution-owlapi5)
  • Loading branch information
ykazakov committed Mar 13, 2018
1 parent b24a138 commit 93e9bc7
Show file tree
Hide file tree
Showing 228 changed files with 2,690 additions and 628 deletions.
File renamed without changes.
File renamed without changes.
139 changes: 139 additions & 0 deletions elk-distribution-parent/elk-distribution-cli/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.semanticweb.elk</groupId>
<artifactId>elk-distribution-parent</artifactId>
<version>0.5.0-SNAPSHOT</version>
</parent>

<artifactId>elk-distribution-cli</artifactId>
<name>ELK Distribution Package for Command Line</name>
<description>Contains ELK binary and usage instructions from the command line</description>

<properties>
<elk-cli.assembly-id>elk-cli-package</elk-cli.assembly-id>
<elk-cli.filename>elk</elk-cli.filename>
</properties>

<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>elk-cli</artifactId>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<!-- including shared resources, such as Changes.txt -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-remote-resources-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>${project.groupId}:elk-distribution-resources:${project.version}</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- set additional properties like currentYear -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>verify-required-protege-properties</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<!-- properties used in cli-zip.xml -->
<requireProperty>
<property>elk-cli.assembly-id</property>
</requireProperty>
<requireProperty>
<property>elk-cli.filename</property>
</requireProperty>
<!-- properties used in README.txt -->
<requireProperty>
<property>project.inceptionYear</property>
</requireProperty>
<requireProperty>
<property>currentYear</property>
</requireProperty>
<requireProperty>
<property>project.organization.name</property>
</requireProperty>
<requireProperty>
<property>java.required.version</property>
</requireProperty>
<requireProperty>
<property>elk-cli.filename</property>
</requireProperty>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<!-- creating the binary for elk -->
<id>create-elk-cli-binary</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/assembly/jar-with-dependencies.xml</descriptor>
</descriptors>
<finalName>${elk-cli.filename}</finalName>
<archive>
<manifestEntries>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Title>${project.name}</Implementation-Title>
</manifestEntries>
<manifest>
<mainClass>org.semanticweb.elk.cli.Main</mainClass>
</manifest>
</archive>
</configuration>
</execution>
<execution>
<!-- creating the distribution archive for elk-standalone -->
<id>create-elk-cli-zip-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/assembly/cli-zip.xml</descriptor>
</descriptors>
<classifier>zip</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>${elk-cli.assembly-id}</id>
<formats>
<!-- the type of the archive -->
<format>zip</format>
</formats>
<files>
<!-- the additional files to be bundled in the archive -->
<file>
<source>${basedir}/src/main/resources/README.txt</source>
<filtered>true</filtered>
</file>
<file>
<source>${basedir}/LICENSE.txt</source>
<filtered>true</filtered>
</file>
<file>
<source>${basedir}/target/maven-shared-archive-resources/Changes.txt</source>
</file>
<file>
<source>${project.build.directory}/${elk-cli.filename}.jar</source>
</file>
</files>
</assembly>
Original file line number Diff line number Diff line change
Expand Up @@ -29,12 +29,12 @@ USAGE:

Invoking the client without any parameters displays the supported options:

java -jar ${elk-standalone.base}.jar
java -jar ${elk-cli.filename}.jar

To load the ontology from the file ontology.owl, compute its classification
and store the result in taxonomy.owl, run ELK as follows:

java -jar ${elk-standalone.base}.jar -i ontology.owl -c -o taxonomy.owl
java -jar ${elk-cli.filename}.jar -i ontology.owl -c -o taxonomy.owl

Without the output parameter ELK will still compute the result but it will
neither store nor display the result anywhere; this can be used for performance
Expand All @@ -43,11 +43,11 @@ experiments.
You may want to specify further Java parameters for increasing available memory
for classifying larger ontologies, e.g. by setting

java -Xms256M -Xmx3G -jar ${elk-standalone.base}.jar
java -Xms256M -Xmx3G -jar ${elk-cli.filename}.jar

or

java -XX:+AggressiveHeap -jar ${elk-standalone.base}.jar
java -XX:+AggressiveHeap -jar ${elk-cli.filename}.jar

If ELK cannot parse your ontology, this is probably because it is in the
RDF/XML syntax. ELK can only parse ontologies in OWL 2 Functional-Style Syntax.
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.semanticweb.elk</groupId>
<artifactId>elk-distribution-owlapi-parent</artifactId>
<version>0.5.0-SNAPSHOT</version>
</parent>

<artifactId>elk-distribution-owlapi-resources</artifactId>
<name>ELK Common OWL API Resources</name>
<description>Contains resources of ELK that are shared among OWL API packages</description>

<build>
<plugins>
<!-- sharing resources -->
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<configuration>
<includes>
<include>**/*.txt</include>
<include>**/*.xml</include>
</includes>
</configuration>
<executions>
<execution>
<goals>
<goal>bundle</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

</project>
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Java ${java.required.version} or higher.

INSTALLATION:

To use the library make sure that Java finds ${elk-owlapi.base}.jar, and
To use the library make sure that Java finds ${elk.filename}.jar, and
the third party libraries from the lib directory in the class path.

USAGE:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
<id>${elk-owlapi.assembly-id}</id>
<formats>
<!-- the type of the archive -->
<format>zip</format>
</formats>
<fileSets>
<fileSet>
<!-- Example sources -->
<directory>${examples.directory}</directory>
<outputDirectory>examples/src</outputDirectory>
</fileSet>
<fileSet>
<!-- thrird-party libraries -->
<directory>${project.build.directory}/lib</directory>
<outputDirectory>lib</outputDirectory>
</fileSet>
</fileSets>
<files>
<!-- the additional files to be bundled in the archive -->
<file>
<source>${basedir}/LICENSE.txt</source>
<filtered>true</filtered>
</file>
<file>
<source>${basedir}/target/maven-shared-archive-resources/Changes.txt</source>
<filtered>true</filtered>
</file>
<file>
<source>${basedir}/target/maven-shared-archive-resources/README.txt</source>
<filtered>true</filtered>
</file>
<file>
<source>${project.build.directory}/${elk.filename}.jar</source>
</file>
<file>
<source>${project.build.directory}/${elk-sources.filename}.jar</source>
</file>
</files>

</assembly>
Loading

0 comments on commit 93e9bc7

Please sign in to comment.