InterMine is an open source data warehouse which is used to store complex biological data. It is currently using PostgreSQL as the database. This project aims to develop a prototype of InterMine which is based on Neo4j, a graph database.
- Adapt the existing XML model to represent the nodes, relationships and their properties in Neo4j.
- Develop a module for generating a schema as per the existing data in Neo4j and store it in the database itself. Also, expose an API to query the schema/metadata.
- Develop a module which can take Path Query XML as input and can generate equivalent Cypher which can be queried against the InterMine Neo4j graph.
- Develop a RESTful API based on JAX RS to expose the query service. Document the API using Swagger.