SWRL 0.5 (aka Rules for OWL) Overview


by
Ian Horrocks
Peter F. Patel-Schneider

SWRL 0.5 (aka Rules for OWL)

Why add Rules to OWL?

Syntax (abstract syntax version)

rule ::= 'Implies(' { annotation } antecedent consequent ')'

antecedent ::= 'Antecedent(' { atom } ')'
consequent ::= 'Consequent(' { atom } ')'

atom ::= description '(' i-object ')'
atom ::= individualvaluedPropertyID '(' i-object i-object ')'
atom ::= datavaluedPropertyID '(' i-object d-object ')'
atom ::= sameAs '(' i-object i-object ')'
atom ::= differentFrom '(' i-object i-object ')'

i-object ::= 'I-variable(' URIreference ')' | individualID
d-object ::= 'D-variable(' URIreference ')' | dataLiteral


All variables in a rule must occur (at least) in the antecedent.

Examples

Transferring style from an artist to his/her paintings
(from Guus Schreiber).


Inheriting trauma from body parts
(often needed in medical ontologies).

Computability and Implementability