Results 1  10
of
32
HiLog: A foundation for higherorder logic programming
 JOURNAL OF LOGIC PROGRAMMING
, 1993
"... We describe a novel logic, called HiLog, and show that it provides a more suitable basis for logic programming than does traditional predicate logic. HiLog has a higherorder syntax and allows arbitrary terms to appear in places where predicates, functions and atomic formulas occur in predicate calc ..."
Abstract

Cited by 213 (40 self)
 Add to MetaCart
We describe a novel logic, called HiLog, and show that it provides a more suitable basis for logic programming than does traditional predicate logic. HiLog has a higherorder syntax and allows arbitrary terms to appear in places where predicates, functions and atomic formulas occur in predicate calculus. But its semantics is firstorder and admits a sound and complete proof procedure. Applications of HiLog are discussed, including DCG grammars, higherorder and modular logic programming, and deductive databases.
GlueNail: A Deductive Database System
 In ACM SIGMOD Conference on Management of Data
, 1991
"... Glue is a procedural language for deductive databases. It is designed to complement the purely declarative NAIL! language, firstly by performing system functions impossible to write in NAIL!, and secondly by allowing the procedural specification of algorithms for critical code sections. The two lang ..."
Abstract

Cited by 58 (8 self)
 Add to MetaCart
Glue is a procedural language for deductive databases. It is designed to complement the purely declarative NAIL! language, firstly by performing system functions impossible to write in NAIL!, and secondly by allowing the procedural specification of algorithms for critical code sections. The two languages together are sufficient to write a complete application. Glue was designed to be as close to NAIL! as possible, hence minimizing the impedance mismatch problem. In this paper we concentrate on Glue. Pseudohigher order programming is used in both languages, in the style of HiLog [1]. In particular GlueNail can handle set valued attributes (non1NF schemas) in a clean and efficient manner. NAIL! code is compiled into Glue code, simplifying the system design. An experimental implementation has been written, a more efficient version is under design.
Efficient BottomUp Evaluation Of Logic Programs
 THE STATE OF THE ART IN COMPUTER SYSTEMS AND SOFTWARE ENGINEERING
, 1992
"... In recent years, much work has been directed towards evaluating logic programs and queries on deductive databases by using an iterative bottomup fixpoint computation. The resulting techniques offer an attractive alternative to Prologstyle topdown evaluation in several situations. They are sound ..."
Abstract

Cited by 42 (4 self)
 Add to MetaCart
In recent years, much work has been directed towards evaluating logic programs and queries on deductive databases by using an iterative bottomup fixpoint computation. The resulting techniques offer an attractive alternative to Prologstyle topdown evaluation in several situations. They are sound and complete for positive Horn clause programs, are wellsuited to applications with large volumes of data (facts), and can support a variety of extensions to the standard logic programming paradigm. We present the basics of database query evaluation and logic programming evaluation, and then discuss bottomup fixpoint evaluation. We discuss an approach based upon using a program transformation ("Magic Templates") to restrict search, followed by fixpoint computation using a technique ("Seminaive evaluation") that avoids repeated inferences. The program transformation technique focuses the fixpoint evaluation, which is a forwardchaining strategy, by propagating bindings in the goal in a ma...
Coral++: Adding ObjectOrientation to a Logic Database Language
 IN PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON VERY LARGE DATA BASES
, 1993
"... Coral++ is a database programming language that integrates Coral [23] with the C++ type system. The data model allows arbitrary C++ objects in database facts, and the declarative query language extends Coral with C++ expressions in rules. Coral++ also supports an imperative rulebased sublanguage t ..."
Abstract

Cited by 36 (5 self)
 Add to MetaCart
Coral++ is a database programming language that integrates Coral [23] with the C++ type system. The data model allows arbitrary C++ objects in database facts, and the declarative query language extends Coral with C++ expressions in rules. Coral++ also supports an imperative rulebased sublanguage that is integrated with C++, providing support for updates. The design and implementation of Coral++ incorporates several important decisions: the data model is based on C++, and class definitions and method invocations are handled entirely by the C++ compiler; the notion of classes is kept orthogonal to the re
Reasoning about Anonymous Resources and Meta Statements on the Semantic Web
 Data Semantics I, volume 2800 of Lecture Notes in Computer Science
, 2003
"... Abstract. Anonymous resources and meta statements are two of the more interesting features of RDF — an emerging standard for representing semantic information on the Web. Ironically, when RDF was standardized by W3C over three years ago [24], it came without a semantics. There is now growing underst ..."
Abstract

Cited by 29 (6 self)
 Add to MetaCart
Abstract. Anonymous resources and meta statements are two of the more interesting features of RDF — an emerging standard for representing semantic information on the Web. Ironically, when RDF was standardized by W3C over three years ago [24], it came without a semantics. There is now growing understanding that a Semantic Web language without a semantics is an oxymoron, and a number of efforts are directed towards giving RDF a precise semantics [17,15,11]. In this paper we propose a simple semantics for anonymous resources and meta statements in Flogic [23] — a framebased logic language, which is a popular formalism for representing and reasoning about semantic information on the Web [29,14,16,13,12]. The choice of Flogic (over RDF) as a basis for our semantics is motivated by the fact that Flogic provides a comprehensive solution for the problem of integrating frames, rules, inheritance, and deduction, and it has been shown to provide an effective inference service for RDF [13,28]. 1
Polymorphically Typed Logic Programs
 Types in Logic Programming
