jcel: A Modular Rule-based Reasoner

Similar documents
The ELepHant Reasoner System Description

Role-depth Bounded Least Common Subsumers for EL + and ELI

Snorocket 2.0: Concrete Domains and Concurrent Classification

Institute of Theoretical Computer Science Chair of Automata Theory POSITIVE SUBSUMPTION IN FUZZY EL WITH GENERAL T-NORMS

ELK: A Reasoner for OWL EL Ontologies

ELK Reasoner: Architecture and Evaluation

Replacing SEP-Triplets in SNOMED CT using Tractable Description Logic Operators

CLASSIFYING ELH ONTOLOGIES

Tractable Extensions of the Description Logic EL with Numerical Datatypes

Incremental Reasoning in EL + without Bookkeeping

Tractable Extensions of the Description Logic EL with Numerical Datatypes

Computing least common subsumers for FLE +

Semantics. KR4SW Winter 2011 Pascal Hitzler 1

Scale reasoning with fuzzy-el + ontologies based on MapReduce

A platform for distributing and reasoning with OWL-EL knowledge bases in a Peer-to-Peer environment

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Markus Krötzsch University of Oxford. Reasoning Web 2012

Scalable Ontology-Based Information Systems

A Hybrid Approach for Learning SNOMED CT Definitions from Text

Research Article A Method of Extracting Ontology Module Using Concept Relations for Sharing Knowledge in Mobile Cloud Computing Environment

TrOWL: Tractable OWL 2 Reasoning Infrastructure

Knowledge Representation for the Semantic Web

Consequence based Procedure for Description Logics with Self Restriction

Semantic reasoning for dynamic knowledge bases. Lionel Médini M2IA Knowledge Dynamics 2018

Android Went Semantic: Time for Evaluation

OWL and tractability. Based on slides from Ian Horrocks and Franz Baader. Combining the strengths of UMIST and The Victoria University of Manchester

DIG 2.0 Towards a Flexible Interface for Description Logic Reasoners

Modularity in Ontologies: Introduction (Part A)

The OWL API: An Introduction

DistEL: A Distributed EL + Ontology Classifier

OWL 2 Profiles. An Introduction to Lightweight Ontology Languages. Маркус Крёч (Markus Krötzsch) University of Oxford. KESW Summer School 2012

Chainsaw: A Metareasoner for Large Ontologies

Presented By Aditya R Joshi Neha Purohit

Description Logics and OWL

l A family of logic based KR formalisms l Distinguished by: l Decidable fragments of FOL l Closely related to Propositional Modal & Dynamic Logics

The revival of structural subsumption in tableau-based description logic reasoners

Description Logic. Eva Mráková,

GRID-DL Semantic GRID Information Service

A Tool for Storing OWL Using Database Technology

Mastro Studio: a system for Ontology-Based Data Management

Description Logic: A Formal Foundation for Ontology Languages and Tools

DRAOn: A Distributed Reasoner for Aligned Ontologies

Exponential Speedup in U L Subsumption Checking Relative to General TBoxes for the Constructive Semantics

Knowledge Representations. How else can we represent knowledge in addition to formal logic?

Brain, a library for the OWL2 EL profile

OWL 2 Syntax and Semantics Sebastian Rudolph

Knowledge Engineering with Semantic Web Technologies

Week 4. COMP62342 Sean Bechhofer, Uli Sattler

Evaluating OWL 2 Reasoners in the Context Of Checking Entity-Relationship Diagrams During Software Development

Description Logics as Ontology Languages for Semantic Webs

Technische Universität Dresden. A Classification Algorithm ForELHIf R +

FOUNDATIONS OF SEMANTIC WEB TECHNOLOGIES

Towards Reusable Explanation Services in Protege

Languages and tools for building and using ontologies. Simon Jupp, James Malone

Divide et Impera: Metareasoning for Large Ontologies

Integrating SysML and OWL

OWL 2 Update. Christine Golbreich

Ontologies and OWL. Riccardo Rosati. Knowledge Representation and Semantic Technologies

An Architecture for Semantic Enterprise Application Integration Standards

Appendix 1. Description Logic Terminology

Appendix 1. Description Logic Terminology

Description Logics. Markus Krötzsch, František Simančík, and Ian Horrocks. Department of Computer Science, University of Oxford, UK

