Declarative Queries. Damasc couples the common logical data
model with a language that enables applications to extract and update
data in files. The language is declarative, i.e., an expression in
this language describes what data to retrieve or update, but not how
to do so; the actual evaluation and optimization of the expression is
left to the file system, and specifically to the Query Executor module.
Declarative querying is a staple feature of database systems
that has proven crucial for the management of large data sets.
More concretely, we envision a language that comprises algebraic
operators. The input and output of an operator is in the semistructured
logical model that we described earlier. As an example,
a path access operator will take as input the semi-structured representation
of a file and output the parts that correspond to a specific