, 1991
"... We introduce polymorphically typed logic programs, an integration of a polymorphic type system with logic programs. The firstorder notion of predicates is extended to parametric predicates, which are parameterized by types. The type system accommodates both subtypes and parametric polymorphism. It ..."
Abstract

Cited by 28 (2 self)
 Add to MetaCart
We introduce polymorphically typed logic programs, an integration of a polymorphic type system with logic programs. The firstorder notion of predicates is extended to parametric predicates, which are parameterized by types. The type system accommodates both subtypes and parametric polymorphism. It unifies features of valuebased and namebased approaches. The denotation of a typed logic program is given by its type completion, a transformation that incorporates explicit type conditions into a parametric logic program. The result of the transformation is a restricted form of a HiLog program. We give fixpoint semantics to our language (actually to full HiLog). We define a notion of welltyping, which relates type declarations for predicates in the program to an approximation of the denotation of the type completed program. We present a typechecking algorithm for verifying that a program is indeed welltyped. Finally we discuss some extensions to the type system.
Higherorder narrowing
 PROC. NINTH ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE
, 1994
"... We introduce several approaches for solving higherorder equational problems by higherorder narrowing and give first completeness results. The results apply to higherorder functionallogic programming languages and to higherorder unification modulo a higherorder equational theory. We lift the ge ..."
Abstract

Cited by 20 (8 self)
 Add to MetaCart
We introduce several approaches for solving higherorder equational problems by higherorder narrowing and give first completeness results. The results apply to higherorder functionallogic programming languages and to higherorder unification modulo a higherorder equational theory. We lift the general notion of firstorder narrowing to socalled higherorder patterns and argue that the full higherorder case is problematic. Integrating narrowing into unification, called lazy narrowing, can avoid these problems and can be adapted to the full higherorder case. For the secondorder case, we develop a version where the needed secondorder unification remains decidable. Finally we discuss a method that combines both approaches by using narrowing on higherorder patterns with full higherorder constraints.
Relational Languages for Metadata Integration
 ACM Trans. Database Syst
"... In this article, we develop a relational algebra for metadata integration, Federated Interoperable Relational Algebra (FIRA). FIRA has many desirable properties such as compositionality, closure, a deterministic semantics, a modest complexity, support for nested queries, a subalgebra equivalent to c ..."
Abstract

Cited by 19 (5 self)
 Add to MetaCart
In this article, we develop a relational algebra for metadata integration, Federated Interoperable Relational Algebra (FIRA). FIRA has many desirable properties such as compositionality, closure, a deterministic semantics, a modest complexity, support for nested queries, a subalgebra equivalent to canonical Relational Algebra (RA), and robustness under certain classes of schema evolution. Beyond this, FIRA queries are capable of producing fully dynamic output schemas, where the number of relations and/or the number of columns in relations of the output varies dynamically with the input instance. Among existing query languages for relational metadata integration, only FIRA provides generalized dynamic output schemas, where the values in any (fixed) number of input columns can determine output schemas. Further contributions of this article include development of an extended relational model for metadata integration, the Federated Relational Data Model, which is strictly downward compatible with the relational model. Additionally, we define the notion of Transformational Completeness for relational query languages and postulate FIRA as a canonical transformationally complete language. We also give a declarative, SQLlike query language that is equivalent to FIRA, called Federated Interoperable Structured Query Language (FISQL). While our main contributions are conceptual, the federated model, FISQL/FIRA, and the notion of transformational completeness nevertheless have important applications to data integration and OLAP. In addition to summarizing these applications, we illustrate the use of FIRA to optimize FISQL queries using rulebased transformations that directly parallel their canonical relational counterparts. We conclude the article with an extended discussion of related work as well as an indication of current and future work on FISQL/FIRA.
The GlueNail Deductive Database System: Design, Implementation, and Evaluation
, 1994
"... ... database system. Nail is a purely declarative query language; Glue is a procedural language used for nonquery activities. The two languages combined are sufficient to write a complete application. Nail and Glue code are both compiled into the target language IGlue. The Nail compiler uses varian ..."
Abstract

Cited by 14 (0 self)
 Add to MetaCart
... database system. Nail is a purely declarative query language; Glue is a procedural language used for nonquery activities. The two languages combined are sufficient to write a complete application. Nail and Glue code are both compiled into the target language IGlue. The Nail compiler uses variants of the magic sets algorithm and supports wellfounded models. The Glue compiler's static optimizer uses peephole techniques and data flow analysis to improve code. The IGlue interpreter features a runtime adaptive optimizer that reoptimizes queries and automatically selects indexes. We also describe the GlueNail benchmark suite, a set of applications developed to evaluate the GlueNail language and to measure the performance of the system.