290 likes | 661 Views
DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab). Outline. Ontology Language requirements Ontology example XML/RDFS are not enough DAML+OIL: generalities DAML+OIL: syntax DAML+OIL: reasoning DAML+OIL: some discussion DAML+OIL: summary
E N D
DAML + OIL an ontology language for the Semantic Web Peter Aronsson (pelab) Cécile Åberg (iislab)
Outline • Ontology Language requirements • Ontology example • XML/RDFS are not enough • DAML+OIL: generalities • DAML+OIL: syntax • DAML+OIL: reasoning • DAML+OIL: some discussion • DAML+OIL: summary • OilEd: demo
Ontology language requirement • UEP: Universal expressive power • SyI: Support for Syntactic Interoperability: easy to read the data (parsers) easy to get a representation usable by applications (query-able) • SeI: Support for Semantic Interoperability capable of understanding the data
Ontology example (OIL) class-def animal %plants are a class that is disjoint from animals class-def plant subclass-ofNOT animal %it isnecessary but not sufficientfor a tree to be a plant: class-def tree subclass-of plant %branches arePART OFtrees class-def branch slot-constraint is-part-of has-value tree %it isnecessary and sufficientfor a carnivore to be an animal: class-defdefined carnivore subclass-of animal slot-constraints eats value-type animal %herbivores eat only plantsORpart of plants class-defdefined herbivore subclass-of animal slot-constraint eats value-type plant OR (slot-constraint is-part-of has-value plant)
XML is not enough <class-def> <name>branch</name> <slot-constraint> <name>is-part-of</name> <has-value>tree</has-value> </slot-constraint> </class-def> • UEP: anything can be encoded in XML (if a grammar can be defined for it) • SyI: exists reusable XML parsers • SeI: Do not impose a common interpretation of the data: only feasible for closed collaboration
RDF/RDFS is not enough (1/2) • UEP: Can express hierarchies of objects, i.e. ontologies • SyI: Exists reusable RDF/RDFS parsers • SeI: • has a specific semantic for some terms (subClassOf) • there is no semantic preserving mappings between all objects RDFS can be extended to define a more powerful ontology language that allows inference
RDF/RDFS is not enough (2/2) oil:OR oil:classExpression rdfs:type rdfs:Class oil:AND rdfs:subClassOf oil:hasClass rdfs:type carnivore rdfs:type oil:AND rdfs:type oil-subclass-of oil:hasClass herbivore rdfs:type oil:hasClass animal rdfs:Class class-defdefined herbibore sublclass-of animal, NOT carnivore
3 steps to extend RDFS Modeling primitives of ontology language L. Type of expression Example Encoded in oil:subclass-of oil:not RDF: meta ontology coded in RDFS 1 class-def giraffe subclass-ofanimal slot-constraintseats value-typeleaf RDF: ontology coded in meta ontology + RDFS Express specific ontology in L. 2 Produce instances of the specific ontology animal12 -eatsleaf34 RDF: metaontology + RDFS + ontology 3
DAML + OIL • Syntax = extension of RDFS • constraints on properties: exists, forall, cardinality • boolean combination of classes and restrictions • equivalence, disjointnes, covering • necessary and sufficient condition • constraints on properties • 2 well defined semantic specification • model theoretic: description logic • axiomatization in KIF: predicate logic • Allows for machine understanding and automated reasoning.
Why automated reasoning? • Ontology design: • check class consistency and unexpected implied relationships • especially needed for large, multi-authored ontologies • Ontology integration/sharing • assert inter-ontology relationships • reasoner computes integrated class hierarchy • Ontology deployment • check if facts are consistent wrt ontology • check if individuals are instance of ontology classes The semantic web needs a logic on top (Henry Thompson)
DAML+OIL: short history Before: Ontologies, ML for Web, DL, Frame Lang., etc. In ‘00: first OIL related publications (EU researchers) Aug00: kickoff meeting for DAML US project Oct00:DAML-ONT: no inference rules DAML team looks for inference mechanisms Experiments with predicate logic OIL, EU project based on DL Dec00: DAML + OIL: 2 semantics. Most of OIL is kept except its RDF syntax. Nov 01: WebOnt (W3C) working group kick off Feb 28: WebOnt publishes OWL requirements WebOnt WG - language features (OWL req.) - testing/implement. - semantics - guidelines
DAML+OIL: participants Semantic Web Resources EU OntoWeb OIL E-business emphasis DAML + OIL EU W3C DAML + OIL for WebOnt Semantic Web Activity DAML RDF-S RDF WebOnt WG Military emphasis DAML W3C
Comparing OIL and DAML-ONT (1/2) OIL-Standard DAML-ONT Semanticsdenotational English complete, unambiguous partial, ambiguous Meaning of a collection always conjunctive usually conjuctive of statements sometimes disjunctive (domain from RDF) Capabilities Built in Classes thing, nothing thing, nothing Primitive Classes yes yes Defined Classes yes maybe, ugly Class Hierarchy yes yes, from RDF Property Hierarchy yes yes Equivalence yes (defined classes) maybe Disjoint, Disjoint Cover yes yes Inverse/Transitive Prop yes yes Union/Intersection yes, class constructor yes, class definition Complement yes, class constructor yes, class definition Domain Restriction yes, conjunctive yes, disjunctive (from RDF)
Comparing OIL and DAML-ONT (2/2) OIL-Standard DAML-ONT Range Restrictions global and local global (from RDF) and local Filler Restrictions local (and global) local (and global) Cardinality Restrictions local (and global) global only Sets yes yes Lists no yes Defaults noyes Individuals yes yes Concrete Types (int, ...) yes yes Reasoning Specification completeincomplete Completion Possible no no Least Partial Model no no Difficulty EXPtime complete (?) unknown, at least NP hard
DAML+OIL: unusual DL features • non frame syntax must use a specific editor • organizational information lost (see e.g. later): list of axioms: no sense of a main definition of a class or individual • large collection of primitive types (int…) • allows individual to occurs in concept definition reasoners are difficult to construct
DAML+OIL: DL expressivity • Basic DL: ALC = {and, or, not} • Other DL = ALC + set of roles • OIL: SHIQ • very expressive: ALC + {transitive roles + cardinality restriction max1 on roles + is-a on roles + inverse roles + cardinality restriction (e.g. 2<)} • note: no reasoning on individuals. • DAML+OIL: DL name not specified in lit. • SHIQ + some: cf. list of axioms and operators • OilEd: FaCT classifier (SHIQ) DL classifier + modal logic satisfiability tester
DAML+OIL: what you can reason about (DAML+OIL medical terminology ontology) R(a,b) and R(b,c) R(a, c) Cause(smoking, cancer) and Cause(cancer, death) Cause(smoking, death) • transitive rolescapture patronomy, causality, etc. Smoking causes.Cancer plus Cancer causes.Death Smoking causes.Death • multiple equality/inclusion axioms generate new axioms StomachUlcer = UlcerhasLocation.Stomach plus StomachUlcer hasLocation.LiningOfStomach Ulcer hasLocation.Stomach OrganLiningLesion Axiom1) stomach ulcer isan ulcer and is an object located in the stomach Axiom2) stomach ulcer is-an object that is located in the lining of stomach inference) an object that isan ulcer and is an object located in the stomach is-an object that is located in the lining of stomach
DAML+OIL: what you can reason about • inverse rolescapture, e.g., causes/causedBy relationship. “if (A linked to B by R) is-a C then (B is linked to C by the inverse of R)” E.g.: causes is inverse of causedBy if death caused by smoking is a premature death then smoking causes premature death BloodPressure hasValue.(high low) 1hasValue plus High low HighLowBloodPressure Death andcausedBy.Smoking prematureDeath Smoking causes.PrematureDeath • cardinality restrictionsadd consistency constraints E.g.: If blood pressure can have a value that can be either high or low and can have only one value, then a blood pressure can not be high and low at the same time.
DAML+OIL: what you can not reason about • No property construct e.g.: parent o brother uncle, ancestor = parent+ • No variable Ulcer haslocation.?r haslocation.(LiningOf.?x) • Only unary and binary predicates can not express directly P(x, y, z) Language extensions are possible but have a cost tractability vs. expressivity problem
DAML+OIL and OWL requirements (1/2) + = yes, / = partial • R1 shared (daml:ontology, ns, classes) • R2 extension (daml:import) • R3 evolution (daml:versionInfo) • R4 interoperability (rdfs:subClassOf/subPropertyOf,...) • R5 inconsistency detection (DL reasoner) • R6 scalability • R7 ease of use (+ classes, frame (DL), - RDF)
DAML+OIL and OWL requirements (2/2) • R10 XML syntax • R12 ontology based search (can be done) • R14 expressiveness (limited to the chosen DL) • R18 explainability (inferences rules available) no consensus: R8 data persistence, R9 security, R13 querying, R15 proof checking, R16 Trust, R17 Tagging other requirements (from other groups): R19: default info, R20: part whole info R10 XML syntax
Problem: Sharing (exchanging) ontologies • Consistent interpretation • requires syntactic and semantic understanding • the intention of the author is clear for the agent using the ontology • requires semiotic understanding • DAML+OIL venture looses the original OIL semiotic support provided by frame languages: grouping axioms specific to a class
Class-def defined White-van-man subclass-of Man slot-constraint drives has-values White-van covered White-van-man by Aggressive-driver <rdfs:Class rdf:ID=“White-van-man”> <rdfs:subClassOf> <rdfs:Class rdf:about=“Aggressive-driver”/> </rdfs:subClassOf> </rdfs:Class> <rdfs:Class rdf:about=“White-wan-man”> <daml:sameClassAs> <rdfs:Class> <daml:intersectionOf> <rdfs:Class rdf:about=“man”/> <daml:Restriction> <daml:onProperty rdf:resource=“drives”/> <daml:hasClass rdf:resources=“White-van”/> </daml:Restriction> </daml:intersectionOf> </rdfs:Class></...></rdfs:Class> Class-def primitive White-van-man equivalent White-van-man (Man and slot-constraint drives has-values White-van)) covered White-van-man by Aggressive-driver
Extending DAML + OIL • Work in progress on datatypes • supporting some of XMLS datatypes • making datatypes disjoint from abstract classes and only accessible via properties • maintains decidability and tractability of language • Further implementation in upper layers • DAML-RULES, DAML-S • upper layers use DAML+OIL as DAML uses RDFS
DAML+OIL status • annotated walkthrough • examples • full syntactic definition (RDFS) • denotational and axiomatic semantic published • 1st formal semantics for a web language • Proposal to W3C for standardization ongoing (WebOnt) • Daml ontology library: 140+ ontologies • Web tools: annotation, API, browser, editor, validator, inference engine, ontology editor, query, etc.
DAML+OIL Summary • Ontology Language for the Semantic Web • Extends RDFS • more expressive power • well defined semantics • 100% mapping in XML • Implementable • decidable and tractable reasoning • cost = restriction on the expressivity • Extensible: loosing some decidability and/or tractability • Usage:DAML library of ontologies + web services