Results 11 - 20
of
31
A Uniform Calculus for Collection Types
- OREGON GRADUATE INSTITUTE OF SCIENE & TECHNOLOGY
, 1994
"... We present a new algebra for collection types based on monoids and monoid homomorphisms. The types supported in this algebra can be any nested composition of collection types, including lists, sets, multisets (bags), vectors, and matrices. We also define a new calculus for this algebra, called mo ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
We present a new algebra for collection types based on monoids and monoid homomorphisms. The types supported in this algebra can be any nested composition of collection types, including lists, sets, multisets (bags), vectors, and matrices. We also define a new calculus for this algebra, called monoid comprehensions, that captures operations involving multiple collection types in declarative form. This algebra can easily capture the semantics of many object-oriented database query languages that support mixed collection types, such as the OQL language of the ODMG-93 standard. In addition, it is ideal for expressing data parallelism and nested parallelism and can be effectively translated onto many parallel architectures. We present a normalization algorithm that reduces any expression in our algebra to a canonical form which, when evaluated, generates very few intermediate data structures. These canonical forms are amenable to a higher degree of parallelism than the original...
CoPa: a Parallel Programming Language for Collections
- University of Pennsylvania, Institute for
, 1998
"... In this paper we propose a new framework for parallel processing of collections. We define a high-level language called CoPa for processing nested sets, bags, and sequences (a generalization of arrays and lists). CoPa includes most features found in query languages for object-oriented or object-rela ..."
Abstract
-
Cited by 8 (1 self)
- Add to MetaCart
In this paper we propose a new framework for parallel processing of collections. We define a high-level language called CoPa for processing nested sets, bags, and sequences (a generalization of arrays and lists). CoPa includes most features found in query languages for object-oriented or object-relational databases, and has, in addition, a powerful form of recursion not found in query languages. CoPa has a formal declarative definition of parallel complexity, as part of its specification. We prove the existence of a complexity-preserving compilation for CoPa, i.e. one which offers upper-bound guarantees for the parallel complexity of the compiled code. The majority of the compilation process is architecture-independent, using a parallel vector machine model (BVRAM). The BVRAM instructions form a sequence-algebra which is of independent interest, and have been carefully chosen to reconcile two conflicting demands: supporting the complexity-preserving compilation of CoPa's high-level con...
A Structure-Based Approach to Querying Semi-Structured Data
, 1997
"... . Several researchers have considered integrating multiple unstructured, semi-structured, and structured data sources by modeling all sources as edge labeled graphs. Data in this model is selfdescribing and dynamically typed, and captures both schema and data information. The labels are arbitrary at ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
. Several researchers have considered integrating multiple unstructured, semi-structured, and structured data sources by modeling all sources as edge labeled graphs. Data in this model is selfdescribing and dynamically typed, and captures both schema and data information. The labels are arbitrary atomic values, such as strings, integers, reals, etc., and the integrated data graph is stored in a unique data repository, as a relation of edges. The relation is dynamically typed, i.e. each edge label is tagged with its type. Although the unique, labeled graph repository is flexible, it looses all static type information, and results in severe efficiency penalties compared to querying structured databases, such as relational or object-oriented databases. In this paper we propose an alternative method of storing and querying semi-structured data, using storage schemas, which are closely related to recently introduced graph schemas [BDFS97]. A storage schema splits the graph's edges into seve...
Querying an Object-Oriented Database Using CPL
, 1997
"... The Collection Programming Language (CPL) is based on a complex value model of data, and has successfully been used for querying, transforming and integrating data from a wide variety of structured data sources -- relational, ACeDB, and ASN.1 among others. However, since there is no notion of object ..."
Abstract
-
Cited by 7 (6 self)
- Add to MetaCart
The Collection Programming Language (CPL) is based on a complex value model of data, and has successfully been used for querying, transforming and integrating data from a wide variety of structured data sources -- relational, ACeDB, and ASN.1 among others. However, since there is no notion of objects and classes in CPL, it cannot adequately model recursive types or inheritance, and hence cannot be used to query object-oriented databases (OODBs). By adding a reference type and four operations to CPL -- dereference, method invocation, identity test and class type cast -- it is possible to express a large class of interesting "safe" queries against OODBs. As an example of how the extended CPL can be used to query an OODB, we will describe how the extended language has been used as a query interface to Shore databases. 1 Introduction A vast amount of data currently exists in databases, files formatted according to various data exchange formats, and application programs. Although much of t...
Well-definedness and semantic type-checking in the nested relational calculus and xquery
- Theoretical Computer Science
, 2005
"... Abstract. Two natural decision problems regarding the XML query language XQuery are well-definedness and semantic type-checking. We study these problems in the setting of a relational fragment of XQuery. We show that well-definedness and semantic type-checking are undecidable, even in the positive-e ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Abstract. Two natural decision problems regarding the XML query language XQuery are well-definedness and semantic type-checking. We study these problems in the setting of a relational fragment of XQuery. We show that well-definedness and semantic type-checking are undecidable, even in the positive-existential case. Nevertheless, for a “pure” variant of XQuery, in which no identification is made between an item and the singleton containing that item, the problems become decidable. We also consider the analogous problems in the setting of the nested relational calculus. 1
On the Power of Simple Diagrams
, 1996
"... . In this paper we focus on a set of abstract lemmas that are easy to apply and turn out to be quite valuable in order to establish confluence and/or normalization modularly, especially when adding rewriting rules for extensional equalities to various calculi. We show the usefulness of the lemmas by ..."
Abstract
-
Cited by 6 (2 self)
- Add to MetaCart
. In this paper we focus on a set of abstract lemmas that are easy to apply and turn out to be quite valuable in order to establish confluence and/or normalization modularly, especially when adding rewriting rules for extensional equalities to various calculi. We show the usefulness of the lemmas by applying them to various systems, ranging from simply typed lambda calculus to higher order lambda calculi, for which we can establish systematically confluence and/or normalization (or decidability of equality) in a simple way. Many result are new, but we also discuss systems for which our technique allows to provide a much simpler proof than what can be found in the literature. 1 Introduction During a recent investigation of confluence and normalization properties of polymorphic lambda calculus with an expansive version of the # rule, we came across a nice lemma that gives a simple but quite powerful sufficient condition to check the Church Rosser property for a compound rewriting system...
Monad Comprehensions: A Versatile Representation for Queries
, 2003
"... eeply, you will note that we generate query results solely through the side-e#ect free construction of values from simpler constituents and that functional composition will be the predominant way of forming complex queries. Referential transparency is the key to transformational programming and equa ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
eeply, you will note that we generate query results solely through the side-e#ect free construction of values from simpler constituents and that functional composition will be the predominant way of forming complex queries. Referential transparency is the key to transformational programming and equational reasoning. Relatively few components are needed in our initial query language core. We grow this language through function definitions of the form f # e where e is an expression built from components we have already introduced. The functions f so defined will get more complex as we go on until we are ready to give the meaning of SQL, OQL [1.4], or XPath [1.1] query clauses such as select-from-where, exists-in, flatten, or path expressions. 1.1.1 Notation, Types, and Values If you are familiar with notational conventions of functional programming languages such as Haskell [1.14] you will feel at home right away. Figure 1.1 introduces the core expression forms e and their notation.
THE Kleisli QUERY SYSTEM Reference Manual
- Institute of Systems Science, Heng Mui Keng
, 1995
"... This report documents the modules of Kleisli ..."
Management Of Sequence Data
, 1996
"... One of the challenges facing today's database systems is the need to support complex data types, which are of growing importance in new application areas. The thesis addresses this problem, with a specific focus on supporting sequence data. A large part of the thesis deals with the details of seque ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
One of the challenges facing today's database systems is the need to support complex data types, which are of growing importance in new application areas. The thesis addresses this problem, with a specific focus on supporting sequence data. A large part of the thesis deals with the details of sequences. Issues covered include the model for sequence data, an algebra of operators to query the data, a query language to express the queries, optimization techniques and query processing algorithms. Performance results are presented from an implementation of these ideas, demonstrating the effects of the various optimizations. This detailed exploration of sequence data is one contribution of the thesis. The second contribution is a solution to the problem of integrating different data types, including sequences and relations, in a general-purpose database system. The thesis discusses the drawbacks of existing solutions, and then proposes a solution based on a novel E-ADT paradigm. This parad...
The SLinks Language
, 2005
"... This report presents a prototype interpreter for a simple functional language, called SLinks. The focus of this work is two-fold. One side is the design of a type inference system, based on the Hindley-Milner algorithm, with additional support for record and variant types. This type system is simila ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
This report presents a prototype interpreter for a simple functional language, called SLinks. The focus of this work is two-fold. One side is the design of a type inference system, based on the Hindley-Milner algorithm, with additional support for record and variant types. This type system is similar to row variable based systems as described by Rémy and Wand. The other side is the support of database querying from within the language. In particular, the focus is on automatic optimisation of SLinks expressions into SQL queries. The resulting prototype, that tested and will be used to test techniques for Philip Wadler’s upcoming Links language, was heavily inspired by Wong’s Kleisi and CPL language. It does however extends it in various ways, in particular as far as record and variant operators are handled in typing and SQL

