on Feb 28, 2014 in cypher
If you want to delete lots of data from a Neo4j database with Cypher
Just stop the server and delete the directory and start again
Fastest way with no leftovers, just delete db/data/graph.db and you’re done.
Cypher Statement before 2.1
“Unknown Error” or OutOfMemoryException is a symptom that your transaction size gets too big and consumes too much memory.
on Feb 27, 2014 in cypher
State of the Cypher UNION
Neo4j 2.0 introduced the UNION (ALL) clause which can join the results of 2 or more complete statements into a single result. Each of the statements is fully formed, it can contain result projection, pagination and
You need to have the same amount and names of columns to be joined in an [...]
on Feb 18, 2014 in code
The transactional http endpoint that was added to Neo4j 2.0 is really easy to use.
You can stream batches of cypher statements with their parameters to the server and receive the answers in a streaming fashion too.
function cypher(query,params,cb) [...]
on Feb 18, 2014 in code
Accessing your beloved Neo4j-Shell via RMI works ok on localhost or in your intranet. But over the internet you don’t really want to expose RMI ports.
So most installations of Neo4j, e.g. on EC2 use basic auth as simplest security measure.
Also the Neo4j hosting providers like GrapheneDB.com or GraphHost.com offer basic auth by default to “secure” [...]
on Feb 17, 2014 in code
Sometimes when you work with the Neo4j community you get a database handed that you don’t know anything about.
Then it is handy to get an idea what’s in there. Which kinds of node-labels are used, what relationship-types connect these nodes and which properties are floating around.
Usually all those answers are just a Cypher Statement away:
on May 25, 2013 in development
Being able to run interesting queries against a graph database like Neo4j requires the data to be in there in the first place. As many users have questions in this area, I thought a series on importing data into Neo4j would be helpful to get started. This series covers both importing small and moderate data [...]
Writing an Neo4j 2.0 Schema Index Provider for MapDB
Neo4j 2.0 introduced the concept of real automatic indexes with a new underlying indexing subsystem SPI. So I thought it would be really helpful to try it out and provide a faster indexing implementation than the default lucene one. I chose MapDB for it and the results [...]
With the addition of node labels, the property graph model that is the foundation of Neo4j was changed for the first. It has been already thirteen years, since the founders (Emil, Johan and Peter) sketched the original property graph model over some beers.
With the new node-label feature you can assign any number of types from [...]
on Oct 27, 2012 in code
As massive data insertion performance has bothered me for a while, I made it the subject of my last lab days (20% time) at Neo4j. The results of my work are available on GitHub and I explain the approach below.
Data Insertion issues
When getting started with a new database like the graph database Neo4j it is [...]