TitleBodyTechnical Expertise RequiredCostAdditional Information
Enterprise Architect

Enterprise Architect is a modeling, visualization, and design platform. It can be used in software design, data modeling, and database design and is useful for creating and analyzing UML diagrams. It has a built-in data modeling profile that extends UML to provide a mapping from the database concepts of tables and relationships onto the UML concepts of classes and associations. Enterprise Architect supports modeling of database schema for many popular relational database management systems (RDBMS). It can be used to capture and trace formal requirements for designing, building, and deploying software and databases. Enterprise Architect also supports generation and reverse engineering of source code for a variety of programming languages. It has a built-in source code editor that lets you navigate from a visual model to source code in the same interface.

No programmingCost-basis

eXist is an open source database management system built on XML (extensible markup language) technology. eXist stores information (data or metadata) encoded in XML. The database is queried using XQuery (XML query language), and follows many other W3C XML standards, including XPath and XSLT.

eXist includes a query editor and debugger. There is a large library of example data, code and applications that can be adapted.

eXist typically runs as a Java web application under Tomcat, and also comes with a desktop application which is useful for uploading documents in batch-mode.

Mercury metadata search & data retrieval

Mercury is a web-based system to search for metadata and retrieve associated data. Mercury provides a single portal to information contained in disparate data management systems. It collects metadata and key data from contributing project servers distributed around the world and builds a centralized index. The Mercury search interfaces then allow the users to perform simple, fielded, spatial and temporal searches across these metadata sources. Mercury supports various metadata standards including XML, Z39.50, FGDC, Dublin-Core, Darwin-Core, EML, and ISO-19115.

  • ORNL DAAC: http://mercury.ornl.gov/ornldaac/
  • NBII: http://mercury.ornl.gov/nbii

Metacat is a flexible, open source metadata catalog and data repository that targets scientific data, particularly from ecology and environmental science. Metacat accepts XML as a common syntax for representing the large number of metadata content standards that are relevant to ecology and other sciences. Thus, Metacat is a generic XML database that allows storage, query, and retrieval of arbitrary XML documents without prior knowledge of the XML schema.

Metacat is designed and implemented as a Java servlet application that utilizes a relational database management system to store XML and associated meta-level information. Installation of Metacat recommends the use of Apache Tomcat for servlet management and PostgreSQL as the underlying RDBMS, although other configurations are possible. Metacat provides a rich client Application Programming Interface (API) and supports a variety of languages, including Java, Python, and Perl.

Metacat is being used extensively throughout the world to manage environmental data. It is a key infrastructure component for the NCEAS data catalog, the Knowledge Network for Biocomplexity (KNB) data catalog, and for the DataONE system, among others.

Basic programming skillsFree
  • Berkley, C., M. Jones, J. Bojilova, and D. Higgins, 2001. Metacat: A schema-independent XML database system. 13th Intl. Conference on Scientific and Statistical Database Management: 171.
  • Jones, M.B., C. Berkley, J. Bojilova, M. Schildhauer, 2001. Managing scientific metadata, IEEE Internet Computing 5(5): 59-68.
  • Metacat Administrator's Guide (http://knb.ecoinformatics.org/software/dist/MetacatAdministratorGuide.pdf)

Oxygen is a XML editor that provides XML document validation and includes a SVN client for collaboration and a text editor, the Oxygen Author. It supports all XML technologies, including editors for XSLT, XPath, XQuery, and XML schema and DTDs. It provides intelligent XML editing with autocomplete features and content sensitive XML assistance. Management support for relational databases and native XML databases is provided. Oxygen can be used as a standalone application, or as a plugin for Eclipse or Java Webstart application. This is a commercial application, however it is offered for free to non-profit entities working in certain domains, including Ecology, through their 'Support Life' program.

Basic programming skillsCost-basis

Wikipedia: http://en.wikipedia.org/wiki/Oxygen_XML_Editor


Protege is an open source ontology editor. An ontology is similar to a taxonomy in that it presents a controlled vocabulary for a given area of knowledge. However the relationships between the different objects can be far more complex and richly described.

It allows users to create ontologies in both the Frames and Web Ontology Language (OWL) frameworks. Protege allows users to

  • Import, edit and save existing ontologies written in OWL or RDF (Resource Definition Framework).
  • Create new ontologies.
  • Save ontologies in several formats, including XML expressions of RDF and OWL
  • Visualize ontologies in graphical form, showing the functional relationships between classes.
  • Populate ontologies with concrete instances of classes.
  • Execute reasoners that can perform inferences on an ontology (i.e. classify instances based on their properties)

Intended audience: Protege is designed for those in the field of ontology and knowledge modeling, since some degree of knowledge about the underlying axioms is nearly always required. Some plugins area available that shield a user from these to some degree.

For working scientists, the most useful plugins and views will be those that present complex knowledge models graphically. In addition, it might might be helpful for those wishing to use the RDF/XML expression of Dublin Core to annotate their data with metadata. There are numerous plugins written by other projects. There are many thousands of registered users and a wiki.

Protege can be used to edit simpler vocabulary systems such as Simple Knowledge Organization Schema (SKOS), but generally, its power is overkill for this use.

No programmingFree

An ontology is a formal reprentation of concepts in a discipline, and the relationships between them. It is used to reason about the entities in that disipline. Ontologies are the structural frameworks for organizing information and, in the realm of data publication, are the basis of the "semantic web".
An introduction to ontology can be found at: http://protege.stanford.edu/publications/ontology_development/ontology10...

Web Accessible Folder (WAF) Tools

A collection of Extensible Stylesheet Language Transformations (XSLT) for transforming between various metadata standards and views, and a tool for applying those transforms to metadata records stored in Web Accessible Folders (WAF, https://geo-ide.noaa.gov/wiki/index.php?title=Web_Accessible_Folder). The focus is on translating FGDC metadata to ISO and on translating that ISO into various other standards and views.

No programmingFree

People wishing to use their own XSLT transformations can contact information managers at NOAA's Global Earth Observation - Integrated Data Environment (GEO-IDE) Initiative about loading them on the website.


XMLSpy is an advanced XML editor for modeling, editing, transforming, and debugging XML-related technologies. XMLSpy allows developers to create XML-based and Web services applications using technologies such as XML, XML Schema, XSLT, XPath, XQuery, WSDL, and SOAP. XMLSpy is also available as a plug-in for Microsoft Visual Studio and Eclipse.

No programmingCost-basis