Using Nginx to proxy a Neo4j instance

There are cases when you want to access your Neo4j instance remotely and you live in an environment where direct access is not possible. This might be caused by technical or organizational restrictions. One generic solution to this kind of problems is using a VPN. Another alternative to be discussed in this blog post is […]

running Neo4j 3.2 with APOC in Docker

Neo4j 3.2.0 was released last week at GraphConnect Europe. Among lots of cool new features, unfortunately it has one new “feature” making life of APOC users little bit harder, esp. if you run Neo4j from docker.  Background Since 3.0 you can enrich Cypher with your own stored procedures. Those are written in Java (or any other […]

WiFi at Deutsche Bahn + Ubuntu + Docker == trouble

Recently Deutsche Bahn started wifi for everyone travelling with a ICE. So far I had trips where it just worked great, on other trips I could not even connect – not on mobile phone nor on my laptop. Today it was different We have great signal strength, wifi on my phone works like a charm. […]

Integrate Neo4j with Apache Zeppelin

This autumn I’ve attended couple of conferences. It’s always interesting to learn about new tools popping up. One that took my attention is Apache Zeppelin. Zeppelin is a notebook style application focussing on data analytics. I’ll show in this article how Zeppelin can be used to access data residing in your favourite graph database Neo4j.

quick hint: neo4j backup via ssh

Neo4j Enterprise edition ships with a feature to take consistent backups while the database is up and running. Using config option dbms.backup.address you can expose the port to the outside. However that port should not be exposed to public networks for two reasons. First the backup is transferred unencrypted and second no authentication is used. […]

`LOAD CSV` without csv – introducing neo4j-csv-firehose

This blog post quickly introduces one of my side projects called neo4j-csv-firehose. The goal is to enrich Cypher’s great LOAD CSV command by adding support for non-csv datasources. For now there’s the capability to use jdbc datasources. In future other sources might be added – think of json, xml, … It features three deployment modes: […]

Neo4j cluster and firewalls

This article summarizes the required and optional communication channels for a Neo4j enterprise cluster and provides some sample rules. For the firewall rules I’m using Ubuntu’s ufw package. As a sample setup we assume the following servers. All of them have 2 network interfaces, eth0 is for communication with outside world, eth1 is for cluster […]

neo4j and haproxy: some best practices and tricks

TL;DR The goal of that blog post is to provide a reasonable haproxy configuration suitable for most neo4j clusters. It covers the Neo4j specific needs (authentication, stickyness, request routing) suitable for typically deployments. Some words for introduction When running a Neo4j cluster you typically want to front it with a load balancer. The load balancer […]

Cypher fun: finding the position of an element in an array

At a onsite workshop with a new potential customer in wonderful Zurich I was challenged with a requirement I’ve never had in the last few years with Cypher. Since I cannot disclose any details of the use case or the data used let’s create an artificial example with a similar structure: a restaurant has several rooms each […]