Neuroscholar is a knowledge management software application for the neuroscientific community. It strives to provide a general framework for knowledge management and knowledge engineering. The system functions on the Windows, Mac OS X and Linux platforms and is being used by members of the Watts laboratory to store and annotate primary research data in conjunction with information from the literature. The system has been downloaded over 500 times since its latest release in OCtober 2005 (see here for more detailed statistics).
The appearance of the interface is shown in the figure below, illustrating the basic layout. There are two main panels, one on the left-hand side showing individual ‘views’ as interconnected nodes in a graph and the other on the right-hand side showing the attributes and detailed substructure of a specific view in a form. The left-hand panel may be turned off. The right hand panel shows a sample breakdown of the contents of a prototype knowledge base. The system has been designed to resemble a web browser, since most neuroscientists are familiar with that technology.
Figure 1. Start Screen for NeuroScholar system
The left hand panel has two panes, the ‘definition’ pane which shows the schema of the system, and the ‘instance’ pane which displays the contents of the Knowledge Base (KB). When a view is retrieved and loaded into the system, its node and neighbors are displayed in the instance pane. Both graphs are dynamic and modifiable, and use the TouchGraph library.
Navigating through either the schema or the contents of the KB is simply then a matter of double-clicking nodes in their respective panels. This also provides a versatile interface for users to interact with the KB, since, by right-clicking on nodes, users expose functionality such as inserting new data of a specified type, summoning a query form, displaying a specific instance, listing views linked to a specific instance or (importantly) inserting a view that is dependent on another view. With complex schema, the organization of the definition and instance graphs can become cluttered and so the visibility of definitions or instances can be turned off.
As shown in Figure above, the ‘Knowledge Statement’ view is central within NeuroScholar’s schema. This view and its children provides our basic representation of scientific observations and interpretations of the world. It supports several different child views that each represents an assertion. This includes statements derived from a source external to NeuroScholar (Fragment views), internal statements describing an experiment (Experiment views, not shown) and internal statements describing a model or an interpretation (Model views, also not shown). Each of these views has children that represent specific types of Fragment, Experiment and Model.
NeuroScholar is built on the View-Primitive-Data-Model framework and has 8 different knowledge base designs (available for download from here). Additional features include the 'proxy' and 'plugin' frameworks. The proxy framework provides external applications access to NeuroScholar's API so that they can use the systems persistence mechanisms. The plugin framework allows the that permit the development of
Figure 2. Organization of the NeuroScholar platform for neuroinformatics development
The reliability of the system has been greatly improved by the development of an extensive testing framework based on JUnit (http://www.junit.org/). This iterates through every single database function (insert, delete, edit, query, list, etc) for every single view and reports any failures.
- Improvements to the Knowledge Representation approach (incorporation with Semantic Web).
- A web-interface so that the knowledge base can be viewed via a browser.
- General software-architectural improvements
Demos, Downloads and Documentation
The Neuroscholar demo can be accessed here.
Movies featuring the use of NeuroScholar can be found here.