Stack Overflow Roundup: Neo4j (More 3.0, More Bolt, and Some Common Questions)
This week's SO roundup for Neo4j shows a continuing trend. We also have a look at some fundamental questions.
Join the DZone community and get the full member experience.
Join For FreeIt's time for our weekly roundup of what's going on in the world of Neo4j on Stack Overflow.
As we saw last week, the latest, major Neo4j release, 3.0, is fresh in the minds of graph database users. Included in that release was the much-awaited Bolt driver which promises a massive performance boost in dealing with Neo4j databases.
This week continues that trend with more questions about Neo4j 3.0 and especially about Bolt. I see this trend continuing on for some time to come so don't be surprised if those particular questions appear rather frequently in the coming weeks and months.
We can also see several questions concerning paths and other Cypher-specific questions, but this week I've picked out some questions that are a little more unique.
Neo4j 3.0 and Bolt
How do you determine a Record value's type when using the Neo4j 3.x BOLT driver? Two excellent answers are given to this question, including one that will future-proof your code.
General SSLEngine error in Neo4j. This little doozy happens not in 3.0.0 but 3.0.1. If you've experienced this before using the Java driver, you've likely run into this bug.
Neo4j 3.0.0 + SPATIAL in Cypher. While Neo4j rolled in spatial querying capabilities some time ago, Cypher does not yet make use of any spatial indices. Be on the lookout for that capability sometime in the near future.
Implementation
It can be easy to forget that Neo4j is actually open sourced. Have a question about how something is implemented? With a little time and patience, you can often uncover the answer you're looking for.
Implementation of toInt in neo4j asks such a question, and as can be seen in the answer which cites the code from the implementation, values that exceed an integer's range will automatically be cast to a long.
Operations
neo4j in subfolder behind nginx reverse proxy. It is rather common these days to run a reverse proxy in front of application and database servers. How do we accomplish this with NGINX, one of the most popular reverse proxies available? How do we ensure that the Neo4j server will respect any path segments/prefixes?
How to encrypt Neo4j Database. While Neo4j does not currently have any built-in encryption, it is possible to use an encrypted file system as something of a workaround.
Architectural
Neo4J backed by MongoDB or just Neo4J? I've frequently asked this question myself: "I have a lot of data that needs to be stored in addition to their relationships. Should I stick everything in the graph or should I have references into a document store from the graph?"
While there are a few schools of thought on this, the answer given in the Stack Overflow link above is about as succinct as they come. I strongly suggest having a look at it as the answer provides some excellent guidelines for your planning.
Opinions expressed by DZone contributors are their own.
Comments