Article Preview
Top1. Introduction
Rule-based systems have been extensively used in several applications and domains, such as e-commerce, personalization, games, businesses and academia. They offer a simplistic model for knowledge representation for both domain experts and programmers; experts usually find it easier to express knowledge in a rule-like format and programmers usually find rule-based programming easier to understand and manipulate, decoupling computation from control. The first is performed by the rules whereas the latter is determined by the rule engine itself, that is when and how to apply the rules.
The Semantic Web initiative of the World Wide Web Consortium (W3C, 2013) works on standards, technologies and tools in order to give to the information a well-defined meaning, enabling computers and people to work in better cooperation. Ontologies can be considered as a primary key towards this goal since they provide a controlled vocabulary of concepts, each with explicitly defined and machine processable semantics. The Web Ontology Language (OWL) (Hitzler et al., 2012) is the W3C recommendation for creating and sharing ontologies on the Web. It provides the means for ontology definition and specifies formal semantics on how to derive new information.
There are mainly two modeling paradigms for the semantic web (Horrocks et al., 2005). The first paradigm is based on the notion of the description logics (Baader et al., 2010) on which the OWL is based. In this case, the semantics of OWL ontologies can be handled by DL reasoning systems, such as Pellet (Sirin et al., 2007), RacerPro (Haarslev et al., 2012), Fact++ (Tsarkov & Horrocks, 2006) and HermiT (Glimm et al., 2014) that reuse existing DL algorithms, such as tableaux-based algorithms (Baader & Sattler, 2001). The other paradigm is based on Horn logic, whereas a subset of the OWL semantics is transformed into rules that are used by a rule engine in order to infer implicit knowledge. There are major differences between these two paradigms, including computational and expressiveness aspects. For example, the DL reasoning engines have a rather inefficient instance reasoning performance, whereas rules are insufficient to model certain situations related to the open nature of the Semantic Web. The selection of the most suitable modeling paradigm depends on the domain and the needs of the application.
Since description logics and Horn logic are orthogonal in the sense that neither of them is a subset of the other (Grosof et al., 2003), there are two interesting combinations of ontologies and rules, namely their intersection, which is OWL 2 RL, and their union, namely SWRL. OWL 2 RL (Motik et al., 2012) is an OWL 2 profile is aiming at applications that require scalable reasoning without sacrificing too much expressive power. This is achieved by defining a syntactic subset of OWL 2 which is amenable to implementation using rule-based technologies, namely it is the largest syntactic fragment of OWL2 DL that is implementable using rules. The design of OWL 2 RL was inspired by Description Logic Programs (Grosof et al., 2003) and pD* (ter Horst, 2005). Obviously, OWL 2 RL is a decidable language, but one that is necessarily less expressive than either the description logic or rules language from which it is formed.
SWRL (Horrocks et al., 2004; 2005) is a semantic web rule language that combines OWL ontologies with Horn Logic rules of the RuleML family of rule languages (“RuleML”, n.d.), extending the set of OWL axioms to include Horn-like rules. SWRL is considerably more powerful than either OWL DL or Horn rules alone; however, key inference problems for SWRL are undecidable (Horrocks et al., 2005). Decidability can be regained by restricting the form of admissible rules, by imposing a suitable safety condition (Motik et al., 2005).