Hosting a public (read only) Neo4j instance in the

2019-04-11 19:40发布

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:

Here are additional considerations:

  1. Cloud hosting: we want to host this in the cloud so it's always available. It looks like AWS would be the cheapest option?
  2. 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?
  3. 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.

标签: neo4j cloud
2条回答
贪生不怕死
2楼-- · 2019-04-11 20:13

Thanks @michael-hunger for setting us on the right track. We're now publicly hosting Hetionet v1.0 at https://neo4j.het.io.

In short, we used Docker and host the instance on a DigitalOcean Droplet. Here is a longer discussion with more details. You can also check out our Docker setup and modified neo4j.conf.

Thus far we haven't run into any security or scaling issues. If we do, we'll add those to discussion mentioned above.

查看更多
爷、活的狠高调
3楼-- · 2019-04-11 20:25

your ideas all make sense.

You can create a browser-guide for your dataset, e.g. from your graphgist, similar to :play http://guides.neo4j.com/graphgists

With this repo you can turn asciidoc (like graphgists) into browser guides: https://github.com/jexp/neo4j-guides

Rik did some blog posts on it: http://blog.bruggen.com/2016/03/an-easier-better-tastier-beergraphguide.html

Since 3.0.1, there are even some means to add a form, whose content is then used in the queries.

You have to enable the browser guide in the whitelist in conf/neo4j.conf

browser.remote_content_hostname_whitelist=http://host:port

Since Neo4j 3.0.1 you can setup the browser with an :play URL for your users:

http://host:7474/browser?cmd=play&arg=http://host:port/path/to/guide.html

Regarding Docker, my colleague Ryan just published a docker image for the panama papers that is based on their published database: https://github.com/ryguyrg/panama-neo4j

PS: Feel also free to reach out to me via email michael at neo4j

查看更多
登录 后发表回答