740 research outputs found

    A Database Interface for Complex Objects

    Get PDF
    We describe a formal design for a logical query language using psi-terms as data structures to interact effectively and efficiently with a relational database. The structure of psi-terms provides an adequate representation for so-called complex objects. They generalize conventional terms used in logic programming: they are typed attributed structures, ordered thanks to a subtype ordering. Unification of psi-terms is an effective means for integrating multiple inheritance and partial information into a deduction process. We define a compact database representation for psi-terms, representing part of the subtyping relation in the database as well. We describe a retrieval algorithm based on an abstract interpretation of the psi-term unification process and prove its formal correctness. This algorithm is efficient in that it incrementally retrieves only additional facts that are actually needed by a query, and never retrieves the same fact twice

    A deductive database management system in Prolog

    Get PDF

    dbProlog: a Prolog/relational database interface

    Get PDF
    dbProlog is a prototype system that provides a C-Prolog user access to data in an external relational database via both loose and tight coupling. To the application programmer, dbProlog is a group of six built-in Prolog predicates that effect communication between a C-Prolog process and a database management system process. Prolog application program statements may be written using the six predicates to make the interface transparent to an end-user. The system is based on a driver process that must be customized to the interfaced DBMS and whose primary function is the translation of requests and replies between C-Prolog and the DBMS. dbProlog supports Prolog\u27s depth-first search on database retrievals by producing the next record when the retrieval predicate is encountered upon backtracking. dbProlog also supports multiple active database retrievals, as may be required by a Prolog rule that references two or more database retrievals, or by a recursive rule

    DATABASE ACCESS REQUIREMENTS OF KNOWLEDGE-BASED SYSTEMS

    Get PDF
    Knowledge bases constitute the core of those Artificial Intelligence programs which have come to be known as Expert Systems. An examination of the most dominant knowledge representation schemes used in these systems reveals that a knowledge base can, and possibly should, be described at several levels using different schemes, including those traditionally used in operational databases. This chapter provides evidence that solutions to the organization and access problem for very large knowledge bases require the employment of appropriate database management methods, at least for the lowest level of description -- the facts or data. We identify the database access requirements of knowledge-based or expert systems and then present four general architectural strategies for the design of expert systems that interact with databases, together with specific recommendations for their suitability in particular situations. An implementation of the most advanced and ambitious of these strategies is then discussed in some detail.Information Systems Working Papers Serie

    A semantics and implementation of a causal logic programming language

    Get PDF
    The increasingly widespread availability of multicore and manycore computers demands new programming languages that make parallel programming dramatically easier and less error prone. This paper describes a semantics for a new class of declarative programming languages that support massive amounts of implicit parallelism

    AiGERM: A logic programming front end for GERM

    Get PDF
    AiGerm (Artificially Intelligent Graphical Entity Relation Modeler) is a relational data base query and programming language front end for MCC (Mission Control Center)/STP's (Space Test Program) Germ (Graphical Entity Relational Modeling) system. It is intended as an add-on component of the Germ system to be used for navigating very large networks of information. It can also function as an expert system shell for prototyping knowledge-based systems. AiGerm provides an interface between the programming language and Germ

    Datalog as a parallel general purpose programming language

    Get PDF
    The increasing available parallelism of computers demands new programming languages that make parallel programming dramatically easier and less error prone. It is proposed that datalog with negation and timestamps is a suitable basis for a general purpose programming language for sequential, parallel and distributed computers. This paper develops a fully incremental bottom-up interpreter for datalog that supports a wide range of execution strategies, with trade-offs affecting efficiency, parallelism and control of resource usage. Examples show how the language can accept real-time external inputs and outputs, and mimic assignment, all without departing from its pure logical semantics
    • ā€¦
    corecore