Proc. of the thirteenth spring school of the LITP on Combinators and functional programming languages
IFO: a formal semantic database model
ACM Transactions on Database Systems (TODS)
Journal of the ACM (JACM)
ACM SIGMOD Record
SIGMOD '94 Proceedings of the 1994 ACM SIGMOD international conference on Management of data
Intersection and union types: syntax and semantics
Information and Computation
Principles of programming with complex objects and collection types
ICDT '92 Selected papers of the fourth international conference on Database theory
A query language and optimization techniques for unstructured data
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Filter models for conjunctive-disjunctive &lgr;-calculi
Theoretical Computer Science
Storing semistructured data with STORED
SIGMOD '99 Proceedings of the 1999 ACM SIGMOD international conference on Management of data
Adding Structure to Unstructured Data
ICDT '97 Proceedings of the 6th International Conference on Database Theory
Singleton, Union and Intersection Types for Program Extraction
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Subtyping with Union Types, Intersection Types and Recursive Types
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
DBPL '99 Revised Papers from the 7th International Workshop on Database Programming Languages: Research Issues in Structured and Semistructured Database Programming
The essence of data access in Cω: the power is in the dot!
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
PADL'12 Proceedings of the 14th international conference on Practical Aspects of Declarative Languages
Proceedings of the 16th International Conference on Database Theory
Hi-index | 0.00 |
Semistructured databases are treated as dynamically typed: they come equipped with no independent schema or type system to constrain the data. Query languages that are designed for semistructured data, even when used with structured data, typically ignore any type information that may be present. The consequences of this are what one would expect from using a dynamic type system with complex data: fewer guarantees on the correctness of applications. For example, a query that would cause a type error in a statically typed query language will return the empty set when applied to a semistructured representation of the same data. Much semistructured data originates in structured data. A semistructured representation is useful when one wants to add data that does not conform to the original type or when one wants to combine sources of different types. However, the deviations from the prescribed types are often minor, and we believe that a better strategy than throwing away all type information is to preserve as much of it as possible. We describe a system of untagged union types that can accommodate variations in structure while still allowing a degree of static type checking. A novelty of this system is that it involves non-trivial equivalences among types, arising from a law of distributivity for records and unions: a value may be introduced with one type (e.g., a record containing a union) and used at another type (a union of records). We describe programming and query language constructs for dealing with such types, prove the soundness of the type system, and develop algorithms for subtyping and typechecking.