A model for document databases - Salminen, Airi (1989)
This study presents a method for prototyping document and document database systems. We will first develop a technique for specifying abstract data types of data systems, where a "data system" is assumed to consist of some formal language and a set of types. Then we will use the technique to specify the types needed in document systems. The specification defines a collection of objects and operations considered to be the most important in every document system. This document model is then extended by defining a set of types by which a collection of documents can be handled as a document database. The extended specification is a model for document databases. The specification is written in Prolog and is therefore executable. A designer can further extend this Prolog program by adding new types and operations, and thus develop an executable specification for some specific application or some specific environment. The extended program is a prototype of a document or document database system, and can be used to study the user requirements of the system. The document database model is an extension of the document model, which in turn is an extension of a hierarchical data model. A document is an ordered tree of parts in which each part has a unique "address". A document database can be seen as an ordered tree of directories and documents, and as an ordered tree of parts. In a document database, directories, documents and parts have unique addresses, and constraints on documents can be defined. The model contains a type called "link" for handling addresses and a type called "trail" for handling ordered collections of addresses. Links and trails can also appear as parts of documents and they can be used to create a network. In reading a document, the tree structure or links created by the author of the document can be followed, or the readers can specify their own trails. Thus, the model allows the specification of traveling capabilities typically found in hypertext systems. Moreover, powerful query and manipulation facilities can be specified.