Chapter 5
Logic and Inference: Rules
Grigoris Antoniou
Frank van Harmelen
1 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
2 Chapter 5 A Semantic Web Primer
Knowledge Representation
● The subjects presented so far were related to
the representation of knowledge
● Knowledge Representation was studied long
before the emergence of WWW in AI
● Logic is still the foundation of KR, particularly
in the form of predicate logic (first-order
logic)
3 Chapter 5 A Semantic Web Primer
The Importance of Logic
● High-level language for expressing
knowledge
● High expressive power
● Well-understood formal semantics
● Precise notion of logical consequence
● Proof systems that can automatically derive
statements syntactically from a set of
premises
4 Chapter 5 A Semantic Web Primer
The Importance of Logic (2)
● There exist proof systems for which semantic
logical consequence coincides with syntactic
derivation within the proof system
– Soundness & completeness
● Predicate logic is unique in the sense that sound
and complete proof systems do exist.
– Not for more expressive logics (higher-order logics)
● trace the proof that leads to a logical consequence.
● Logic can provide explanations for answers
– By tracing a proof
5 Chapter 5 A Semantic Web Primer
Specializations of Predicate Logic:
RDF and OWL
● RDF/S and OWL (Lite and DL) are
specializations of predicate logic
– correspond roughly to a description logic
● They define reasonable subsets of logic
● Trade-off between the expressive power and
the computational complexity:
– The more expressive the language, the less
efficient the corresponding proof systems
6 Chapter 5 A Semantic Web Primer
Specializations of Predicate Logic:
Horn Logic
● A rule has the form: A1, . . ., An → B
– Ai and B are atomic formulas
● There are 2 ways of reading such a rule:
– Deductive rules: If A1,..., An are known to be
true, then B is also true
– Reactive rules: If the conditions A1,..., An are
true, then carry out the action B
7 Chapter 5 A Semantic Web Primer
Description Logics vs. Horn Logic
● Neither of them is a subset of the other
● It is impossible to assert that a person X who is
brother of Y is uncle of Z (where Z is child of Y) in
OWL
– This can be done easily using rules:
brother(X,Y), childOf(Z,Y) → uncle(X,Z)
● Rules cannot assert the information that a person is
either a man or a woman
– This information is easily expressed in OWL using disjoint
union
8 Chapter 5 A Semantic Web Primer
Monotonic vs. Non-monotonic Rules
● Example: An online vendor wants to give a
special discount if it is a customer’s birthday
Solution 1
R1: If birthday, then special discount
R2: If not birthday, then not special discount
● But what happens if a customer refuses to
provide his birthday due to privacy concerns?
9 Chapter 5 A Semantic Web Primer
Monotonic vs. Non-monotonic
Rules (2)
Solution 2
R1: If birthday, then special discount
R2’: If birthday is not known, then not
special discount
● Solves the problem but:
– The premise of rule R2' is not within the
expressive power of predicate logic
– We need a new kind of rule system
10 Chapter 5 A Semantic Web Primer
Monotonic vs. Non-monotonic
Rules (3)
● The solution with rules R1 and R2 works in
case we have complete information about
the situation
● The new kind of rule system will find
application in cases where the available
information is incomplete
● R2’ is a nonmonotonic rule
11 Chapter 5 A Semantic Web Primer
Exchange of Rules
● Exchange of rules across different applications
– E.g., an online store advertises its pricing, refund, and
privacy policies, expressed using rules
● The Semantic Web approach is to express the
knowledge in a machine-accessible way using one
of the Web languages we have already discussed
● We show how rules can be expressed in XML-like
languages (“rule markup languages”)
12 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
13 Chapter 5 A Semantic Web Primer
Family Relations
● Facts in a database about relations:
– mother(X,Y), X is the mother of Y
– father(X,Y), X is the father of Y
– male(X), X is male
– female(X), X is female
● Inferred relation parent: A parent is either a father or
a mother
mother(X,Y) → parent(X,Y)
father(X,Y) → parent(X,Y)
14 Chapter 5 A Semantic Web Primer
Inferred Relations
● male(X), parent(P,X), parent(P,Y), notSame(X,Y)
→ brother(X,Y)
● female(X), parent(P,X), parent(P,Y), notSame(X,Y)
→ sister(X,Y)
● brother(X,P), parent(P,Y) → uncle(X,Y)
● mother(X,P), parent(P,Y) → grandmother(X,Y)
● parent(X,Y) → ancestor(X,Y)
● ancestor(X,P), parent(P,Y) → ancestor(X,Y)
15 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
16 Chapter 5 A Semantic Web Primer
Monotonic Rules – Syntax
loyalCustomer(X), age(X) > 60 → discount(X)
● We distinguish some ingredients of rules:
– variables which are placeholders for values: X
– constants denote fixed values: 60
– Predicates relate objects: loyalCustomer, >
– Function symbols which return a value for certain
arguments: age
17 Chapter 5 A Semantic Web Primer
Rules
B1, . . . , Bn → A
● A, B1, ... , Bn are atomic formulas
● A is the head of the rule
● B1, ... , Bn are the premises (body of the rule)
● The commas in the rule body are read conjunctively
● Variables may occur in A, B1, ... , Bn
– loyalCustomer(X), age(X) > 60 → discount(X)
– Implicitly universally quantified
18 Chapter 5 A Semantic Web Primer
Facts and Logic Programs
● A fact is an atomic formula
● E.g. loyalCustomer(a345678)
● The variables of a fact are implicitly universally
quantified.
● A logic program P is a finite set of facts and rules.
● Its predicate logic translation pl(P) is the set of all
predicate logic interpretations of rules and facts in P
19 Chapter 5 A Semantic Web Primer
Goals
● A goal denotes a query G asked to a logic
program
● The form: B1, . . . , Bn →
● If n = 0 we have the empty goal €
20 Chapter 5 A Semantic Web Primer
First-Order Interpretation of Goals
● ∀X1 . . . ∀Xk (¬B1 ∨ . . . ∨ ¬Bn)
– Where X1, ... , Xk are all variables occurring in B1, ..., Bn
– Same as pl(r), with the rule head omitted
● Equivalently: ¬∃X1 . . . ∃Xk (B1 ∧ . . . ∧ Bn)
– Suppose we know p(a) and we have the goal p(X) →
– We want to know if there is a value for which p is true
– We expect a positive answer because of the fact p(a)
– Thus p(X) is existentially quantified
21 Chapter 5 A Semantic Web Primer
Why Negate the Formula?
● We use a proof technique from mathematics called
proof by contradiction:
– Prove that A follows from B by assuming that A is false and
deriving a contradiction, when combined with B
● In logic programming we prove that a goal can be
answered positively by negating the goal and
proving that we get a contradiction using the logic
program
– E.g., given the following logic program we get a logical
contradiction
22 Chapter 5 A Semantic Web Primer
An Example
p(a)
¬∃X p(X)
● The 2nd formula says that no element has
the property p
● The 1st formula says that the value of a does
have the property p
● Thus ∃X p(X) follows from p(a)
23 Chapter 5 A Semantic Web Primer
Monotonic Rules – Predicate Logic
Semantics
● Given a logic program P and a query
B1, . . . , Bn →
● with the variables X1, ... , Xk we answer positively
if, and only if,
pl(P) |= ∃X1 . . . ∃Xk(B1 ∧ ... ∧ Bn) (1)
● or equivalently, if
pl(P) ∪ {¬∃X1 . . . ∃Xk (B1 ∧ ... ∧ Bn)} is
unsatisfiable (2)
24 Chapter 5 A Semantic Web Primer
The Semantics of Predicate Logic
● The components of the logical language (signature)
may have any meaning we like
– A predicate logic model A assigns a certain meaning
● A predicate logic model consists of:
– a domain dom(A), a nonempty set of objects about which
the formulas make statements
– an element from the domain for each constant
– a concrete function on dom(A) for every function symbol
– a concrete relation on dom(A) for every predicate
25 Chapter 5 A Semantic Web Primer
The Semantics of Predicate Logic (2)
● The meanings of the logical connectives
¬,∨,∧,→,∀,∃ are defined according to their
intuitive meaning:
– not, or, and, implies, for all, there is
● We define when a formula is true in a model
A, denoted as A |= φ
● A formula φ follows from a set M of formulas
if φ is true in all models A in which M is true
26 Chapter 5 A Semantic Web Primer
Motivation of First-Order Interpretation
of Goals
p(a)
p(X) → q(X)
q(X) →
● q(a) follows from pl(P)
● ∃X q(X) follows from pl(P),
● Thus, pl(P)∪{¬∃ Xq(X)} is unsatisfiable, and
we give a positive answer
27 Chapter 5 A Semantic Web Primer
Motivation of First-Order Interpretation
of Goals (2)
p(a)
p(X) → q(X)
q(b) →
● We must give a negative answer because
q(b) does not follow from pl(P)
28 Chapter 5 A Semantic Web Primer
Ground Witnesses
● So far we have focused on yes/no answers
to queries
● Suppose that we have the fact p(a) and the
query p(X) →
– The answer yes is correct but not satisfactory
● The appropriate answer is a substitution
{X/a} which gives an instantiation for X
● The constant a is called a ground witness
29 Chapter 5 A Semantic Web Primer
Parameterized Witnesses
add(X,0,X)
add(X,Y,Z) → add(X,s(Y ),s(Z))
add(X, s8(0),Z) →
● Possible ground witnesses:
– {X/0,Z/s8(0)}, {X/s(0),Z/s9(0)} . . .
● The parameterized witness Z = s8(X) is the most
general answer to the query:
– ∃X ∃Z add(X,s8(0),Z)
● The computation of most general witnesses is the
primary aim of SLD resolution
30 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
31 Chapter 5 A Semantic Web Primer
Description Logic Programs
● Description Logic Programs (DLP) can be
considered as the intersection of Horn logic
and description logic
● DLP allows to combine advantages of both
approaches. For example:
– A modeler may take a DL view, but
– the implementation may be based on rule
technology
32 Chapter 5 A Semantic Web Primer
RDF and RDF Schema
● A triple of the form (a,P,b) in RDF can be
expressed as a fact P(a,b)
● An instance declaration of the form type(a,C)
(stating a is instance of class C) can be
expressed as C(a)
● The fact that C is a subclass (or subproperty)
of D can ve expressed as C(X) → D(X)
33 Chapter 5 A Semantic Web Primer
OWL
● sameClassAs(C,D) (or samePropertyAs)
can be expressed by the pair of rules
– C(X) → D(X)
– D(X) → C(X)
● Transitivity of a property P can be expressed
as
– P(X,Y),P(Y,Z) → P(X,Z)
34 Chapter 5 A Semantic Web Primer
OWL (2)
● The intersection of C1 and C2 is a subclass of
D can be expressed as
– C1 ,C2 → D(X)
● C is subclass of the intersection of D1 and D2
can be expressed as
– C(X) → D1(X)
– C(X) → D2(X)
35 Chapter 5 A Semantic Web Primer
OWL (3)
● The union of C1 and C2 is a subclass of D can
be expressed by the pair of rules
– C1(X) → D (X)
– C2(X) → D (X)
● The opposite direction cannot be expressed
in Horn logic
36 Chapter 5 A Semantic Web Primer
Restrictions in OWL
● C subClassOf allValuesFrom(P,D) can be
expressed as
– C(X),P(X,Y) → D(Y)
– Where P is a property, D is a class and
allValuesFrom(P,D) denote the anonymous class
of all x such that y must be an instance of D
whether P(x,y)
– The opposite direction cannot in general be
expressed
37 Chapter 5 A Semantic Web Primer
Restrictions in OWL (2)
● someValuesFrom(P,D) subClassOf C can
be expressed as
– P(X,Y), D(Y) → C(X)
– Where P is a property, D is a class and
someValuesFrom(P,D) denote the anonymous
class of all x for which there exists at least one y
instance of D, such that P(x,y)
– The opposite direction cannot in general be
expressed
38 Chapter 5 A Semantic Web Primer
Restrictions in OWL (3)
● Cardinality constraints and complement of
classes cannot be expressed in Horn logic in
the general case
39 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
40 Chapter 5 A Semantic Web Primer
Semantic Web Rules Language
● A rule in SWRL has the form
– B1, … , Bn → A1, … , Am
– Commas denote conjunction on both sides
– A1, … , Am, B1, … , Bn can be of the form C(x),
P(x,y), sameAs(x,y), or differentFrom(x,y)
where C is an OWL description, P is an OWL
property, and x, y are Datalog variables, OWL
individuals, or OWL data values
41 Chapter 5 A Semantic Web Primer
SWRL Properties
● If the head of a rule has more than one atom,
the rule can be transformed to an equivalent
set of rules with one atom in the head
● Expressions, such as restrictions, can appear
in the head or body of a rule
● This feature adds significant expressive
power to OWL, but at the high price of
undecidability
42 Chapter 5 A Semantic Web Primer
DLP vs. SWRL
● DLP tries to combine the advantages of both
languages (description logic and function-free rules)
in their common sublanguage
● SWRL takes a more maximalist approach and unites
their respective expressivities
● The challenge is to identify sublanguages of SWRL
that find the right balance between expressive power
and computational tractability
– DL-safe rules
43 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
44 Chapter 5 A Semantic Web Primer
Motivation – Negation in Rule Head
● In nonmonotonic rule systems, a rule may not be
applied even if all premises are known because we
have to consider contrary reasoning chains
● Now we consider defeasible rules that can be
defeated by other rules
● Negated atoms may occur in the head and the body
of rules, to allow for conflicts
– p(X) → q(X)
– r(X) → ¬q(X)
45 Chapter 5 A Semantic Web Primer
Defeasible Rules
p(X) ⇒ q(X)
r(X) ⇒ ¬q(X)
● Given also the facts p(a) and r(a) we conclude
neither q(a) nor ¬q(a)
– This is a typical example of 2 rules blocking each other
● Conflict may be resolved using priorities among rules
● Suppose we knew somehow that the 1st rule is
stronger than the 2nd
– Then we could derive q(a)
46 Chapter 5 A Semantic Web Primer
Origin of Rule Priorities
● Higher authority
– E.g. in law, federal law preempts state law
– E.g., in business administration, higher management has
more authority than middle management
● Recency
● Specificity
– A typical example is a general rule with some exceptions
● We abstract from the specific prioritization principle
– We assume the existence of an external priority relation
on the set of rules
47 Chapter 5 A Semantic Web Primer
Rule Priorities
r1: p(X) ⇒ q(X)
r2: r(X) ⇒ ¬q(X)
r1 > r2
● Rules have a unique label
● The priority relation to be acyclic
48 Chapter 5 A Semantic Web Primer
Competing Rules
● In simple cases two rules are competing only
if one head is the negation of the other
● But in many cases once a predicate p is
derived, some other predicates are excluded
from holding
– E.g., an investment consultant may base his
recommendations on three levels of risk investors
are willing to take: low, moderate, and high
– Only one risk level per investor is allowed to hold
49 Chapter 5 A Semantic Web Primer
Competing Rules (2)
● These situations are modelled by
maintaining a conflict set C(L) for each
literal L
● C(L) always contains the negation of L but
may contain more literals
50 Chapter 5 A Semantic Web Primer
Defeasible Rules: Syntax
r : L1, ..., Ln ⇒ L
● r is the label
● {L1, ..., Ln} the body (or premises)
● L the head of the rule
● L, L1, ..., Ln are positive or negative literals
● A literal is an atomic formula p(t1,...,tm) or its
negation ¬p(t1,...,tm)
● No function symbols may occur in the rule
51 Chapter 5 A Semantic Web Primer
Defeasible Logic Programs
● A defeasible logic program is a triple (F,R,>)
consisting of
– a set F of facts
– a finite set R of defeasible rules
– an acyclic binary relation > on R
● A set of pairs r > r' where r and r' are labels of rules in R
52 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
53 Chapter 5 A Semantic Web Primer
Brokered Trade
● Brokered trades take place via an
independent third party, the broker
● The broker matches the buyer’s
requirements and the sellers’ capabilities,
and proposes a transaction when both
parties can be satisfied by the trade
● The application is apartment renting an
activity that is common and often tedious and
time-consuming
54 Chapter 5 A Semantic Web Primer
The Potential Buyer’s Requirements
– At least 45 sq m with at least 2 bedrooms
– Elevator if on 3rd floor or higher
– Pet animals must be allowed
● Carlos is willing to pay:
– $ 300 for a centrally located 45 sq m apartment
– $ 250 for a similar flat in the suburbs
– An extra $ 5 per square meter for a larger apartment
– An extra $ 2 per square meter for a garden
– He is unable to pay more than $ 400 in total
● If given the choice, he would go for the cheapest option
● His second priority is the presence of a garden
● His lowest priority is additional space
55 Chapter 5 A Semantic Web Primer
Formalization of Carlos’s
Requirements – Predicates Used
● size(x,y), y is the size of apartment x (in sq m)
● bedrooms(x,y), x has y bedrooms
● price(x,y), y is the price for x
● floor(x,y), x is on the y-th floor
● gardenSize(x,y), x has a garden of size y
● lift(x), there is an elevator in the house of x
● pets(x), pets are allowed in x
● central(x), x is centrally located
● acceptable(x), flat x satisfies Carlos’s requirements
● offer(x,y), Carlos is willing to pay $ y for flat x
56 Chapter 5 A Semantic Web Primer
Formalization of Carlos’s
Requirements – Rules
r1: ⇒ acceptable(X)
r2: bedrooms(X,Y), Y < 2 ⇒ ¬acceptable(X)
r3: size(X,Y), Y < 45 ⇒ ¬acceptable(X)
r4: ¬pets(X) ⇒ ¬acceptable(X)
r5: floor(X,Y), Y > 2,¬lift(X) ⇒ ¬acceptable(X)
r6: price(X,Y), Y > 400 ⇒ ¬acceptable(X)
r2 > r1, r3 > r1, r4 > r1, r5 > r1, r6 > r1
57 Chapter 5 A Semantic Web Primer
Formalization of Carlos’s
Requirements – Rules (2)
r7: size(X,Y), Y ≥ 45, garden(X,Z), central(X) ⇒
offer(X, 300 + 2*Z + 5*(Y − 45))
r8: size(X,Y), Y ≥ 45, garden(X,Z), ¬central(X) ⇒
offer(X, 250 + 2*Z + 5(Y − 45))
r9: offer(X,Y), price(X,Z), Y < Z ⇒ ¬acceptable(X)
r9 > r1
58 Chapter 5 A Semantic Web Primer
Representation of Available
Apartments
bedrooms(a1,1)
size(a1,50)
central(a1)
floor(a1,1)
¬lift(a1)
pets(a1)
garden(a1,0)
price(a1,300)
59 Chapter 5 A Semantic Web Primer
Representation of Available
Apartments (2)
Flat Bedrooms Size Central Floor Lift Pets Garden Price
a1 1 50 yes 1 no yes 0 300
a2 2 45 yes 0 no yes 0 335
a3 2 65 no 2 no yes 0 350
a4 2 55 no 1 yes no 15 330
a5 3 55 yes 0 no yes 15 350
a6 2 60 yes 3 no no 0 370
a7 3 65 yes 1 no yes 12 375
60 Chapter 5 A Semantic Web Primer
Determining Acceptable Apartments
● If we match Carlos’s requirements and the available
apartments, we see that
● flat a1 is not acceptable because it has one bedroom
only (rule r2)
● flats a4 and a6 are unacceptable because pets are
not allowed (rule r4)
● for a2, Carlos is willing to pay $ 300, but the price is
higher (rules r7 and r9)
● flats a3, a5, and a7 are acceptable (rule r1)
61 Chapter 5 A Semantic Web Primer
Selecting an Apartment
r10: acceptable(X) ⇒ cheapest(X)
r11: acceptable(X), price(X,Z), acceptable(Y),
price(Y,W), W < Z ⇒ ¬cheapest(X)
r12: cheapest(X) ⇒ largestGarden(X)
r13: cheapest(X), gardenSize(X,Z),
cheapest(Y), gardenSize(Y,W),
W > Z ⇒ ¬largestGarden(X)
62 Chapter 5 A Semantic Web Primer
Selecting an Apartment (2)
r14: largestGarden(X) ⇒ rent(X)
r15: largestGarden(X), size(X,Z),
largestGarden(Y), size(Y,W),
W > Z⇒ ¬ rent(X)
r11 > r10, r13 > r12, r15 > r14
63 Chapter 5 A Semantic Web Primer
Lecture Outline
1. Introduction
2. Monotonic Rules: Example
3. Monotonic Rules: Syntax & Semantics
4. Description Logic Programs (DLP)
5. Semantic Web Rules Language (SWRL)
6. Nonmonotonic Rules: Syntax
7. Nonmonotonic Rules: Example
8. Rule Markup Language (RuleML)
64 Chapter 5 A Semantic Web Primer
Example: Customer Discount
● The discount for a customer buying a product is 7.5
percent if the customer is premium and the product
is luxury
<Implies>
<head>
<Atom>
<Rel>discount</Rel>
<Var>customer</Var>
65 Chapter 5 A Semantic Web Primer
Example: Customer Discount (2)
<Var>product</Var>
<Ind>7.5 percent</Ind>
</Atom>
</head>
<body>
<And>
<Atom>
<Rel>premioum</Rel>
<Var>customer</Var>
</Atom>
66 Chapter 5 A Semantic Web Primer
Example: Customer Discount (3)
<Atom>
<Rel>luxury</Rel>
<Var>product</Var>
</Atom>
</And>
</body>
</Implies>
67 Chapter 5 A Semantic Web Primer
Example: Uncle of
● brother(X,Y), childOf(Z,Y) → uncle(X,Z)
<ruleml : Implies>
<ruleml : head>
<swrlx : individualPropertyAtom
swrlx : property=“uncle”>
<ruleml : Var>X</ruleml : Var>
<ruleml : Var>Z</ruleml : Var>
</swrlx : individualPropertyAtom>
</ruleml : head>
68 Chapter 5 A Semantic Web Primer
Example: Uncle of (2)
<ruleml : body>
<ruleml : And>
<swrlx : individualPropertyAtom
swrlx :
property=“brother”>
<ruleml : Var>X</ruleml : Var>
<ruleml : Var>Y</ruleml : Var>
</swrlx : individualPropertyAtom>
<swrlx : individualPropertyAtom
swrlx :
property=“childOf”>
69 Chapter 5 A Semantic Web Primer
Example: Uncle of (3)
<ruleml : Var>Z</ruleml : Var>
<ruleml : Var>Y</ruleml : Var>
</swrlx : individualPropertyAtom>
</ruleml : And>
</ruleml : body>
</ruleml : Implies>
70 Chapter 5 A Semantic Web Primer
Summary
● Horn logic is a subset of predicate logic that allows
efficient reasoning, orthogonal to description logics
● Horn logic is the basis of monotonic rules
● DLP and SWRL are two important ways of
combining OWL with Horn rules
● DLP is essentially the intersection of OWL and Horn
logic, whereas SWRL is a much richer language
71 Chapter 5 A Semantic Web Primer
Summary (2)
● Nonmonotonic rules are useful in situations where
the available information is incomplete
● They are rules that may be overridden by contrary
evidence
● Priorities are used to resolve some conflicts between
rules
● Representation XML-like languages is
straightforward
72 Chapter 5 A Semantic Web Primer