Project to produce RDF output for some NCBI E-utilities
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore Service

NCBI E-utilities, as a RESTful API, and providing RDF for the Semantic Web.

This service is deployed as a proof-of-concept to

Documentation, including instructions on how to use the service, is on the site itself. This README page describes implementation and deployment details.

This project is registered with BioPortal here.

To do

See GitHub issues.


Download the eXist database server.

Run the installer:

java -jar eXist-db-setup-2.1-rev18721.jar

Accept all the defaults.

Change to the webapp directory under the eXist installation, and then clone this repo:

cd *exist-install-dir*/webapp
git clone

Start the server:

cd *exist-install-dir*

Point your browser at http://localhost:8080/exist/eutils-org/app/.

Outstanding API design issues

  • All of the WebEnv/query_key stuff has been left out. We can do that later if we want.
  • Also left out epost
  • For queries that would result in URLs longer than 2k, use the "POST/Create/Redirect" pattern
  • Interaction with user's query history
  • EPOST equivalent
  • Handling resources with > 1 object type (like dbGaP)
  • Is search technology an implementation detail? (rather than /entrez, maybe /data/gene/?term=cat&search=entrez|solr, etc.)

Anatomy of the app

The application is designed to be deployed under the eXist database, and is written in XQuery and XSLT.

The main controller is controller.xql, and uses features of eXist described in the documentation, URL Rewriting and MVC Framework.



There is a paper that describes the first incarnation of the service, the rationale behind it, and details about how it worked: EutilsRDF Web Service: an RDF interface to NCBI Entrez Utilities.