Enterprise/Corporate ontologies are widely adopted to conceptualize business enterprise information. In this area, the semantic peculiarities of Answer Set Programming (ASP), like the Closed World Assumption (CWA) and the Unique Name Assumption (UNA), are more appropriate than the Ontology Web Language (OWL) assumptions, also because such ontologies frequently stem from relational databases, where both CWA and UNA are adopted. This article presents OntoDLV, a system based on ASP for the specification and reasoning on enterprise ontologies. OntoDLV implements a powerful ontology representation language, called OntoDLP, extending (disjunctive) ASP with all the main ontology features including classes, inheritance, relations and axioms. OntoDLP is strongly typed, and includes also complex type constructors, like lists and sets. Importantly, OntoDLV supports a powerful interoperability mechanism with OWL, allowing the user to retrieve information from OWL ontologies, and build rule-based reasoning on top of OWL ontologies. The system is already used in a number of real-world applications including agent-based systems, information extraction, and text classification. P 2 and P 2 (under brave and cautious reasoning, respectively) [12] . However, traditional ASP is not well-suited for ontology specifications, since it does not directly support features like classes, taxonomies, individuals, etc. Moreover, ASP systems are a long way from comfortably enabling the development of industry-level applications, mainly because they lack important tools for supporting users and programmers. In particular, convenient user interfaces are missing, and there is a lack of advanced Application Programming Interfaces (API) for implementing applications on top of ASP systems. This article describes OntoDLV, an ASP-based system for enterprise ontologies, which addresses all the above-mentioned issues. Indeed, OntoDLV implements a powerful logic-based ontology representation language, called OntoDLP, which is an extension of (disjunctive) ASP with all the main ontology constructs including classes, inheritance, relations and axioms. OntoDLP is strongly typed, and includes also complex type constructors, like lists and sets. Importantly, OntoDLV supports a powerful interoperability OntoDLV: An ASP-based System for Enterprise Ontologies 645 mechanism with OWL, allowing the user to retrieve information from external OWL Ontologies and to exploit this data in OntoDLP ontologies and queries. 1 Moreover, OntoDLV facilitates the development of complex applications in a user-friendly visual environment; it is endowed with a robust persistency-layer for saving information transparently on a DBMS, and it seamlessly integrates the DLV system [32] exploiting the power of a stable and efficient ASP solver. Using OntoDLV, domain experts can create, modify, store, navigate and query ontologies thanks to a user-friendly visual environment; at the same time, application developers can easily implement knowledge-intensive applications embedding OntoDLP specifications using a complete API. Indeed, OntoDLP is already used for the development of real-world applications including agent-based systems, information extraction and text classification frameworks (Section 7). OntoDLV has its roots in the previous DLP+ system [39] ; but, compared to its predecessor, OntoDLV includes many new major features. Among them, Complex types (like Sets and Lists), Object reclassification support (Collection Classes), Intensional Relations, OWL interoperability mechanisms, an API and a more advanced Graphical User Interface (GUI). All these together with many optimization techniques make OntoDLV well-suited for the development of industrial applications (Section 7). Importantly, the OntoDLP language has a direct model-theoretic semantics, while the meaning of DLP+ programs was specified merely by a rewriting technique (See Section 6 for a comparison with DLP+). The remainder of the article is organized as follows: in Section 2, an informal overview of the OntoDLP language by examples is provided; Section 3 gives a formal definition of OntoDLP; Section 4 describes our mechanism for OWL interoperability; Section 5 overviews the architecture and the implementation of the OntoDLV system; related work is discussed in Section 6 and Section 7 concludes the article and points out a couple of relevant applications of our system. This section describes OntoDLP, an ontology representation and reasoning language which provides the most important ontological constructs, namely classes, attributes, relations, inheritance and axioms, and combines them with the reasoning capabilities of ASP. To this end, an example (the banking ontology) is esploited which will be specified throughout the whole section, thus illustrating the features of the language. For a better understanding, each construct will be described in a separate paragraph. Hereafter, the reader is assumed to be familiar with ASP syntax and semantics, for further details refer to [17, 32] . A (base) class 2 can be thought of as a collection of individuals who belong together because they share some properties. Classes can be defined in OntoDLP by using the keyword class followed by its name. Class attributes can be specified by means of pairs (attribute-name : attribute-type), where attribute-name is the name of the property and attribute-type is the class the attribute belongs to. Suppose the aim is to model the domain of a banking enterprise, and some classes of individuals have been identified, namely: banks, branches, accounts, persons, enterprises and places.
A different approach is the one by Ricca et al. REF , that presented OntoDLV, a system for reasoning on a logic-based ontology representation language called OntoDLP.
OntoDLV: An ASP-based System for Enterprise Ontologies
J. Log. Comput.
J. Log. Comput.
Computer Science