A Moose and a Fox Can Aid Scientists with Data Management Problems
Fox (Finding Objects of eXperiments) is the declarative query language for Moose (Modeling Objects Of Scientific Experiments), an object-oriented data model at the core of a scientific experiment management system (EMS) being developed at Wisconsin. The goal of the EMS is to support scientists in managing their experimental studies and the data that are generated from them. Moose is unique among object-oriented data models in permitting sets to have relationships to classes other than their elements' class, in providing a construct for indexing collections by other collections, such as time series, and in distinguishing structural relationships from non-structural ones. Fox contains several new features necessary to manage experiments, such as support for associative element retrieval from (indexed) sets and highly expressive path expressions. Fox path expressions can traverse any relationship in the schema graph, including inheritance relationships, and in either direction of the relationship, which makes many queries more concise. Fox also supports a new form of deep equality based on structural information and a new, concise, description of periodic data, e.g., time series. Finally, Fox offers the only object-oriented bulk-loading facility of which we are aware, for loading data from a file.