-
Notifications
You must be signed in to change notification settings - Fork 41
Home
The SWRLAPI is a Java API for working with the OWL-based SWRL rule language. It provides and array of Java APIs for working with SWRL rules and includes graphical tools for editing and executing rules. A SWRL-based OWL query language called SQWRL is also provided.
If you are not familiar with the SWRL language you can find an introduction here. An introduction to SQWRL can be found here.
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.
The APIs include:
=== SWRL Rule Engine API === SWRL rule engines can be created and managed using the SWRL Rule Engine API.
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.
This API provides a JDBC-like Java interface to execute SQWRL queries. It is documented here. The SWRLAPI provides a collection of Java APIs to work with SWRL rules. These are documented here. The SWRLAPI also provides a set of standalone graphical interfaces for managing SWRL rules. These interfaces are designed to be embeddable into third party Java applications.
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.
The SWRLAPI provides a framework for implementing and managing an OWL 2 RL reasoner. Documentation can be found 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 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.