Clone this wiki locally
Table of Contents
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.
SWRL rules and SQWRL queries can be created and edited using the SWRL Editor.
SWRL rule engines can be created and managed using the SWRL Rule Engine API.
SQWRL queries can be managed and executed using the SQWRL Query Tab.
This API provides a JDBC-like Java interface to execute SQWRL queries. It is documented here.
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.
The SWRLAPI provides an array of mechanisms for modeling, reasoning with, and querying temporal information. They are documented here.
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.
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.
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:
- "SQWRL: a Query Language for OWL" M. J. O'Connor and A. K. Das. OWL: Experiences and Directions (OWLED), 6th International Workshop, Chantilly, VA, 2009.
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:
- "A Pair of OWL 2 RL Reasoners" M. J. O'Connor, A.K. Das. OWL: Experiences and Directions (OWLED), 9th International Workshop, Heraklion, Greece, 2012.
Additional SWRL-related publications can be found here.
The SWRLAPI is open source and all its source code is available for download from its GitHub repository.
Information on building the SWRLAPI can be found in the repository README.md file.
The SWRLAPI was written by Martin O'Connor at Stanford Center for Biomedical Informatics Research.
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.