This article studies an implementation methodology for partial and disjunctive stable models where partiality and disjunctions are unfolded from a logic program so that an implementation of stable models for normal (disjunction-free) programs can be used as the core inference engine. The unfolding is done in two separate steps. First, it is shown that partial stable models can be captured by total stable models using a simple linear and modular program transformation. Hence, reasoning tasks concerning partial stable models can be solved using an implementation of total stable models. Disjunctive partial stable models have been lacking implementations which now become available as the translation handles also the disjunctive case. Second, it is shown how total stable models of disjunctive programs can be determined by computing stable models for normal programs. Thus an implementation of stable models of normal programs can be used as a core engine for implementing disjunctive programs. The feasibility of the approach is demonstrated by constructing a system for computing stable models of disjunctive programs using the SMODELS system as the core engine. The performance of the resulting system is compared to that of DLV, which is a state-of-the-art system for disjunctive programs.
For the development of practical semantic applications, ontologies are commonly used with rule extensions. Prominent examples of semantic applications are Semantic Wikis, Semantic Desktops, but also advanced Web Services and agents. The application of rules increases the expressiveness of the underlying knowledge in many ways. Likewise, the integration creates new challenges for the design process of such ontologies, but also existing evaluation methods have to cope with the extension of ontologies by rules.Since the verification of OWL ontologies with rule extensions is not tractable in general, we propose to verify ontologies at the symbolic level by using a declarative approach: With the new language DATALOG , known anomalies can be easily specified and tested in a compact manner. We introduce supplements to existing verification techniques to support the design of ontologies with rule enhancements, and we focus on the detection of anomalies that especially occur due to the combined use of rules and ontological definitions.
Abstract. The manual development of large knowledge systems is a difficult and error-prone task. In order to facilitate extensions to an existing knowledge base the structural design of the implemented knowledge needs to be improved from time to time. However, experts are often deterred even from important design improvements since some restructurings are too complex to handle. In this paper, we introduce a framework that allows for automated refactorings. Refactoring methods are well-defined and are executed in a semi-automated way. In this manner, the developer is supported during the process of restructuring of even large knowledge bases. Refactoring methods are usually applied to improve the design of the knowledge base; in this paper, we sketch some design anomalies that identify poor design of the knowledge base.
The methods to access large relational databases in a distributed system are well established: the relational query language SQL often serves as a language for data access and manipulation, and in addition public interfaces are exposed using communication protocols like REST. Similarly to REST, GraphQL is the query protocol of an application layer developed by Facebook. It provides a unified interface between the client and the server for data fetching and manipulation. Using GraphQL's type system, it is possible to specify data handling of various sources and to combine, e.g., relational with NoSQL databases. In contrast to REST, GraphQL provides a single API endpoint and supports flexible queries over linked data.GraphQL can also be used as an interface for deductive databases. In this paper, we give an introduction of GraphQL and a comparison to REST. Using language features recently added to SWI-Prolog 7, we have developed the Prolog library GraphQL.pl, which implements the GraphQL type system and query syntax as a domain-specific language with the help of definite clause grammars (DCG), quasi quotations, and dicts. Using our library, the type system created for a deductive database can be validated, while the query system provides a unified interface for data access and introspection.
Abstract. Currently, the introduction of an appropriate rule representation layer for the semantic web stack is discussed. However, with the inclusion of rule-based knowledge new verification issues for rule-augmented ontologies arise. In this paper we investigate the detection of anomalies as an important subtask of verification. We extend and revise existing approaches for the syntactic verification of ontologies with respect to the existence of rules, and we introduce new anomalies considering the understandability and maintainability of such ontologies.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.