|DBNotes is currently
a relational database system where every column of every tuple
in every relation can be associated with zero or more annotations.
The annotations are automatically propagated along as data
is being transformed through a query. In the default behavior,
DBNotes propagate annotations based on where data is copied
from. As a consequence, if every column of every tuple in
a database is annotated with its address, the provenance (aka
lineage) of data is propagated along as data is being transformed.
In general, an annotation can also be a comment about data
such as its correctness, quality or sensitivity. As these
comments are carried along data transformations, they give
a sense of the quality or sensitivity of the resulting database
that is generated by the transformation. Currently, DBNotes
supports the propagation of annotations through an extension
of a fragment of SQL. The extension, called pSQL, allows
annotations to be propagated under the default scheme (according
to where data is copied from), the default-all scheme (according
to where data is copied from according to all equivalent queries)
and the custom propagation scheme where users get to specify
exactly how they want the annotations to be propagated.The
initial idea of propagating annotations through queries came
from a joint work with Peter Buneman and Sanjeev Khanna. (See publication.)
Acknowledgements This work is supported in part by NSF CAREER Award IIS-0347065 and NSF grant IIS-0430994.