Description Logic
Description Logic (commonly abbreviated DL) is a set of mathematical rules and expressions for describing an action or set of outcomes, based on a particular set of inputs, as defined by principles of mathematical.
Contents
Specifications
- Prolog syntax: http://rigaux.org/language-study/syntax-across-languages-per-language/Prolog.html[1]
- IRIS Syntax: http://iris-reasoner.org/syntax
- POSL - Positional Slotted Language syntax: http://ruleml.org/submission/ruleml-shortation.html
EXAMPLE
FACTS - Simpson Family tree[2]
lastname('simpson'). lastname('bouvier'). man('homer'). woman('marge'). dog('santas little helper'). kitty('snowball II'). hasFather('homer','abe'). hasMother('homer','mona'). hasFather('marge','clancy'). hasMother('marge','jacqueline'). hasBrother('homer','herb'). hasSister('marge','patty'). hasSister('marge','selma'). hasSon('homer','bart'). hasSon('marge','bart'). hasAdoptedDaughter('selma','ling'). hasDaughter('homer','lisa'). hasDaughter('marge','lisa'). hasDaughter('homer','maggie'). hasDaughter('marge','maggie'). hasMaidenName('marge','bouvier'). hasPet('simpson','santas little helper'). hasPet('simpson','snowball II'). areMarried('homer','marge'). isUncle(?y,?z) :- hasBrother(?x,?y), hasSon(?x,?z). isAunt(?y,?z) :- hasSister(?x,?y), hasDaughter(?x,?z). isGrandfather(?y,?z) :- hasFather(?x,?y), hasSon(?x,?z). isGrandmother(?y,?z) :- hasMother(?x,?y), hasDaughter(?x,?z). isMale(?x) :- man(?x). isFemale(?x) :- woman(?x). isMale(?x) :- dog(?x). isFemale(?x) :- bitch(?x). isMale(?x) :- cat(?x). isFemale(?x) :- kitty(?x). isMale(?y) :- hasSon(?x,?y). isFemale(?y) :- hasDaughter(?x,?y). isMale(?y) :- hasAdoptedSon(?x,?y). isFemale(?y) :- hasAdoptedDaughter(?x,?y). isMale(?y) :- hasBrother(?x,?y). isFemale(?y) :- hasSister(?x,?y). isMale(?y) :- hasFather(?x,?y). isFemale(?y) :- hasMother(?x,?y). isFamily(?x) :- areMarried(?x,?y). isFamily(?y) :- areMarried(?x,?y). isFamily(?y) :- hasSon(?x,?y). isFamily(?y) :- hasDaughter(?x,?y). isExtendedFamily(?y) :- isFamily(?x,?y). isExtendedFamily(?y) :- hasAdoptedSon(?x,?y). isExtendedFamily(?y) :- hasAdoptedDaughter(?x,?y). isExtendedFamily(?x) :- isGrandfather(?x,?y). isExtendedFamily(?x) :- isGrandmother(?x,?y). isExtendedFamily(?x) :- isAunt(?x,?y). isExtendedFamily(?x) :- isUncle(?x,?y).
EXAMPLE QUERY #1 - Which Simpsons are male? (infers that Bart, Homer, Abe, Herb, Santa's Little Helper are male from "son", ,"uncle", "grandfather" relationships, as well as "man" and "dog" fact)
?-isMale(?x).
EXAMPLE QUERY #2 - Who has a son? (Explicitly stated)
?-hasSon(?x).
EXAMPLE QUERY #3 - Who are in the Simpson family? (infered from son/daughter/marriage reciprocal relationships)
?-isFamily(?x).
EXAMPLE QUERY #4 - Who are the Simpson's pets? (Explicity stated)
?-isPet('simpson').
EXAMPLE QUERY #5 - Who are in the Simpson's "extended" family? (infered from family relationship and Pets, Grandparents, etc)
?-isExtendedFamily(?x).
Tools
- IRIS Reasoner: http://iris-reasoner.org[3]
- RACER: http://www.ifis.uni-luebeck.de/~moeller/racer/index.html
- DL-Learner: http://sourceforge.net/projects/dl-learner/
- Description Logic - Complexity of Reasoning (calculator/tool): http://www.cs.man.ac.uk/~ezolin/dl/
Resources
- Description Logic - Knowledge Representation: http://dl.kr.org/
Tutorials
- Making Linked Data Reasonable using Description Logics, Part 1 -- Can a ‘Separation of Concerns’ Lead to Better Slicing of the Pie?: http://www.mkbergman.com/?p=474
- Making Linked Data Reasonable using Description Logics, Part 2 -- Good Design is Based on the Work to be Done: http://www.mkbergman.com/?p=476
- Presentations on DL: http://www.cs.man.ac.uk/~horrocks/Slides/index.html
External Links
- wikipedia: Description Logic
- wikipedia: Abox
- Back to the Future with Description Logics: http://www.mkbergman.com/?p=470
- Thinking ‘Inside the Box’ with Description Logics: http://www.mkbergman.com/?p=466
- Our Approach to Modeling, Fidelity, and KR: http://clarkparsia.com/weblog/2008/12/19/our-approach-to-modeling-fidelity-and-kr/
References
- ↑ wikipedia: Prolog syntax and semantics
- ↑ The Simpson's Family tree: http://en.wikipedia.org/wiki/Simpson_family
- ↑ http://iris-reasoner.org/demo