The goal of incorporating logic, inference, and rules processing onto the Semantic Web is to enable the automated use of classical perspectives on rules and thereby extend the reasoning capabilities of the Semantic Web. There are several rule languages available for use on the Semantic Web, including: Rule Markup Language (RuleML), Web Service Modeling Language (WSML), Semantic Web Service Language (SWSL), and Semantic Web Rule Language (SWRL). The SWRL specification has strong support, but this language is likely to undergo further development, extension, and merger with features of competing technologies.

Semantic Web Rule Language is based on a combination of the OWL DL and OWL Lite sublanguages with the sublanguages of the Rule Markup Language. SWRL includes a high-level abstract syntax to accommodate Horn-like rules.1

In Chapter 8, we discussed how inference engines apply rule systems in general. In this chapter, we briefly describe rule languages and introduce SWRL as the likely rule system for the Semantic Web.


Prolog, which stands for PROgramming in LOGic, was introduced in the early 1970s and marked the beginning of rule language development.2 Prolog became the most commonly used language for logic programming. Logic programming is based the mathematical concepts of relations and logical inference. Prolog consists of a database of facts and logical relationships (rules) that describe the relationships that hold ...

Get Thinking on the Web: Berners-Lee, Gödel and Turing now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.