Description Logic Eva Mráková, glum@fi.muni.cz
Motivation: ontology individuals/objects/instances ElizabethII Philip Philip, Anne constants in FOPL concepts/classes/types Charles Anne Andrew Edward Male, Female unary predicates in FOPL roles/realtions/properties William Henry haschild(charles,henry) binary predicates in FOPL Male Female hashusband haschild
Ontology languages formal definition: ontology formal specification of a conceptualisation description of a particular domain books, friends, family, courses main requirements: well-defined syntax well-defined semantics efficient reasoning support sufficient expressive power our goal: web ontology languages (RDF, OWL,...)
Description logics (DL) terminological systems, concept languages knowledge representation (KR) formalism fragments of FOPL (no function symbols R(f(x,y)), max. binary relations not e.g. R(x,y,z)) family of calculuses with different expressive power SHIO, SHOIN, ALC,... theory (set of axioms) in DL ontology formal basis for reasoning semantic web
KR in DL: Tbox and Abox DL Knowledge base Tbox (Terminology, about concepts) ElizabethII Philip Person Male Female Parent haschild.person GrandParent haschild. haschild.person... Charles Anne Andrew Edward Abox (Assertions, about individuals) William Henry Female(ElizabethII) Female(Anne) Male(Philip) Male(Charles) Male(Andrew)... hashusband(elizabethii,philip) haschild(elizabethii,charles) haschild(elizabethii,anne)... Male Female hashusband haschild
AL: basic description language attributive language syntax and semantics: syntax semantics description example/note A A I atomic concept Male I universal concept Thing (instances: every individual) Ø empty concept Nothing (no instances) A I A I atomic negation Female C D C I I D intersection Parent Male R.C {a I b.(a,b) R I b C I } value restriction haschild.male R. {a I b.(a,b) R I } limited existential quantification haschild. C D C I =D I concept/role Father Parent Male R S R I =S I equality haschild parentof C D C I D I concept inclusion Father Parent C(a) a I C I concept assertion Male(Henry) R(a,b) (a I,b I ) R I role assertion haschild(charles,henry) C,D concepts, R,S roles, I=( I, I ) interpretation another syntax of assertions: a:c, (a,b):r
Extending AL further constructors more expressive syntax semantics description symbol example C I C I complex negation C ( haschild.male) C D C I D I union U Female Male R.C {a I b.(a,b) R I b C I } existential E haschild.female b are R-fillers quantification n R {a I {b I unqualified number N 3 haschild = analog. (a,b) R I } n} restriction n R.C {a I {b I qualified number Q 2 haschild.male = analog. (a,b) R I b C I } n} restriction J R S J I I, J I = 1 R I S I nominals role inclusion (role hierarchy) O H Queen {ElizabethII} R {(b,a) I I (a,b) R I } inverse role I parentof haschild R + n 1 (R I ) n transitive closure +ALC = S concrete domain, e.g. integer data types/values hashusband marriedto hasdescendant haschild + (D) hasage. 18 many other extensions (functional roles, role composition, role intersection, reflexive closure,...) slightly different definitions of some symbols in different resources (!) naming: ALC is AL plus complex negation (C ~ UE but ALC is preferred to ALUE) SHOIN (D) is S plus role hierarchy, nominals, inverse roles, unqualified number restriction and data types (used in OWL DL) other examples: ALCN, ALUNI, SHIQ, SHIF, SROIQ (D)
Tbox: Reasoning: tasks satisfiability: Is C satisfiable? (unsatisfiable: has necessarily empty extension in every model, e.g. C Male C Female Male Female ) subsumption: Is C D? (reduction to unsatisfiability: C D C D is unsatisfiable) equivalence: Is C D? (reduction to unsatisfiability: C D both C D and C D are unsatisfiable) disjointness: Are C and D disjoint (i.e. C D )? (reduction to unsatisfiability: C and D are disjoint C D is unsatisfiable) Abox + Tbox: consistency: Is Abox consistent wrt Tbox? (inconsistency: axioms cannot be satisfied simultaneously, e.g. Male(Tony) Female(Tony) Male Female ) relationship tasks: check an individual (e.g. Charles): is it an instance of a concept (e.g. Parent)?, retrieval of individuals (find all instances of a concept), realization of an individual (find its most specific concept),...
Reasoning: importance for designing, integrating and sharing (large) ontologies checking consistency checking unintended relationships deriving all true sentences (to better understand the ontology) reduction of redundancy (equivalent concepts) automatic classification of instances
Reasoning: complexity in general: the ritcher the language, the less efficient reasoning examples of subsumption computational complexities AL: PTIME ALC: PSPACE SHIF: EXPTIME SHOIN: NEXPTIME implemented reasoners are optimised for real applications algorithms logical (dominant approach: tableaux) structural (problems with completeness)
Tableaux: ALC, subsumption Is C D? e.g. (( R.A) ( R.B)) R.(A B) C D C D is unsatisfiable ( R.A) ( R.B) R.(A B) transformation C D into negation normal form (de Morgan rules + usual rules for : push all as far as possible) ( R.A) ( R.B) R.( A B) tableau for (C D)(a) (( R.A) ( R.B) R.( A B))(a) a - new individual symbol representation: expanded Abox assertion atomic tableaux: A(x),R(x,y), A(x), R(x,y),,,, almost the same as for FOPL, not signed tableaux (every entry is True) another approach: sets + rules sound, complete, terminating
Atomic tableaux (ALC, ) A(x) A(x) R(x,y) R(x,y) A atomic concept R role (C1 C2)(x) C1(x) C2(x) (C1 C2)(x) C1(x) C2(x) ( R.C)(x) ( R.C)(x) R(x,y) C(y) new y C(y) for all x: R(x,y) is on the expanded path
(( R.A) ( R.B) ( R.( A B)))(a) ( R.A)(a) ( R.B)(a) ( R.( A B))(a) R(a,b) A(b) R(a,c) B(c) new b new c ( R.( A B))(a) ( A B)(b) ( R.( A B))(a) ( A B)(c) ( A)(b) ( B)(b) ( A)(c) ( B)(c)
Tableaux: Abox consistency principle: infers constraints on (elements of) model common representation: directed graph Person(ElizabethII) Person(Charles) haschild(elizabethii,charles) GrandParent(ElizabethII) GrandParent haschild. haschild.person Abox + Tbox 4. 1. EII haschild Ch haschild? 2. 3. Person GrandParent haschild. haschild.person Person haschild.person Person
RDF (Resource Description Framework) (graphical) formalism for describing the semantics of information in a machine-accessible way triples <subject,predicate,object> (URIs, literals) W3C recommendation, XML syntax problems: complicated syntax, separated from web content (solution: RDFa?) <rdf:description rdf:about="charles"> <haschild rdf:resource="william"/> </rdf:description> <rdf:rdf xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf="http://xmlns.com/foaf/0.1/"> <rdf:description rdf:about="http://www.example.org/~joe/contact.rdf#joebrown"> <foaf:homepage rdf:resource="http://www.example.org/~joe/"/> </rdf:description> </rdf:rdf>
RDFS (RDF Schema) RDF Vocabulary Description Language allows to define vocabulary terms, relations between them, restrictions e.g. Class, Property, type, subclassof, range, domain examples (symbolic) <Person,type,Class> <haschild,type,property> <Male,subClassOf,Person> <Charles,type,Male> <haschild,range,person> <haschild,domain,person>
OWL (Web Ontology Language) RDF(S) cannot model many features: local scopes, disjointness, construct classes, cardinality,... OWL: 'extra layer', built on top of RDF(S) own namespace, rich set of modelling constructors W3C recommendation, XML syntax based on its predcessor language DAML+OIL 3 'species': OWL Lite, OWL DL, OWL Full Protégé: ontology editor (incl. RDF(S), OWL)
OWL variants OWL Lite essentially SHIF (D) simple, easy to implement OWL DL essentially SHOIN (D) superset of OWL Lite guaranteed decidability OWL Full no restrictions (maximal expressiveness) no computational guarantees (not decidable)
special classes ( ) owl:thing owl:nothing universal property owl:topobjectproperty OWL: examples subclass (Child Person), subproperty (hashusband marriedto) <owl:class rdf:about="child"> <rdfs:subclassof rdf:resource="person"/> </owl:class> <owl:objectproperty rdf:about="hashusband"> <rdfs:subpropertyof rdf:resource="marriedto"/> </owl:objectproperty>
OWL: more examples quantification ( haschild.female, haschild.female) <owl:restriction> <owl:onproperty rdf:resource="haschild"/> <owl:somevaluesfrom rdf:resource= Female"/> </owl:restriction> <owl:restriction> <owl:onproperty rdf:resource="haschild"/> <owl:allvaluesfrom rdf:resource= Female"/> </owl:restriction> union, intersection (Male Female, Parent Male) <owl:unionof rdf:parsetype="collection"> <owl:class rdf:about="male"/> <owl:class rdf:about="female"/> </owl:unionof> <owl:intersectionof rdf:parsetype="collection"> <owl:class rdf:about="parent"/> <owl:class rdf:about="male"/> </owl:intersectionof>
Summary ontology: provides a mechanism to capture semantics of some domain of interest DL: formal platform for representing ontologies and their automated reasoning (tableau algorithms) RDF: basic (web) ontology language, triples <subject,predicate,object> RDF(S): semantically extends RDF, provides the means to describe application specific RDF vocabularies OWL: standard in web ontology languages, built on top of RDF(S), rich set of constructors, based on DL
References (+further reading) The Description Logic Handbook http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521781760 Tutorial on OWL http://www.cse.sc.edu/~huhns/csce826/csce826-lecture6b.ppt Introduction to Semantic Web Ontology Languages http://www.few.vu.nl/~frankh/postscript/rewerse05.pdf Ontologies and OWL http://www.dbis.informatik.uni-goettingen.de/teaching/semweb-ws0708/f-dl-2.pdf Wikipedia: Description logic http://en.wikipedia.org/wiki/description_logic