On the Reduction of Dublin Core Metadata Application Profiles to Description Logics and OWL

RESTful Encapsulation of OWL API

Bryan Smith May 2010

Explaining Subsumption in ALEHF R + TBoxes

Extracting knowledge from Ontology using Jena for Semantic Web

Concept Adjustment for Description Logics

Introduction to Protégé. Federico Chesani, 18 Febbraio 2010

Learning Probabilistic Ontologies with Distributed Parameter Learning

LTCS Report. Concept Descriptions with Set Constraints and Cardinality Constraints. Franz Baader. LTCS-Report 17-02

OntoEval Assessment Tool for OWL Ontology based Application

Semantic Web. Ontology Pattern. Gerd Gröner, Matthias Thimm. Institute for Web Science and Technologies (WeST) University of Koblenz-Landau

OWL 2 The Next Generation. Ian Horrocks Information Systems Group Oxford University Computing Laboratory

Ontology mutation testing

Semantic Web Test

Orchestrating Music Queries via the Semantic Web

A Knowledge Compilation Technique for ALC Tboxes

A Loose Coupling Approach for Combining OWL Ontologies and Business Rules

Hierarchical Pointer Analysis for Distributed Programs

Ermergent Semantics in BibSonomy

Standardization of Ontologies

DRAOn: A Distributed Reasoner for Aligned Ontologies

Helmi Ben Hmida Hannover University, Germany

OWL an Ontology Language for the Semantic Web

Access rights and collaborative ontology integration for reuse across security domains

OWL-DBC The Arrival of Scalable and Tractable OWL Reasoning for Enterprise Knowledge Bases

Searching for the Holy Grail. Ian Horrocks Information Systems Group Oxford University Computing Laboratory

Racer: An OWL Reasoning Agent for the Semantic Web

Optimised Classification for Taxonomic Knowledge Bases

An Improving for Ranking Ontologies Based on the Structure and Semantics

BS2 Final Report. Ontonosis. Group Members. Supalak Sirikutjatuporn Punnakhun Bungate Advisor: Dr. Boontawee Suntisrivaraporn

Empirical evaluation of reasoning in lightweight DLs on life science ontologies

model (ontology) and every DRS and CMS server has a well-known address (IP and port).

C++ (Non for C Programmer) (BT307) 40 Hours

Principles of Knowledge Representation and Reasoning

Simplified Approach for Representing Part-Whole Relations in OWL-DL Ontologies

H1 Spring B. Programmers need to learn the SOAP schema so as to offer and use Web services.


OWL a glimpse. OWL a glimpse (2) requirements for ontology languages. requirements for ontology languages

An Annotation Tool for Semantic Documents

Transcription:

jcel: A Modular Rule-based Reasoner Julian Mendez Theoretical Computer Science, TU Dresden, Germany mendez@tcs.inf.tu-dresden.de Abstract. jcel is a reasoner for the description logic EL + that uses a rule-based completion algorithm. These algorithms are used to get subsumptions in the lightweight description logic EL and its extensions. One of these extensions is EL +, a description logic with restricted expressivity, but used in formal representation of biomedical ontologies. These ontologies can be encoded using the Web Ontology Language (OWL), and through the OWL API, edited using the popular ontology editor Protégé. jcel implements a subset of the OWL 2 EL profile, and can be used as a Java library or as a Protégé plug-in. This system description presents the architecture and main features of jcel, and reports some of the challenges and limitations faced in its development. 1 Introduction This system description presents jcel 1, a reasoner for the description logic EL +. The design and implementation details refer to jcel 0.17.1, unless other version is specified. The lightweight description logic (DL) EL and its extensions have recently drawn considerable attention since important inference problems, such as the subsumption problem, are polynomial in EL [1,4,2]. In addition, biomedical ontologies such as the large ontology SNOMED CT 2, can be defined using this logic. The basic entities are concepts (class expressions), which are built with concept names (classes) and role names (object properties). An ontology is a formal vocabulary of terms which refers to a conceptual schema inside a domain. The terms are related using an ontology language. The main service that this reasoner provides is classification, a hierarchical relation of the concepts in the ontology. 2 Language Subset Supported jcel, as an EL + reasoner, includes the standard constructors of EL: conjunction (C D), existential restriction ( r.c), and the top concept ( ). In addition, this logic includes role composition (r s t) and role hierarchy (r s). 1 http://jcel.sourceforge.net/ 2 http://www.ihtsdo.org/snomed-ct/

