Semantic Web Technologies Lecture Dr. Harald Sack Hasso-Plattner-Institut für IT Systems Engineering University of Potsdam Winter Semester 2012/13 Lecture Blog: http://semweb2013.blogspot.com / This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0 ) Dienstag, 8. Januar 13
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Semantic Web Technologies
LectureDr. Harald Sack
Hasso-Plattner-Institut für IT Systems EngineeringUniversity of Potsdam
Winter Semester 2012/13
Lecture Blog: http://semweb2013.blogspot.com/This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
14
Semantics of Conjunctive Queries
•Conjunctive Queries are similar to logical formulas•Queries without variables might be entailed directly from the ontology
•Variables are used as placeholders for individuals
•Function μ is result of a conjunctiven query q for an OWL DL Ontology O, iff:(1) Domain of μ is the set of free variables in q(2) Range of μ is the set of all individuals in O(3) O ⊨ μ(q), i.e. conjunctive query q with given variable
assignment is entailed by O
•no partial function – all Variables must be assigned
•Literals (Datatypes) are not considered for simplicity
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
15
Elements Without Names
•Variables are placeholders for (named) individuals•OWL Ontologies can entail the existence of not named individuals
•Example:
Book(a) (a is a book)Book ⊑ ∃hasAuthor.⊤ (every book has an author)
Anfrage:Book(x) ∧ hasAuthor(x,y)
→ no possible solution
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
16
Non-distinguished Variables
•How to consider not named elements for the query?•Output of not named elements as part of the result is problematic
•But a statement of existence is possible vianon-distinguished variables(=variables bound via existential quantification)
Anfrage:∃y.(Book(x) ∧ hasAuthor(x,y))
Solution {x ↦ a}, but y is NOT PART of the result
Book(a) (a is a book)Book ⊑ ∃hasAuthor.⊤ (every book has an author)
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
17
SPARQL vs. Conjunctive Queries
SPARQL Conjunctive Queries
graph patterns logical conjunctions
canonical model many possible models
options, alternatives, filters -
query for arbitrary elements only query for individuals (strict typing)
variables for arbitrary elements distinguished and non-distinguished variables
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
18•KAON2: conjunctive queries without non-distinguished variables, restricted negation possible
•Pellet: conjunctive queries with non-distinguished variables and negation, not complete for OWL DL
•further implementations with special query languages (RacerPro) or restrictions to simpler DLs (QuOnto for OWL2 QL)
• see also http://www.cs.man.ac.uk/~sattler/reasoners.html
Restrict the problem and the implementation gets simpler
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
19 3. Knowledge Representation and LogicsThe Languages of the Semantic Web - Part 2
• Excursion: Ontologies in Philosophy and Computer Science
• Recapitulation: Propositional Logic and First Order Logic
• Description Logics
• RDF(S) Semantics• OWL and OWL-Semantics• OWL 2
• Rules & The Semantic Web
Semantic Web Technologies Content
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
20 Can we model everything with
OWL?
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
21
Rules
&
the Se
mantic
Web
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
22
3.7 Rules & The Semantic Web3.7.1 Rules from a Semantic Web Perspective3.7.2 Rules for OWL with SWRL3.7.3 Rules expressible in OWL3.7.4 Exchanging Rules with RIF
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
23
• The Semantic Web concentrates on declarative forms of knowledge representation• OWL, RDFS
• Rules are a common form of procedural knowledge representation in Knowledge Engineering• Expert Systems• Prolog, CLIPS, JESS, OPS, …
• Knowledge representation formalisms of the Semantic Web have expressive limitations which can be overcome by rule-based knowledge• e.g. composition of complex classes from classes and
properties
The Role of Rules
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
24
What are Rules?
•Interpretation of a rule depends on context• General Inference:
Premise → Conclusion• Hypothesis:
Cause → Effect• Production:
Condition → Action
IF A .... THEN B ....
A ! B
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
25
What are Rules?
•Logical Rules (FOL implication):•F ! G is equivalent with ¬F ∨ G•Logical extension of the KB (static)•Open World, declarative
•Procedural Rules (e.g. Production Rules):•If X then Y else Z •executable machine instructions (dynamic)•operational (semantics = effect at application)
•Logic Programming Rules (e.g. Prolog, F-Logic):•„woman(X) <- person(X) AND NOT man(X)“•Approximation of logical semantics with operational aspects•Closed World (mostly), semi-declarative
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
26
FOL as Rule Language•Rules as FOL implications (Horn Clause)
•semantically equivalent with
•where Ai, H are atomic formulas•Quantification most times ommitted, free variables are considered to be universally quantified•i.e. the rule holds for all possible assignments
A1 ∧ A2 ∧ . . . ∧ An ! H
⎧ | |
|
| ⎨ |
|
|
| ⎩Body
¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H
→
⎧ ⎨ ⎩
Head
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
27
FOL as Rule Language•Rules as FOL implications (Horn Clause)
•semantically equivalent with
•where Ai, H are atomic formulas•Quantification most times ommitted, free variables are considered to be universally quantified•i.e. the rule holds for all possible assignments
H ← A1 ∧ A2 ∧ . . . ∧ An
⎧ | |
|
| ⎨ |
|
|
| ⎩Body
¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H
←⎧ ⎨ ⎩
Head
often written from right to left ( ← or :- )
Dienstag, 8. Januar 13
•Lloyd-Topor Transformation•Several atoms in the head are usually considered as conjunction
•is equal to
•this transformation is called Lloyd-Topor Transformation
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
28
Variants of FOL Rules
A1 A2...An ! H1 H2...Hm
A1 A2...An ! H1A1 A2...An ! H2
...
A1 A2...An ! Hm
Dienstag, 8. Januar 13
•Disjunctive Rules•Disjunction of several non-negated Atoms
•reverse implication, as e.g.„if I see someting, then the light is on or the sun is shining“
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
29
Variants of FOL Rules
⎧ | |
|
| ⎨ |
|
|
| ⎩⎧ |
|
|
| ⎨ |
|
|
| ⎩
A1 ∧ A2 ∧ . . . ∧ An → H1 ∨ H2 ∨ . . . ∨ Hm
Body Head
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
30•FOL Rules
•Clause: Disjunction of atomic formulas or negated atomaric formulas
•Horn Clause: Claus with at most one not negated atom
•Definite Clause: Clause with exactly one not negated atom
•Fact: Clause of a single not negated atom
¬p ∨ ¬q ∨ . . . ∨ ¬t ∨ u can be written as p ∧ q ∧ . . . ∧ t ! u
Variants of FOL Rules
Dienstag, 8. Januar 13
•Examples
•Semantic of rules complies to FOL semantics
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
36
DATALOG Semantics
• Interpretation I with Domain ΔI
• Interpretation of variables: variable assignment Z (mapping of variables to ΔI)
• Interpretation of rules and terms wrt. I (and Z):
• Interpretation of a constant: aI,Z = aI∈ΔI
• Interpretation of a variable: xI,Z = Z(x)∈ΔI
• Interpretation of an n-ary predicate: pI ∈ ΔI n
• I,Z ⊨ p(t1,...,tn) iff (tI,Z1,...,tI,Zn)∈pI,
• I ⊨ B!H iff for all variable assignments Z it holds: either I,Z ⊨ H or I,Z ⊭ B.
• I is a Model for a rule set (program), iff:I ⊨ B!H for all rules B!H of the rule set
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
37
How to combine OWL and Datalog?
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
38
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
39
3.7 Rules & The Semantic Web3.7.1 Rules from a Semantic Web Perspective3.7.2 Rules for OWL with SWRL3.7.3 Rules expressible in OWL3.7.4 Exchanging Rules with RIF
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
40
•W3C Submission (bereits im Mai 2004)(developed by the Joint US/EU ad hoc Agent Markup Language Committee (JC),in collaboration with RuleML Initiative)
•based on combination of parts of OWL and RuleML/Datalog•here OWL DL and Unary/Binary Datalog RuleML
•Idea: Datalog Rules that apply on OWL ontologies
•Symbols in rules can be OWL identifiers (or new Datalog identifiers)
•Syntax: XML Concrete Syntax (extends OWL XML Presentation Language), RDF Concrete Syntax and abstract Syntax
•Rules are represented as Implication of an Antecedent (Body) and a Consequent (Head)
•SWRL is undecidable
SWRL SemanticWeb Rule Language
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
41
SWRL SemanticWeb Rule Language
•Antecedent and Consequent are Conjunctions of
assertions (atoms) of the form•C(x) or P(x,y) •sameAs(x,y), differentFrom(x,y)
•where x,y are variables, OWL individuals or elements of an OWL concrete domain,
•C(x) is an OWL class description P(x,y) is an OWL property description
Antecedent → Consequent
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
42
SWRL - Abstract Language Definition
•SWRL Rule
•SWRL Knowledge Base
•Atoms are defined as
•C ... Class, D ... Datatype
•R ... Object Property
•U ... Datatype Property
• i,j ... Variable / Individual identifier
a ← b1,...,bn where a: head, b1,...,bn: body
Atom ← C(i) | D(v) | R(i, j) | U(i,v) | builtIn(p, v1, ..., vn) | i = j | i ≠ j
•v,v1,...vn ... Datatype Variable / Value Identifier
•p ... name of a BuiltIn function
k=(Σ,P) where Σ is an OWL knowledge base P is a finite rule set
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
43
SWRL - Semantics
•OWL DL (Description Logics) and Datalog are applying the same interpretations•OWL individuals are Datalog constants•OWL classes are unary Datalog predicates•OWL properties are binary Datalog predicates
•Interpretation can be model for OWL ontology as well as for a set of Datalog rules
Entailment for OWL/Datalog combination is possible
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
48
SWRL is undecidable
•Logical Inference for OWL+SWRL is undecidable
•There is no known algorithm that is able to entail all possible inferences for all SWRL knowledge bases, even with unlimited resources and time
•But, from a practical perspective, there are•Algorithms that are able to entail all possible inferences for
some SWRL knowledge bases•Algorithms that are able to entail some inferences for all
SWRL knowledge bases
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
49
Tool Support for SWRL•Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro,•Jess, SWRLTab, SWRLQueryTab
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
50
3.7 Rules & The Semantic Web3.7.1 Rules from a Semantic Web Perspective3.7.2 Rules for OWL with SWRL3.7.3 Rules expressible in OWL3.7.4 Exchanging Rules with RIF
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
54
(1) Description Logics Rules
•Some classes can be fragmented into rules
{a} ≣ {b} becomes ! a=b
A ⊓ ∃R.{b} ⊑ C becomes A(x) ∧ R(x,b) ! C(x)
A ⊑ B ⊓ C becomes A(x) ! B(x) and A(x) ! C(x)
A ⊔ B ⊑ C becomes A(x) ! C(x) and B(x)! C(x)
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
55
(1) Description Logics Rules
•In general:•A DL axiom α can be translated into rules, if after translating α into a FOL expression α‘, and after normalizing this expression into a set of clauses M, each formula in M is a Horn clause (i.e. a rule)
•What about complex properties (property chains)?
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
56
(1) Description Logics Rules
•Property chains can be expressed as rules:
•becomes
•in general
hasParent(x,y) ∧ hasBrother(y,z) ! hasUncle(x,z)
hasParent ∘ hasBrother ⊑ hasUncle
R ∘ S ⊑ T becomes R(x,y) ∧ S(y,z) ! T(x,z)
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
57
(1) Description Logics Rules
•Problems:•What if on both sides of the rule are not only properties or not only classes ?
•How to express this in OWL2?
Example.: Man(x) ∧ hasChild(x,y) ! fatherOf(x,y)
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
58
(1) Description Logics Rules
•How to express this in OWL2?
•Idea: •substitute Man(x) with a property to make a property chain
•Apply „Self“ to transform classes into properties•Auxiliary property PMan•Auxiliary axiom Man ≣ ∃PMan.Self
•Thus:
PMan ∘ hasChild ⊑ fatherOf
Example.: Man(x) ∧ hasChild(x,y) ! fatherOf(x,y)
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
59
(1) Description Logics Rules
•Rolification of concept/class
A(x) ∧ R(x,y) ! S(x,y) becomes PA ∘ R ⊑ S
A(y) ∧ R(x,y) ! S(x,y) becomes R ∘ PA ⊑ S
A(x) ∧ B(y) ∧ R(x,y) ! S(x,y) becomes PB ∘ R ∘ PB ⊑ S
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
60
(1) Description Logics Rules
•More problems:
•How to express this in OWL2?
•Idea:•Apply universal property U to connect classes•Auxiliary properties: PVegetarian und PFishproduct
•All SWRL knowledge bases that exist only of OWL / OWL2 axioms
•All SWRL knowledge bases that exist only of sets of Datalog programs
•Every static finite class of SWRL knowledge bases
•Are there more SWRL fragments that are decidable?(1) Description Logics Rules
SWRL Rules that can already be expressed with OWL2
(2) DL-safe Rules Restriction of SWRL Rules via variable assignment constraints
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
63
(2) DL-Safe Rules
•Idea:•Restrict SWRL to guarantee decidability via restricting the number of possible variable assignments
•Arbitrary Datalog rules are allowed with names of OWL classes and OWL properties
•Rules must be DL-safe: each variable must also be represented within an expression of the rule body that doesn‘t use an OWL class or OWL property (= Datalog Atom)
•Semantics can be adopted from OWL+SWRL (FOL).
DL-safety restricts the application of rules to known individuals
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
64
Forcing DL-Safety
•Example:
•NOT DL-safe, if „bruder“ and „father“ are OWL properties
•Force DL-Safeness by Restricting the rules to known individuals
•whereby the fact O(a) has to be asserted for all OWL individuals
•Rule is only applicable to known OWL individuals (Named Individuals)
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
66
Summary
•SWRL („OWL + Datalog“) is not decidable•Description Logic Rules
•SWRL fragment that can be expressed with OWL2•indirectly supported by OWL 2 reasoners
•DL-safe Rules•SWRL fragment where variables only can be assigned to concrete values (constants)
•supported by OWL reasoner•DL-safety can be forced
•Standard and Best-Practice for rules still does not exist
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
67
3.7 Rules & The Semantic Web3.7.1 Rules from a Semantic Web Perspective3.7.2 Rules for OWL with SWRL3.7.3 Rules expressible in OWL3.7.4 Exchanging Rules with RIF
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
68
RIF - Rule Interchange Format
•W3C Standard (June 2010)•Goal: Definition of a standard to exchange rules (esp. for web-based rule engines)
Rule Engine A
Rule Engine B
RIF dialect X
semantic preservicemapping
semantic preservingmapping
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
69
RIF - Rule Interchange Format
•Components:•RIF BLD (Basic Logic Dialect) - language standard•RIF-RDF / RIF-OWL - interoperable Semantic with existing knowledge representation languages of the semantic web
•RIF-PRD (Production Rules Dialect) - standard for production rules
•RIF-DTB (Data Types and Builtins)•RIF-FLD (Framework of Logic Dialects)
•W3C RIF Working Grouphttp://www.w3.org/2001/sw/wiki/RIF
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
80
3.7 Rules & The Semantic Web3.7.1 Rules from a Semantic Web Perspective3.7.2 Rules for OWL with SWRL3.7.3 Rules expressible in OWL3.7.4 Exchanging Rules with RIF
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
81 3. Knowledge Representation and LogicsThe Languages of the Semantic Web - Part 2
• Excursion: Ontologies in Philosophy and Computer Science
• Recapitulation: Propositional Logic and First Order Logic
• Description Logics
• RDF(S) Semantics• OWL and OWL-Semantics• OWL 2
• Rules & The Semantic Web
Semantic Web Technologies Content
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Next Lecture:
82
Ontolo
gical
Engine
ering
Dienstag, 8. Januar 13
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
83
• P. Hitzler, S. Roschke, Y. Sure: Semantic Web Grundlagen, Springer, 2007.
• P. Hitzler, M. Krötzsch, S. Rudolph:Foundations of Semantic Web Technologies,CRC Press, 2009.
Bibliography
3. Knowledge Representation & Logic3.7 Rules & the Semantic Web