I'm working on a open science project to learn why drugs work. We've created a network called Hetionet with 47,031 nodes and 2,250,197 relationships. We're using Neo4j and have a GraphGist tutorial showcasing our approch.
I'd like to let anyone interact with our network. The Neo4j Browser offers the flexibility we want with a nice user interface. So I was thinking a solution would be to setup a public Neo4j 3.0 Community server with the settings:
dbms.security.auth_enabled=false
to disable logindbms.read_only=true
to prevent write queries- setting the Execution Guard to limit query runtime
Here are additional considerations:
- Cloud hosting: we want to host this in the cloud so it's always available. It looks like AWS would be the cheapest option?
- Reproducibility: it would be nice if we could make the configuration reproducible and easy to redeploy. Docker for Neo4j that downloads the database from GitHub?
- A killer feature would be linking to or embedding a browser with a prefilled query (see this unresolved question).
So my question is:
- Will there be any problems that prevent hosting a public Neo4j instance?
- Am I on the right track with AWS/Docker?
- Will the setup break under concurrent usage? Let's assume we'll have at most 30 browsers open at once with no more than a few concurrent queries.
Additional notes:
- See related questions one and two.
- The Twitter graph demo gives similar functionality but creates a new instance for every user.