W3C is pleased to receive the SWRL version 0.6 Submission from The National Research Council of Canada, Network Inference, and Stanford University.
SWRL is a rule language for the Semantic Web, integrating rule language technology with W3C Semantic Web technologies. This submission is labeled "Version 0.6", reflecting the fact that the design is still under development. Even at 0.6, SWRL is an exciting step and may be useful to some user communities, but users should expect it to mature and evolve along the road to version 1.0. Coordination with several W3C activities will be important along this road, as detailed below, to help SWRL reach its full potential.
Rule languages have a long history, dating from Prolog in the early 1970s, through a variety of academic and industrial developments, including recent Semantic Web rule languages from W3C Team members, Metalog and N3.
Rules offer users the ability to express certain logical relationships in a form suitable for machine processing. They are declarations like "if P is true, then Q must also be true," and for some applications they are easy for people to understand and efficient for machines to use in computation.
As a rule language for the Semantic Web, SWRL uses URIs to identify things, making it essentially compatible with RDF and OWL. In RDF, an organization can express that a particular person in an employee and is also granted access to all internal documents. In SWRL, one can express the rule that all employees are granted access to internal documents. Given this rule and the fact that someone is an employee, a SWRL reasoner can conclude that the person is granted access.
SWRL is unique in being an extension of OWL DL, so that users of OWL DL can add rules to their ontologies and maintain clear semantics. Some rule systems offer meta-processing (rules about rules), and with the addition of OWL comes the possibility for new confusion in rules about OWL axioms and OWL axioms about rules; the design of SWRL 0.6 carefully steers clear of these potentially-confusing areas.
Observing areas of overlap with existing W3C technologies, we see several opportunities for advancing the design of SWRL:
Although XML is sometimes considered manditory for modern data formats, we caution against using it to the exclusion of other syntaxes which may be better for some applications. We note that the XQuery Working Group chose a non-XML syntax as its primary syntax, and encourage SWRL's authors to consider doing the same. The lack of a syntax which is easy for people to read and write may significantly hinder SWRL's adoption.
SWRL 0.6 includes a list of suggested built-ins, drawing from ongoing work by the XML Query working group on a standard set of functions and operators. These built-ins are likely to be necessary for real-world applications, and the reuse of XQuery technology looks very promising: it should lower the costs of making interoperable implementations and of educating users.
We note that this submission uses a different namespace and omits any formal connection to the XQuery specifications, leaving the semantics of built-ins only informally specified. We hope future work in collaboration with the XQuery Working Group will result in clearly specified shared semantics.
SWRL connects with RDF in two ways. The crucial connections is that RDF graphs can be directly expressed in SWRL (using only the obvious syntactic transformation) and they have exactly the same meaning. This allows SWRL rules to operate on and produce RDF data. It also allows a SWRL syntax to be used as an RDF syntax.
A second connection is presented in section 6 of the submission , an RDF syntax for SWRL. The goal here is to allow RDF systems which know nothing of SWRL to store and process it as if it were any other RDF data. Ideally, when authoring RDF content, someone could add a quick rule in SWRL, just as they can add little bits of OWL.
This second connection is technically challenging to specify fully and correctly. The submission warns that for the encoding in section 6 to be used, non-standard RDF semantics must be used. We suggest that requiring non-standard semantics for a language is likely to cause a great deal of confusion and some market fragmentation. We greatly hope the path forward for SWRL includes an RDF encoding with full and correct RDF semantics, and an eye towards real user applications.
SWRL is designed as an extension to OWL DL, an approach which makes it relatively easy to specify the semantics of an OWL DL document which also contains rules.
As far as we know, there is no hybrid reasoner which can take advantage of this combination. Of the two experimental SWRL implementations we know of, one uses a FOL prover and the other uses a production rule system; neither uses the theoretical advantages of DL.
Basing SWRL on OWL DL also presents a real obstacle to some user communities: DL forbids certain desirable constructs.
While we understand the desire of the SWRL authors to keep the semantics clear and minimally complicated, we suggest that SWRL might gain from being separated from OWL DL. By being a stand-alone rule language operating in RDF along side OWL, it might actually be easier for users to understand, it could be more directly implementable, and users would be released from the DL restriction.
Fortunately, a move in this direction should be backward compatible in the same way that OWL Full is (essentially) an extension of OWL DL.
The development of languages like SWRL, with high expressive power, also raises the question of the computational complexity of the implementation: as the submission authors correctly note, there will be the need to select suitable subsets of the language that can be implemented in efficient ways, balancing expressive power against execution speed and termination of the computation.
We encourage further development of SWRL or similar languages to address reasoning on the Web, understanding that graceful interoperation within the RDF model and with the XQuery functions and operators may well be the key to the success of components of the Semantic Web.
Disclaimer: Sandro Hawke, co-author of this comment, is a member of the Joint Committee where SWRL was developed. He was not an author of this submission.