Chapter 7. Adding Rules

"Hell, there are no rules here—we're trying to accomplish something."

Thomas Edison

At this point, you've been exposed to a wide variety of knowledge representations, ranging from RDF to the latest version of OWL. Before the advent of OWL 2, OWL 1 had limits on the amount of expressivity it could offer users. One solution to this issue was to keep the OWL recommendations unaltered but support the inclusion of rules to expand the expressive nature of RDF/OWL data. In this chapter, you will learn about the need for rules to augment OWL as well as a particular rule implementation called the Semantic Web Rule Language (SWRL), whose Member Submission can be found at There will also be a short discussion of Jena rules, a rule language specifically implemented for the Jena API.

Since Semantic Web rules were first proposed in 2003 and 2004, the Semantic Web landscape has significantly changed. OWL 2, as discussed in Chapters 5 and 6, has addressed some of the shortcomings of the original OWL recommendation and implements functionality previously unavailable. In addition, the W3C chartered the Rule Interchange Format (RIF) Working Group to "produce a core rule language plus extensions which together allow rules to be translated between rule languages and thus transferred between rule systems." Therefore, RIF is not about developing the preeminent rule language but rather considers the more difficult issue of rule interoperability ...

Get Semantic Web Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.