Home

Martin O'Connor edited this page Feb 22, 2016 · 43 revisions

The SWRLAPI is a Java API for working with the OWL-based SWRL rule and SQWRL query languages.

If you are not familiar with the SWRL language you can find an introduction here. An introduction to SQWRL can be found here.

Table of Contents

Software Components

The SWRLAPI provides a collection of software components and Java APIs. These components and APIs can be used by developers who wish to work with SWRL rules in their applications.

These include:

SWRL Editor

SWRL rules and SQWRL queries can be created and edited using the SWRL Editor.

SWRL Rule Engine API

SWRL rule engines can be created and managed using the SWRL Rule Engine API.

SQWRL

The SWRLAPI includes an implementation of the SQWRL query language. It provides a graphical interface called the SQWRL Query Tab to display the results of SQWRL queries.

SQWRL Query Tab

SQWRL queries can be managed and executed using the SQWRL Query Tab.

SQWRL Query API

This API provides a JDBC-like Java interface to execute SQWRL queries. It is documented here.

SWRL Built-in Libraries

SWRL Built-Ins are user-defined methods that can be used in SWRL rules. A number of built-in libraries are provided by the SWRLAPI. These include an implementation of the core SWRL built-ins defined in the SWRL Submission and built-ins for querying OWL ontologies. The libraries are documented here.

SWRL Temporal Ontology and Library

The SWRLAPI provides an array of mechanisms for modeling, reasoning with, and querying temporal information. They are documented here.

OWL 2 RL Reasoner Framework

The SWRLAPI provides a framework for implementing and managing an OWL 2 RL reasoner. Documentation can be found here.

SWRL Built-in Bridge

SWRL built-ins are user-defined predicates that can be used in SWRL rules. The SWRLAPI has a set of APIs called the built-in bridge that provides a mechanism to define Java implementations of SWRL built-ins. These implementations can then be dynamically loaded by the bridge and invoked from a rule engine.

SWRL Rule Engine Bridge

The bridge provides the infrastructure necessary to incorporate third party rule engines to execute SWRL rules. See the SWRL Rule Engine Bridge FAQ for more details. A Drools-based rule engine built using this infrastructure is described here. A user interface called the SWRL Drools Tab is also provided to interact with this bridge. It is documented here.

Citing in Publications

To cite general use of the SWRLAPI in a publication, use the following paper:

  • "Supporting Rule System Interoperability on the Semantic Web with SWRL" M.J. O'Connor, H. Knublauch, S.W. Tu, B. Grossof, M. Dean, W.E. Grosso, M.A. Musen. 4th International Semantic Web Conference (ISWC), Galway, Ireland, Springer Verlag, LNCS 3729, 974-986, 2005.

SQWRL can be cited as follows:

The SWRLAPI's temporal functionality is covered in the following paper:

  • "A Method for Representing and Querying Temporal Information in OWL" M. J. O'Connor and A. K. Das. Biomedical Engineering Systems and Technologies (Selected Papers), Springer Verlag, CCIS 127, 97-110, 2011.

The reasoner used by the SWRLAPI is described here:

Additional SWRL-related publications can be found here.

Source Code

The SWRLAPI is open source and all its source code is available for download from its GitHub repository.

Building

Information on building the SWRLAPI can be found in the repository README.md file.

Author

The SWRLAPI was written by Martin O'Connor at Stanford Center for Biomedical Informatics Research.

How can I get help?

Questions and comments on the SWRLAPI should be sent to the Protégé mailing list (protege-user at lists dot stanford dot edu). This list is monitored by the developers of the SWRLAPI.