the drew system for nonmonotonic dl programs
play

The DReW System for Nonmonotonic DL-Programs Guohui Xiao 1 Thomas - PowerPoint PPT Presentation

The DReW System for Nonmonotonic DL-Programs Guohui Xiao 1 Thomas Eiter 1 Stijn Heymans 2 1 Institute of Information Systems Vienna University of Technology, Austria 2 Artificial Intelligence Center, SRI International, United States CSWS 2012


  1. The DReW System for Nonmonotonic DL-Programs Guohui Xiao 1 Thomas Eiter 1 Stijn Heymans 2 1 Institute of Information Systems Vienna University of Technology, Austria 2 Artificial Intelligence Center, SRI International, United States CSWS 2012 & CWSC 2012, Shenzhen, 29 Nov 2012

  2. Background: Semantic Web (W3C) ◮ RDF (Resource Description Framework) is the data model ◮ RDFS (Schema) enriches RDF by simple taxonomies and hierarchies ◮ More expressive: OWL (Web Ontology Language) (2004; 2009) ◮ strongly builds on Description Logics ◮ Rule languages: Rule Interchange Format (RIF) (2010) 2/14

  3. dl-Programs ◮ An extension of answer set programs with queries to DL knowledge bases (KBs) (through dl -atoms ) ◮ dl-atoms allow to query a DL knowledge base differently bidirectional flow of information , with clean technical separation of DL engine and ASP solver (“loose coupling”) ? ASP Solver DL Engine ◮ Use DL-programs as “glue” for combining inferences on a DL KB. ◮ System Prototypes ◮ NLP-DL http://www.kr.tuwien.ac.at/research/systems/semweblp/ ◮ dlvhex http://www.kr.tuwien.ac.at/research/systems/dlvhex/ ◮ #F-Logic programs (Ontoprise, extension to F-logic programs) 3/14

  4. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 4/14

  5. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 ≥ 4 . wired ⊑ HighTrafficNode 4/14

  6. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P 4/14

  7. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P overloaded ( X ) ← DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . ◮ DL atom: DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . ◮ Intuition: extend DL predicate wired by connect , then query HighTrafficNode ◮ E.g. Suppose { connect ( x 1 , n 3 ) , connect ( x 2 , n 3 ) } ⊆ I ◮ Then I | = DL[ wired ⊎ connect ; HighTrafficNode ]( n 3 ) ◮ Thus I | = overloaded ( n 3 ) 4/14

  8. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P overloaded ( X ) ← DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . connect ( X , Y ) ← newnode ( X ) , DL[ Node ]( Y ) , not overloaded ( Y ) , not excl ( X , Y ) . 4/14

  9. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P overloaded ( X ) ← DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . connect ( X , Y ) ← newnode ( X ) , DL[ Node ]( Y ) , not overloaded ( Y ) , not excl ( X , Y ) . excl ( X , Y ) ← connect ( X , Z ) , DL[ Node ]( Y ) , Y � = Z . 4/14

  10. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P overloaded ( X ) ← DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . connect ( X , Y ) ← newnode ( X ) , DL[ Node ]( Y ) , not overloaded ( Y ) , not excl ( X , Y ) . excl ( X , Y ) ← connect ( X , Z ) , DL[ Node ]( Y ) , Y � = Z . excl ( X , Y ) ← connect ( Z , Y ) , newnode ( Z ) , newnode ( X ) , Z � = X . 4/14

  11. DL-Programs: Network Example KB = ( L , P ) Ontology L ≥ 1 . wired ⊑ Node ⊤ ⊑ ∀ wired . Node x 1 ? n 1 n 5 wired = wired − ; X n 2 n 1 � = n 2 � = n 3 � = n 4 � = n 5 wired ( n 1 , n 2 ) wired ( n 2 , n 3 ) wired ( n 2 , n 4 ) n 4 wired ( n 2 , n 5 ) wired ( n 3 , n 4 ) wired ( n 3 , n 5 ) . n 3 x 2 ? ≥ 4 . wired ⊑ HighTrafficNode Program newnode ( x 1 ) . newnode ( x 2 ) P overloaded ( X ) ← DL[ wired ⊎ connect ; HighTrafficNode ]( X ) . connect ( X , Y ) ← newnode ( X ) , DL[ Node ]( Y ) , not overloaded ( Y ) , not excl ( X , Y ) . excl ( X , Y ) ← connect ( X , Z ) , DL[ Node ]( Y ) , Y � = Z . excl ( X , Y ) ← connect ( Z , Y ) , newnode ( Z ) , newnode ( X ) , Z � = X . excl ( x 1 , n 4 ) . 4/14

  12. Semantics of DL-Programs x 1 ? n 1 ◮ Answer set semantics (Stable n 5 X model semantics) n 2 ◮ Extension of answer set semantics for normal logical programming n 4 ◮ Multi models n 3 x 2 ? 5/14

  13. Semantics of DL-Programs x 1 ? n 1 ◮ Answer set semantics (Stable n 5 X model semantics) n 2 ◮ Extension of answer set semantics for normal logical programming n 4 ◮ Multi models n 3 x 2 ? ◮ M 1 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 4 ) , . . . } , 5/14

  14. Semantics of DL-Programs x 1 ? n 1 ◮ Answer set semantics (Stable n 5 X model semantics) n 2 ◮ Extension of answer set semantics for normal logical programming n 4 ◮ Multi models n 3 x 2 ? ◮ M 1 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 4 ) , . . . } , ◮ M 2 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 5 ) , . . . } , 5/14

  15. Semantics of DL-Programs x 1 ? n 1 ◮ Answer set semantics (Stable n 5 X model semantics) n 2 ◮ Extension of answer set semantics for normal logical programming n 4 ◮ Multi models n 3 x 2 ? ◮ M 1 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 4 ) , . . . } , ◮ M 2 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 5 ) , . . . } , ◮ M 3 = { connect ( x 1 , n 5 ) , connect ( x 2 , n 1 ) , . . . } , 5/14

  16. Semantics of DL-Programs x 1 ? n 1 ◮ Answer set semantics (Stable n 5 X model semantics) n 2 ◮ Extension of answer set semantics for normal logical programming n 4 ◮ Multi models n 3 x 2 ? ◮ M 1 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 4 ) , . . . } , ◮ M 2 = { connect ( x 1 , n 1 ) , connect ( x 2 , n 5 ) , . . . } , ◮ M 3 = { connect ( x 1 , n 5 ) , connect ( x 2 , n 1 ) , . . . } , ◮ M 4 = { connect ( x 1 , n 5 ) , connect ( x 2 , n 4 ) , . . . } . 5/14

  17. x 1 ? n 1 ◮ Well-founded semantics n 5 X ◮ Extension of well-founded n 2 semantics for normal logical programming ◮ Single model n 4 n 3 x 2 ? ◮ M 0 = { overloaded ( n 2 ) , . . . } 6/14

  18. Loose Coupling - Features ◮ Advantage: ◮ Clean semantics, can use legacy systems dl-atom 1 Ontology ◮ Fairly easy to incorporate further knowledge Rules formats (e.g. RDF) dl-atom 2 ◮ Privacy, information hiding Rule Ontology Reasoner Reasoner Hybrid Reasoner 7/14

  19. Loose Coupling - Features ◮ Advantage: ◮ Clean semantics, can use legacy systems dl-atom 1 Ontology ◮ Fairly easy to incorporate further knowledge Rules formats (e.g. RDF) dl-atom 2 ◮ Privacy, information hiding Rule Ontology Reasoner Reasoner Hybrid Reasoner ◮ Drawback : impedance mismatch, performance ◮ Evaluation of DL-program needs multiple calls of a DL-reasoner ◮ Calls are expensive ◮ optimizations (caching, pruning ...) ◮ In some case, exponentially many calls might be unavoidable ◮ Even polynomially many calls might be too costly 7/14

  20. Uniform Evaluation Convert the evaluation problem into one for a single reasoning engine Logic L L -formulas Reasoner ◮ This means to transform a dl-program into an (equivalent) knowledge base in one formalism L for evaluation ( uniform evaluation ) ◮ In this talk, L = Datalog ¬ 8/14

  21. Reasoning with DL-Programs by Datalog ¬ rewriting 1. Rewriting Ontology to Datalog 2. Duplicating rewritten ontologies according to the dl-inputs 3. Rewriting DL-rules to Datalog ¬ rules 4. Rewriting DL-atoms to Datalog rules 5. Calling Datalog reasoner 9/14

  22. DReW Reasoner ◮ DReW is a reasoner for DL-Programs over Datalog-rewritable Description Logics ◮ homepage: http://www.kr.tuwien.ac.at/research/systems/drew/ ◮ open sourced: https://github.com/ghxiao/drew OWL 2 ontology Parse DL-Rules Choose a DL to DL profile (OWL 2 RL / EL) Datalog rewriter Translate to Datalog Datalog ¬ Reasoner Figure : Control Flow of DReW with DL-programs 10/14

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend