Semantic Web Rule Language
The Semantic Web Rule Language (SWRL) is a proposed language for the Semantic Web that can be used to express rules as well as logic, combining OWL DL or OWL Lite with a subset of the Rule Markup Language (itself a subset of Datalog).
The specification was submitted in May 2004 to the W3C by the National Research Council of Canada, Network Inference (since acquired by webMethods), and Stanford University in association with the Joint US/EU ad hoc Agent Markup Language Committee.
SWRL has the full power of OWL DL, but at the price of decidability and practical implementations.
Rules are of the form of an implication between an antecedent (body) and consequent (head). The intended meaning can be read as: whenever the conditions specified in the antecedent hold, then the conditions specified in the consequent must also hold.
Human Readable Syntax
hasParent(?x1,?x2) ∧ hasBrother(?x2,?x3) ⇒ hasUncle(?x1,?x3)
XML Concrete Syntax
The XML Concrete Syntax is a combination of the OWL Web Ontology Language XML Presentation Syntax with the RuleML XML syntax.
<ruleml:imp> <ruleml:_rlab ruleml:href="#example1"/> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property="hasParent"> <ruleml:var>x1</ruleml:var> <ruleml:var>x2</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property="hasBrother"> <ruleml:var>x2</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property="hasUncle"> <ruleml:var>x1</ruleml:var> <ruleml:var>x3</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp>
RDF Concrete Syntax
It is straightforward to provide such an RDF concrete syntax for rules, but the presence of variables in rules goes beyond the RDF Semantics. Translation from the XML Concrete Syntax to RDF/XML could be easily accomplished by extending the XSLT transformation for the OWL XML Presentation syntax.
Caveat: Reasoners do not support the full specification because the reasoning becomes undecidable. There can be three types of approach: translate SWRL into First Order Logic (Hoolet) and demonstrate reasoning tasks with a theorem prover; translate OWL-DL into rules and give the rules to a forward chaining engine (Bossam) (this approach cannot cover the full expressivity of OWL-DL due to many incompatibilities between Description Logic and Horn Rule formalisms); expand an existing OWL-DL reasoner based on the tableaux algorithm (Pellet).
|This section requires expansion. (January 2007)|
- Protégé 4.2 includes a Rules view in its Ontology Views that supports SWRL rules.
- For older versions of Protégé, SWRLTab is an extension that supports editing and execution of SWRL rules. 
- R2ML (REWERSE Rule Markup Language) supports SWRL. 
- Bossam, a forward chaining rule engine supports SWRL. 
- Hoolet, an implementation of an OWL-DL reasoner that uses a first order prover supports SWRL. 
- Pellet, an open-source Java OWL DL reasoner has SWRL-support. 
- KAON2 is an infrastructure for managing OWL-DL, SWRL, and F-Logic ontologies. 
- RacerPro, supports processing of rules in a SWRL-based syntax by translating them into nRQL rules 
- Stardog is an RDF database or triplestore that rewrite queries to answer questions using SWRL inferences. 
|Date, Time and Duration Built-Ins||?||?||?|
Comparison with Description Logic Programs
Description Logic Programs (DLPs) are another proposal for integrating rules and OWL. Compared with Description Logic Programs, SWRL takes a diametrically opposed integration approach. DLP is the intersection of Horn logic and OWL, whereas SWRL is (roughly) the union of them. In DLP, the resultant language is a very peculiar looking description logic and rather inexpressive language overall.
- Description Logic
- Web Ontology Language - "OWL"
- Datalog (query and rule language)
- Semantic Web
- Semantic Grid
- Ontology (computer science)
- Business Intelligence 2.0 (BI 2.0)
- Semantic wiki
- Bijan Parsia; et al. (2005). Cautiously Approaching SWRL (PDF). Retrieved 2006-07-29.
- Mei, Jing; Harold Boley (2006). "Interpreting SWRL Rules in RDF Graphs". Electronic Notes in Theoretical Computer Science (Elsevier) (151): 53–69. Retrieved 2006-07-29.
- Description Logic Programs: Combining Logic Programs with Description Logic, WWW 2003.
- SWRL: A Semantic Web Rule Language Combining OWL and RuleML, W3C Member Submission 21 May 2004
- A Proposal for a SWRL Extension towards First-Order Logic, W3C Member Submission 11 April 2005
- OWL Web Ontology Language XML Presentation Syntax, W3C Note 11 June 2003