The Lore project was declared a success in the year 2000 and is now pretty much out of business. These pages represent a snapshot of the project at some time in the past. We hold no responsibility for the currency (or lack thereof) of their content.
Disclaimer: This page was created in 1998-99. It's quite out of date and getting even more so with every passing day.

Data Models

While Lore currently supports XML, it was originally designed to support a nested-object model called the Object Exchange Model (OEM). In OEM, each object is either atomic (such as an integer, string, or image) or complex. A complex object consists of a collection of labeled subobjects. Thus, an OEM object can be thought of as a rooted graph, with objects as nodes and labeled edges representing object-subobject relationships. In contrast, XML supports both attributes and tagged subobjects. Still, the models are similar enough that few modifications were required to support XML.

Other models similar to XML and OEM are used for specific languages and systems, described below. The common theme for all such models is that structure and data are mixed into one simple format, rather than requiring a formal separation between the two (as in relational or object-oriented systems).

Systems and Languages

Researchers at the University of Pennsylvania have proposed UnQL as a language for querying semistructured data. While more powerful than Lorel, it may be more difficult to use for novice users. See the PostScript paper A Query Language and Optimization Techniques for Unstructured Data.

Researchers from AT&T and the University of Washington have developed Strudel, a system for Web site management based on storing and querying semistructured data. Its associated query language is StruQL. Since the system is geared toward managing and generating Web sites, the language focuses on specifying Web site content and structure based on underlying graph-structured data.

AT&T Research has also defined a language for querying XML documents called XML-QL.

ACeDB is a system for managing and querying hierarchical, tagged data. It is popular for biological databases. ACeDB's query language has a more ad-hoc design than Lorel or UnQL but indeed is very useful, as shown by the significant number of online ACeDB systems worldwide.

Industry Developments

Software leaders anticipate that the simplicity and flexibility of XML will make it the universal medium for data exchange for distributed applications. Whitepapers from Microsoft and Object Design articulate this vision.