BrainML is a set of standards and practices for using XML to facilitate
information exchange between user application software and neuroscience data
repositories. It allows for common shared library routines to handle most of
the data processing, but also supports use of structures specialized to the
needs of particular neuroscience communities.
BrainML also enables the sharing of data structures. There is no reason for
different groups to invent their own annotated representations for time series
data, for example, if there are no technical differences in the information
they wish to store. In practice, however, there are a variety of technical
and social barriers to sharing formats, which BrainML is designed to reduce.
BrainML models are defined as collections of components. The components are
published to a central location on the web (currently, this site) and may be
easily viewed in order to determine their suitability for use in other
applications. If a match is found, BrainML provides a mechanism for
incorporating an existing component into the definition of a new model. This
reduces the work needed to define a new data model, and provides the chance
for software developed to handle data from one model to work with data from
another to the extent that structures are shared.
To complement the BrainML modeling language, a set
of protocols have been
developed for BrainML document exchange between repositories and clients, for
indexing of repositories, and for data query..
Neurodatabase.org is a repository of
neurophysiology data based on BrainML models and protocols. The software
running this server is 100% automatically customized to the data model -- none
of its code is written specifically for the data representation it uses.
In the near future (fall, 2006), this software will be released open-source as
a Neurodatabase
Construction Kit for building neuroscience data servers that are
BrainML-aware. This framework, written in Java, will include:
- On the server side, a neurodatabase repository capable of accepting
data submissions through a web interface, storing the contents in a
relational database, and providing a web-based search-and-download
interface for accessing the data.
- On the client side, a graphical application for both searching for,
retrieving, and viewing data from a repository.
- On the client side, a graphical application for submitting data to a
repository.
In addition the software will provide facilities for reading and writing data
as XML documents conforming to BrainML models. Such documents may be
submitted to repositories and/or read by other BrainML-aware software. In
addition, tools for interconverting between this format and the file formats
used by popular neurophysiology analysis and acquisition software are being
developed in collaboration with the Bruxton
Corporation.
Please click on the Architecture and About this Site links
at left for more information.