The SWRLTab is a development environment for working with SWRL rules in Protege-OWL. It supports the editing and execution of SWRL rules. It provides a set of libraries that can be used in rules, including libraries to interoperate with XML documents, and spreadsheets, and libraries with mathematical, string, RDFS, and temporal operators. A SWRL-based OWL query language called SQWRL is also provided. (A3E)
A introduction to the SWRL language can be found here. An introduction to SQWRL can be found here. (9EQ)
The SWRLTab has several software components: (6GY)
- SWRL Editor The editor supports editing and saving of SWRL rules in an OWL ontology. See the SWRL Editor FAQ for more details. (8GS)
- SWRL APIs The SWRLTab provides a collection of Java APIs to work with SWRL rules. These are documented here. (AWG)
- SWRL Built-in Libraries A number of built-in libraries are provided by the SWRLTab. 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. (8O1)
- SQWRL Query Tab The query tab provides a graphical interface to display the results of SQWRL queries. It is documented here. (8XC)
- SQWRL Query API This API provides a JDBC-like Java interface to retrieve the result of SQWRL queries. It is documented here. (8XD)
- SWRL Built-in Bridge SWRL built-ins are user-defined predicates that can be used in SWRL rules. The SWRLTab has a subcomponent 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. (6H2)
- SWRL Bridge The bridge provides the infrastructure necessary to incorporate rule engines into Protege-OWL to execute SWRL rules. See the SWRL Rule Engine Bridge FAQ for more details. The hope is that bridges for other rule engines will be developed by the Protege-OWL community and than an array of inference mechanism will become available for executing SWRL rules. (6H1)
- SWRL Jess Bridge A bridge for the Jess rule engine is provided in the Protege-OWL distribution. A user interface called the SWRLJessTab is also provided to interact with this bridge. (8P4)
- SWRL Factory The factory provides high-level Java APIs that support the creation and modification of SWRL rules in an OWL ontology. This API can be used by developers who wish to work with SWRL rules in their applications. See the SWRL Factory FAQ for more details. (6H0)
The SWRLTab is designed to work in Protege-OWL only. However, partial interoperation with Jena is also supported. See here for details. Work has proceeded to port it to Protege 4.1. (A6A)
Protege-OWL also contains the Axiome Rule Management Plugin, which provides support for SWRL rule elicitation, paraphrasing, and rule base visualization. It is documented here. (B21)
Activation (6H3)
The SWRLTab should be visible for all OWL ontologies that have a namespace entry for the canonical SWRL namespace http://www.w3.org/2003/11/swrl with the alias swrl. It is disabled by default if the ontology does not have this entry. In Protege-OWL, ontologies that use SWRL do not need to explicitly import the SWRL ontology. This ontology defines a storage specification only and the necessary OWL constructs it defines are understood by Protege-OWL. (A6B)
To activate the SWRLTab in a project that does not include a SWRL namespace entry, go to Project | Configure in the Protege-OWL GUI and check the "SWRLTab" box. The tab will then appear and a namespace entry for SWRL will be added to the active ontology. (6H5)
By default, the SWRLTab will automatically add the SWRLA and SQWRL ontologies to the import list of the active ontology when it is enabled. If you would like to disable this automatic importation, add the protege.owl.swrl.exclude_standard_imports property to the Protege.lax file in the base Protege installation directory and set its value to be true. You can also set this property in the Protege GUI by going to the File | Preferences ... | Property Files | Protege.lax menu. (AIR)
Publications (6H6)
The following publications describe SWRLTab functionality or illustrate its use in the development of applications. (B5D)
- "A Lightweight Model for Representing and Reasoning with Temporal Information in Biomedical Ontologies" Winner of Best Paper at International Conference on Health Informatics (HEALTHINF 2010), Valencia, Spain, 2010. This paper describes the representation of a temporal information in OWL and shows how SWRL and SQWRL can then be used to reason with and query this information. (B6D)
- "SQWRL: a Query Language for OWL" OWL: Experiences and Directions (OWLED 2009), Fifth International Workshop, Chantilly, VA, 2009. This paper gives a basic introduction to SQWRL's set-based features. (B6E)
- "Using the Semantic Web Rule Language in the Development of Ontology-Driven Applications" Chapter XXII in Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, IGI Global, Hershey, Pennsylvania, 2009. This book chapter gives on overview of SWRL and describes its use in the development of Semantic Web applications. (B6F)
- "The SWRLAPI: A Development Environment for Working with SWRL Rules." OWL: Experiences and Directions (OWLED 2008), Fourth International Workshop, Karlsruhe, Germany, 2008. This paper gives a basic overview of the features offered by the SWRLTab. (B6G)
- "Developing a Web-Based Application using OWL and SWRL" AAAI Spring Symposium, Stanford, CA, 2008. This paper describes the use of SWRL in the development of a simple web application. (B6H)
- "Querying the Semantic Web with SWRL" Winner of Challenge at the International RuleML Symposium on Rule Interchange and Applications (RuleML 2007), Orlando, FL, Springer, LNCS 4824, 155-159, 2007. This demo illustrated the use of SWRL to tackle the challenge of data integration. (B6I)
- "Efficiently Querying Relational Databases using OWL and SWRL" Poster at the First International Conference on Web Reasoning and Rule Systems (RR 2007), Innsbruck, Austria, Springer, LNCS 4524, 361-363, 2007. (BDA)
- "Using Semantic Web Technologies for Knowledge-Driven Querying of Biomedical Data" 11th Conference on Artificial Intelligence in Medicine (AIME 2007), Amsterdam, Netherlands, Springer, LNAI 4594, 267-276, 2007. (A3H)
- "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. Fourth International Semantic Web Conference (ISWC 2005), Galway, Ireland, Springer, LNCS 3729, 2005. (6H7)
Other papers that describe systems that use this software can be found here. (A3I)
Presentations (6H8)
- Page describing the upcoming SWRL Tutorial at the 2010 Extended Semantic Web Conference (B5F)
- Slides from SWRL Tutorial at the 2009 International Protege Conference (A3J)
- Slides from 60 minute talk at the 2006 Protege Short Course (9VW)
- Slides from 20 minute talk at the ISWC2005 (9VX)
Installation (6HB)
The SWRLTab is part of Protege-OWL 3.4 and does not need to be downloaded separately. However, since many of the SWRLTab components are under active development, the most recent Protege-OWL 3.4 build should be used when possible. (72M)
The Protege-OWL distribution does not include any rule engines. If a particular rule engine is used, it must be installed separately. At present, only the Jess rule engine is supported. Information on installing Jess is described here. (6HD)
Source Code (6HE)
The SWRLTab is open source and all of its source code is bundled with the Protege-OWL source code. This source code is available for download from the Protege-OWL Subversion Repository. (6W1)
Building (B46)
The SWRLTab is built as part of the Protege-OWL plugin, which can be downloaded from the Protege-OWL Subversion Repository. The root of the download directory has an Ant build file that can be used to compile and install the plugin. An option called install can be used to perform an install. The installation step is expecting an existing Protege installation and determines its location using the PROTEGE_HOME environment variable. (B49)
If an associated rule engine bridge is being used it may also need to be downloaded and installed. In general, it is advisable to download and build the latest version of bridges after installing a new SWRLTab. The SWRLJessTab, for example, should always be built after a new Protege-OWL build. Information on updating to the latest SWRLJessTab can be found here. (B4D)
Author (6HH)
The SWRLTab was written by Martin O'Connor at Stanford Center for Biomedical Informatics Research. (6HI)
How can I get help? (6HJ)
Questions and comments on the SWRLTab should be sent to the Protege-OWL mailing list (protege-owl at lists dot stanford dot edu). This list is monitored by the developers of the SWRLTab. (6HK)