Table 1. Syntax and semantics. Name Syntax Semantics concept name A A I I role name r r I I I top I = I conjunction C D (C D) I = C I D I existential restriction r.c ( r.c) I = {x y : (x, y) r I y C I } subsumption C D C I D I role hierarchy r s r I s I role composition r s t r I s I t I Table 1 summarizes the semantics of the mentioned constructors. There is an experimental development of jcel [7] to support inverse and functional roles. 3 Syntaxes and Interfaces Supported jcel is developed in Java and can be compiled in Java 1.6 or Java 1.7 indistinctly. jcel is integrated to the OWL API 3.2.4 3, which is a Java application programming interface (API) and reference implementation for creating, manipulating and serializing OWL ontologies. Using the OWL API, jcel can be used as a Protégé 4 plug-in. Protégé is a free, open source ontology editor, and also a knowledge base framework. Protégé ontologies can be exported to several formats, like RDF, OWL and XML Schema. In order to keep compatibility with Protégé 4.1, jcel is distributed as a Java binary for Java 1.6. jcel can also be used as a library without the OWL API. It has its own factories to construct the optimized data types used in the core. 4 Reasoning Algorithm Implemented The algorithm is rule-based, and there is a set of rules that are successively applied to saturate data structures. These rules are called completion rules. The process is called classification, and is the main part of jcel s algorithm. An algorithm that classifies the set of axioms by applying these rules could be expensive in time if it is performed by a systematic search. The algorithm used by jcel is based on CEL s algorithm [2,3], but generalized with a change propagation approach [6]. This approach detects the changes in the data structure being saturated, and triggers the rules in consequence. The input of the algorithm is a normalized set of axioms T as in the following list: A B, A 1 A n B, A r.b, r.a B, r s, r s t. 3 http://owlapi.sourceforge.net/ 4 http://protege.stanford.edu/

The invariant of the algorithm has a set S, called set of subsumptions, such that for each pair of concept names A, B in T : (A, B) S if and only if T = A B, and a set R such that for each triple of role r, and concept names A, B in T : (r, A, B) R if and only if T = A r.b, where = has the usual meaning. The algorithm finishes when S is saturated. The output is S itself, which tells the subsumption relation for every pair of concept names. In Figure 1, we can observe S and R, the completion rules (CR-1, CR-2,... ), the duplicates checker, and a set Q which has a set of entries to be processed. In each iteration, an S-entry (a pair) or an R-entry (a triple) is taken from Q and added to either S or R. This change is propagated and sent to the chain of rules sensitive to changes in S (S-chain) or in R (R-chain). Every completion rule takes the new entry as input and returns a set of S- and R-entries. The arrows indicate how these entries flow. Every element proposed by the rules is verified by the duplicates checker before being added to Q. The dashed lines indicate that the duplicates checker uses S and R for the verification. This procedure is repeated until Q is empty. Fig. 1. Dynamic diagram. 5 Architecture and Optimization Techniques jcel axioms are encoded using integers. This optimizes the use of memory and required time in comparisons. Any program using jcel as a library can encode its entities with integers, and take advantage of this efficient representation. jcel is composed by several modules, as shown in Figure 2. The arrows indicate the relation depends on.

jcel.coreontology and jcel.core are modules that use only normalized axioms. The former contains the normalized axioms themselves, the latter contains the implementation of the completion rules, together with the data structures for the subsumption graphs. jcel.ontology is a module that contains the axioms for the ontology and the procedures to normalize the ontology. jcel.reasoner is the reasoner interface. It can classify an ontology and compute entailment. All the modules mentioned above work with data types based on integers. jcel.owlapi is the module that connects to the OWL API. This module performs the translation between the OWL API axioms and jcel axioms. jcel.protege is a tiny module used to connect to Protégé. Figure 2 describes the module dependencies and shows that jcel can be used: extending the core (with jcel.coreontology and jcel.core) as a library using integers (adding jcel.ontology and jcel.reasoner) as a library using the OWL API (adding jcel.owlapi) as a Protégé plug-in (adding jcel.protege) Fig. 2. Module dependencies. 6 Particular Advantages and Disadvantages jcel is a pure Java, open source project. Its source code can be cloned with Git 5 and compiled using Apache Ant 6 or Apache Maven 7 indistinctly. 5 http://git-scm.com/ 6 http://ant.apache.org/ 7 http://maven.apache.org/

