Ontological Logic Programming by Murat Sensoy, Geeth de Mel, Wamberto Vasconcelos and Timothy J. Norman Computing Science, University of Aberdeen, UK 1 Outline • • • • • Introduction Motivation OLP Architecture A Case Study and Performance Conclusions 2 Logic Programming • • • • Based on First-Order Logic (FOL) Best-known example: Prolog Adopts closed world semantics – negation by failure Write down a logical description of problem using clauses, predicates, and terms. Then, let computer searches for the answer. • Predicates can have arbitrary arity. 3 Web Ontology Language (OWL) • • • • An ontology is a formal conceptualization of the world OWL is based on Description Logics (DLs) Adopts Open World Semantics Describe a domain using individuals, classes/1, and properties/2. • Terms are referred to by Unique Resource Identifiers (URIs). – The Wine concept is referred to in the W3C wine ontology by http://www.w3.org/TR/2003/PR-owl-guide20031209/wine#Wine In short vin:Wine There are highly optimized DL reasoners for OWL-based Ontologies (e.g., Pellet, TrOWL). 4 Motivation Ontological Reasoning Logic Programming + Very Expressive + Close World Reasoning through Negation by Failure + Widely used - Not Decidable -Requires encoding of domain knowledge into Logic Programs -Hard to adopt Open World Reasoning -Lack of widely accepted standards for knowledge representation OLP + Decidable Reasoning with efficient reasoners + Open World Reasoning + Widely Accepted standards to represent domain knowledge - Restricted Expressiveness - Hard to accommodate Closed World Reasoning -- Used by relatively smaller community Ontological Logic Programming (OLP) Seamlessly integrates Logic Programming with Ontological Reasoning 5 OLP Architecture availableWine(?). vin:Wine(?) vin:Wine(vin:GaryFarrellMerlot) vin:Wine(vin:KalinCellarsSemillon) vin:Wine(vin:StonleighSauvignon) … availableWine(X):vin:Wine(X), not(soldOut(X)). not( soldOut(vin:GaryFarrellMerlot) ) 6 OLP IDE 7 Semantic Knowledge and OLP OLP may be used to modify semantic knowledge base by • Importing ontologies – %import or import_ontology(uri) • Addition and removal of statements – assert(istar:'Sensor'(olp:x)) – retract(istar:'Sensor'(olp:x)) • Addition and removal of individuals – create_individual(uni:murat), assert(uni:'Researcher'(uni:murat)) – remove_individual(uni:murat) • Addition and removal of concepts – create_concept(name,{eq|sub},desc). 8 Supported DL Reasoning Services • • • • Ontology consistency checking Concept subsumption/equivalence checking Instance checking Concept satisfiability checking 9 OLP Provides • By enhancing logic programming with ontological reasoning, OLP offers the following advantages: – Expressiveness: Combines the expressiveness of DL and LP. – Convenience: Many researchers and developers are more familiar with LP languages than with DL formalisms. – Reuse of Domain Knowledge – Conciseness 10 Case-study: Asset-Task Matchmaking • We address the Intelligence, Surveillance, Target Acquisition and Reconnaissance (ISTAR) domain. ISTAR ontology A task instance example Tasks have requirements that are satisfied by the capabilities of assets. 11 Deployable Configurations A deployable configuration for a task is • a minimum set of resource types that satisfies the requirements of the task • removal of any resource type from this set will leave at least one requirement unsatisfied. Operational Requirements: - Constant surveillance Reaper Global Hawk Global Hawk EOCamera IRCamera Global Hawk Intelligence Requirements: - Imagery Intelligence EOCamera IRCamera DaylightTV Reaper DaylightTV 12 Matchmaking Mechanism in OLP Find a deployable platform. Find sensors to attach to this platform 13 Matchmaking Mechanism in OLP P is an instance of a platform P provides all operational capabilities required by task T. Here, nested negation by failure is used for forall. 14 Matchmaking Mechanism in OLP We start with an empty set of sensors, then add a sensor X to this set if 1. P mounts X. 2. The capabilities provided by the sensor is required and not yet provided by the existing sensors in the list. 15 Matchmaking Mechanism in OLP 16 Matchmaking Performance OLP v1.0 is implemented using Java, tuProlog as Prolog engine and Pellet as DL reasoner. • Exhaustive Search – We have empirically compared a matchmaking algorithm implemented in OLP with an exhaustive search approach from the literature. Domain knowledge is exploited to reduce search space. 17 OLP Performance • Modes of OLP – Offline: every thing in ontology is loaded into Prolog KB. DL reasoner is not accessed during execution. – Online: Nothing from ontology is loaded into Prolog KB. DL reasoner is accessed during execution. • We extended wine ontology by adding different number of new concepts and axioms. 18 Load time (offline mode) vs. Reasoner access time (online mode) DL reasoner is heavily accessed during online mode. DL reasoner may be accessed for the same axioms, e.g., during backtracking. Can caching improve the performance? 19 Load time (offline mode) vs. Reasoner access time (online-cached) Caching improves reasoner access time dramatically 20 Conclusions • We have proposed OLP, a novel tool that combines Logic Programming with Ontological Reasoning. • Software agents can transparently use ontological knowledge and reasoning within logic programs. • Interpretation of ontological predicates delegated to an ontology reasoner during the execution of logic programs. • Agents can take full advantage of both ontological reasoning and logic programming without compromise in expressiveness. OLP is available at http://olp-api.sourceforge.net OLP v2.0 is on the way. It can integrate various DL reasoners. 21 Thank you… Questions?