The SWRLTab is a development environment for working with SWRL rules in Protege-OWL. It supports the editing and execution of SWRL rules and includes 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)
An 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 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 Temporal Ontology and Library The SWRLTab provides an array of mechanisms for modeling, reasoning with, and querying temporal information. They are documented here. (CAS)
- 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. It is documented here. A user interface called the SWRLJessTab is also provided to interact with this bridge. It is documented here. (BLI)
- 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.properties 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 | Configure ... menu and enabling the ProtegePropertiesTab. (AIR)
Citing in Publications (6H6)
To cite general use of the SWRLTab in a publication, use the following paper: (C5G)
- "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. (C5H)
SQWRL can be cited as follows: (C5I)
- "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. (C5L)
The SWRLTab's temporal functionality is covered in the following paper: (C5O)
- "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. (C5P)
Papers describing use of specific SWRL components in Protege-OWL may find a more targeted publication to cite in the publication list below. (C5M)
Publications (C5K)
The following publications describe SWRL-related Protege-OWL functionality or illustrate the use of SWRL in the development of applications. (B5D)
- "Adaptive System for Collaborative Online Laboratories" C. Gravier, M. J. O'Connor, J. Fayolle, J. Lardon. IEEE Intelligent Systems, in press. This work describes the use of SWRL to specify and execute a variety of collaborative strategies in online laboratories. (BR1)
- "Evaluation of Semantic-Based Information Retrieval Methods in the Autism Phenotype Domain" S. Hassanpour, M. J. O'Connor, A. K. Das. AMIA Annual Symposium, Washington, D.C., U.S.A., 2011. This paper shows that incorporating SWRL rules can improved ontology-based information retrieval methods. (C5Q)
- "Web-Based Querying and Temporal Visualization of Longitudinal Clinical Data" A. Richards, M. J. O'Connor, S. B. Martins, M. Bingen, S. W. Tu, A. K. Das. 13th Conference on Artificial Intelligence in Medicine (AIME), Bled, Solvenia, 2011. This paper describes the SWEETInfo temporal data management system, which uses SWRL and SQWRL for data processing. (C5A)
- "A Rule-Based Method for Specifying and Querying Temporal Abstractions". M. J. O'Connor, G. Hernandez, Jr., A. K. Das. 13th Conference on Artificial Intelligence in Medicine (AIME), Bled, Solvenia, 2011. This paper describes outlines the implementation of a temporal abstraction mechanism in the SQWRL query language. (C5B)
- "A Framework for the Automatic Extraction of Rules from Online Text" S. Hassanpour, M. J. O'Connor, A. K. Das. International RuleML Symposium on Rule Interchange and Applications, Barcelona, Spain, 2011. This work describes a framework for automatically extracting SWRL rules from online text. (C56)
- "Web-Based Exploration of Temporal Data in Biomedicine" M. J. O'Connor, M. Bingen, A. Richards, S. B. Martins, S. W. Tu, A. K. Das. 7th International Conference on Web Information Systems and Technologies (WEBIST), Noordwijkerhout, Netherlands, 352-359, 2011. This paper discusses the use of SWRL and SQWRL in the development of a web-based application for performing temporal data analysis. (BR2)
- "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. This paper is an extended version of the HEALTHINF paper with more details on the writing of temporal rules and queries. (BLY)
- "Visualizing Logical Dependencies in SWRL Rule Bases" S. Hassanpour, M. J. O'Connor, A. K. Das. International RuleML Symposium on Rule Interchange and Applications, Washington, DC, Springer Verlag, 6403, 259-272, 2010. Nominated for Best Paper award. This work involves automatically detecting high-level patterns in SWRL rule bases, which can then be used for rule base analysis and comprehension. (C57)
- "A Lightweight Model for Representing and Reasoning with Temporal Information in Biomedical Ontologies" M. J. O'Connor and A. K. Das. International Conference on Health Informatics (HEALTHINF), Valencia, Spain, 2010. Winner of Best Paper award. 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)
- "A Software Tool for Visualizing, Managing and Eliciting SWRL Rules" S. Hassanpour, M. J. O'Connor, A. K. Das. Extended Semantic Web Conference (ESWC), Heraklion, Greece, Springer Verlag, LNCS 6089, 381–385, 2010. Winner of Best Demo award. This demo presents the Axiome rule management Protege-OWL plugin. (C58)
- "Semantic Reasoning with XML-based Biomedical Information Models" M. J. O'Connor and A. K. Das. 13th World Congress on Medical Informatics (MedInfo), Cape Town, South Africa, 985-990, 2010. This paper outlines the use of SWRL in the devlopment of reasoning methods to work with information models describing data in the HIV and radiological image domains. (C5C)
- "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. This paper gives a basic introduction to SQWRL's collection-based features. (B6E)
- "A Rule Management and Elicitation Tool for SWRL Rule Bases" S. Hassanpour, M. J. O'Connor, A. K. Das. OWL: Experiences and Directions (OWLED), 6th International Workshop, Chantilly, VA, 2009. This paper describes the Axiome rule management Protege-OWL plugin. (C58)
- "Exploration of SWRL Rule Bases through Visualization, Paraphrasing, and Categorization of Rules" S. Hassanpour, M. J. O'Connor, A. K. Das. International RuleML Symposium on Rule Interchange and Applications, Las Vegas, NV, 5858, 246-261, 2009. Winner of Best Paper award. This work describes a set of techniques for visualizing and exploring SWRL rule bases. (C59)
- "Using the Semantic Web Rule Language in the Development of Ontology-Driven Applications" M. J. O'Connor, M. A. Musen, A. K. Das. Handbook of Research on Emerging Rule-Based Languages and Technologies: Open Solutions and Approaches, Chapter XXII, 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)
- "Semantic Reasoning with Image Annotations for Tumor Assessment" M. Levy, M. J. O'Connor, D. L. Rubin. AMIA Annual Symposium, San Francisco, CA, U.S.A., 359-363, 2009. This paper describes the use of SWRL to reason with image annotations for tumor assessment in breast cancer. (C5D)
- "The SWRLAPI: A Development Environment for Working with SWRL Rules." M. J. O'Connor, C. I. Nyulas, R. D. Shankar, A. K. Das, M. A. Musen. OWL: Experiences and Directions (OWLED), 5th 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" M. J. O'Connor, R. D. Shankar, S. W. Tu, C. I. Nyulas, A. K. Das. AAAI Spring Symposium, Stanford, CA, 2008. This paper describes the use of SWRL in the development of a simple web application. (B6H)
- "Using an Integrated Ontology and Information Model for Querying and Reasoning about Phenotypes: The Case of Autism" S. W. Tu, J. Tenenbaum, M. J. O'Connor, R. D. Shankar, A. K. Das. AMIA Annual Symposium, Washington, DC, U.S.A., 727-731, 2008. This paper describes the use of SWRL to reason with autism phenotypes. (C5E)
- "Querying the Semantic Web with SWRL" M. J. O'Connor and A. K. Das. International RuleML Symposium on Rule Interchange and Applications, Orlando, FL, Springer Verlag, LNCS 4824, 155-159, 2007. Winner of RuleML Challenge. This demo illustrates the use of SWRL to tackle the challenge of data integration. (B6I)
- "Efficiently Querying Relational Databases using OWL and SWRL" M. J. O'Connor, R. D. Shankar, S. W. Tu, C. I. Nyulas, A. K. Das, M. A. Musen. 1st International Conference on Web Reasoning and Rule Systems (RR), Innsbruck, Austria, Springer Verlag, LNCS 4524, 361-363, 2007. This poster described the use of SWRL to access relational data in OWL-based applications. (C55)
- "Using Semantic Web Technologies for Knowledge-Driven Querying of Biomedical Data" M. J. O'Connor, R. D. Shankar, S. W. Tu, C. I. Nyulas, D. B. Parrish, A. K. Das, M. A. Musen. 11th Conference on Artificial Intelligence in Medicine (AIME), Amsterdam, Netherlands, Springer Verlag, 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. 4th International Semantic Web Conference (ISWC), Galway, Ireland, Springer Verlag, LNCS 3729, 974-986, 2005. (6H7)
- "Writing Rules for the Semantic Web Using SWRL and Jess" M.J. O'Connor, H. Knublauch, S.W. Tu, M.A. Musen. Protégé with Rules Workshop, held with 8th International Protégé Conference, Madrid, Spain, 2005. (BN7)
Other papers that describe systems that use this software can be found here. (A3I)
Presentations (6H8)
- Page describing the 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 installed as part of Protege-OWL and does not need to be downloaded separately. However, since many of the SWRLTab components are under active development, the most recent Protege-OWL release 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. In 3.4.8, only the Jess rule engine is supported. Information on installing Jess is described here. In 3.5 and later, the Drools rule engine is also supported. Unlike Jess, Drools is open source and does not require a license for use so is preinstalled. (CHB)
Source Code (6HE)
The SWRLTab is open source and in 3.4.8 and earlier 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. In 3.5 and later, the SWRLTab is built from a number of components. Information on downloading the source code for these components can be found here. (CHC)
Building (B46)
In Protege 3.4.8 and earlier, the SWRLTab is built as part of the Protege-OWL plugin. (Information on building in 3.5 or later can be found here.) (CH5)
The Protege-OWL source code can be downloaded from the Protege-OWL Subversion Repository. (CH6)
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: (CH7)
svn checkout https://smi-protege.stanford.edu/repos/protege/owl/trunk <your-destination-dir> (CH8)
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. (CH9)
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 directory (e.g., C:/Program Files/Protege_3.4.5) and determines its location using the PROTEGE_HOME environment variable. (CHA)
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 and SWRLDroolsTab, for example, should always be built after a new Protege-OWL build. Information on updating to the latest SWRLJessTab can be found here; instructions for building the SWRLDroolsTab are here. (CHD)
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)