All SWRLTab APIs are part of the standard Protege-OWL distribution. The JARs containing these APIs are included in the Protege-OWL plugins directory (e.g., C:/Development/Protege_3.5/plugins/edu.stanford.smi.protegex.owl). In general, a Java program that wishes to use these APIs should simply include all the JARs in this plugin directory in their classpath. All the source code for the APIs can be downloaded from Protege's Subversion repository (see below).    (CK5)

Users wishing to compile these APIs can use the instructions on this page.    (CK6)

In Protege 3.4.8 and earlier, the SWRLTab code was part of the standard Protege-OWL distribution and all SWRLTab components were built when Protege-OWL was built. As of the 3.5 release, the SWRLTab is no longer part of Protege-OWL and is built from several projects.    (CH2)

These projects are:    (CGA)

The owl-portability package provides an API for interacting with OWL ontologies that aims to bridge Protege 3 and Protege 4, each of which uses different underlying APIs to interact with OWL. The owl-portability-p3 projects provide an implementation for Protege 3.5. The swrl-api project provides much of the functionality of the SWRLTab. It includes, for example, the SWRLTab Java APIs, the SQWRL query language, an array of SWRL built-in libraries, and pretty much all of the graphical interfaces provided by the SWRLTab. The Jess and Drools projects provide SWRL back ends for using the Jess and Drools rule engines. The swrl-tab-p3 project provides wrapping functionality for integrating these components into Protege 3.5.    (CGH)

Downloading the Code    (CGI)

Each project is contained in a Subversion repository. The locations of these repositories are as follows:    (CGJ)

A standard Subversion client can be used to download the code contained in these repositories. On the command line, with a Subversion command line client installed, something like the following should work:    (CGS)

svn checkout https://smi-protege.stanford.edu/repos/protege/owl-portability/trunk <your-destination-dir>    (CGT)

In general, the trunk is under active development so downloading the code for a particular public release may be safer. Each Subversion repository has a tags subdirectory containing the code for each numbered release.    (CGW)

Protege-OWL itself is divided into the protege-core and protege-owl projects, though it is generally not necessary to download and build these projects. If required, they can be obtained at the Core Protege and OWL Subversion repositories. They can be built using the same process outlined above. (For instructions on how to build Protege and Protege-OWL in Eclipse, see here.)    (CK7)

Building the SWRLTab Projects    (CGP)

The SWRLTab build process is expecting an existing Protege installation (e.g., C:/Program Files/Protege_3.5). It determines this location location using the PROTEGE_HOME environment variable.    (CGU)

The root each project directory has an Ant build file that can be used to compile and install the project. An option called install can be used to perform an install. This option will compile the relevant project and install it in the OWL plugins directory of Protege-OWL (e.g., C:/Development/Protege_3.5/plugins/edu.stanford.smi.protegex.owl).    (CK8)

Building Additional Rule Engines    (CGR)

At present, the SWRLTab come with plugins for the Drools and Jess rules engines.    (CK9)

The code for each plugin is contained in a Subversion repository. The locations of these repositories are:    (CKA)

Information on building the SWRLJessTab can be found here. The process for Drools is described here.    (CGX)