jcel includes several advantages derived from its design and from good practices of software engineering. Regarding the design, jcel has independent maintenance of rules. Each rule works as an independent unit that can be implemented, improved and profiled independently. Regarding the good practices, jcel uses no null pointers. Every public method is prevented of accepting null pointers (throwing a runtime exception) and no public method returns a null pointer. Referred by its inventor as The Billion Dollar Mistake 8, a null pointer may have different intended meanings. For example, min(1, null), may give the results 0 (considering null as 0), 1 (considering null as an empty argument), or null (considering null as an undefined value). Another good practice is that public methods return unmodifiable collections when they refer to collections used in the internal representation. This prevents a defective piece of code from modifying the collection. jcel has no cyclic dependencies of packages in each module. This facilitates maintenance, since modifications on one package do not alter any other package that does not depend on the former. jcel has also some points that are not implemented yet, but can be considered as good future improvements. One of the improvements is to apply techniques to unchain properties [5]. This would be useful for large ontologies. Another improvement is incremental classification. This could be especially interesting for entailment, since jcel computes entailment by adding fresh auxiliary concepts and reclassifying the ontology. Finally, the reduction of use of memory is an important improvement to consider. jcel 0.16.0 was the first version to include entailment, but also became significantly slower than jcel 0.15.0 when classifying large ontologies. The reason was a side effect resulting from the memory required for the entailment, producing a frequent execution of the garbage collector. This was partially solved in jcel 0.17.0. 7 Application focus jcel can be used to classify small and medium-sized ontologies of the EL family. jcel was designed to be robust, resilient, modular and extensible. Its binaries are small and can be distributed inside other tools. One tool that uses jcel is Gel 9 (Generalizations for EL) [7], which extends the core of jcel. Another example is OntoComP 10. It is a Protégé plug-in for completing OWL ontologies, and for checking whether an OWL ontology contains all relevant information about the application domain. This tool uses the OWL API to connect to jcel as a library. 8 http://qconlondon.com/london-2009/speaker/tony+hoare 9 http://sourceforge.net/p/gen-el/ 10 http://ontocomp.googlecode.com/

jcel is also used to verify correctness in UEL 11, Unification for the description logic EL. 8 Conclusion jcel is a reasoner for lightweight ontologies. Its rule-based design makes it easy to be configured according to the rules. Provides a high-level interface to be used as a tool seamlessly integrated to the OWL API. The implementation is modular, resilient and highly extensible. Implemented in a state-of-the-art technology, it has a low coupling and a high cohesion, it is portable, and has an optimal interface to connect to other technologies of the Semantic Web. References 1. Franz Baader. Terminological cycles in a description logic with existential restrictions. In Proc. IJCAI 03, 2003. 2. Franz Baader and Sebastian Brandt and Carsten Lutz. Pushing the EL envelope. In Proc. IJCAI 05, 2005. 3. Franz Baader and Carsten Lutz and Boontawee Suntisrivaraporn. Is Tractable Reasoning in Extensions of the Description Logic EL Useful in Practice?. Journal of Logic, Language and Information, Special Issue on Method for Modality (M4M), 2007. 4. Sebastian Brandt. Polynomial time reasoning in a description logic with existential restrictions, GCI axioms, and what else? In Proc. ECAI 04, 2004. 5. Yevgeny Kazakov and Markus Krötzsch and František Simančík. Unchain My EL Reasoner. In Riccardo Rosati, Sebastian Rudolph, Michael Zakharyaschev, editors, Proceedings of the 24th International Workshop on Description Logics (DL-11). CEUR, 2011. 6. Julian Mendez. A Classification Algorithm for ELHIfR +. Dresden University of Technology, 2011. 7. Julian Mendez and Andreas Ecke and Anni-Yasmin Turhan. Implementing completion-based inferences for the EL-family. In Riccardo Rosati, Sebastian Rudolph, and Michael Zakharyaschev, editors, Proceedings of the international Description Logics workshop, volume 745. CEUR, 2011. 8. Quoc Huy Vu. Subsumption in the Description Logic ELHIfR + w.r.t. General TBoxes. Dresden University of Technology, 2008. 11 http://uel.sourceforge.net/