First of all, I want to say how happy I am to be part of such a great community around Neo4j.
What makes the Neo4j community so impressive is not just the fact that many users apply graphs in so different contexts, but especially the supporters of the community who help you and us by jumping in, answering questions, offering advice and solving problems.
People like Wes Freeman, Luanne Misquitta, Johannes Mockenhaupt, Nicholas Stuart, Aravind Yarram, Jonatan Jäderberg, Lisa Li, Ulkas, Tatham Oddie, Nigel Small and all the others really make the difference and we are very thankful for that.
And so can you! It is really the small gestures that create a community. Imagine you've just been helped with a tricky problem, and a new question pops up that you already know the answer for. Then it is a quick thing for you to share your advice and help the next poster to become successful with Neo4j too.
And no one has to overdo it. Once a week is great. If enough people do that it will be a huge help for everyone.
Doing so on Stackoverflow is even more rewarding, besides getting the rare Neo4j badges. You will grow your experience with Neo4j, it will show publicly and this could be an important aspect for your CV. If you are with a Neo4j partner, having strong Neo4j skills makes it more likely for customers to contract you.
A great way of getting started is to just follow @neoquestions (courtesy Wes Freeman) which tweets StackOverflow questions about Neo4j.
Another great variant that Mark, Max and Stefan use quite often, is just to blog about the things you’ve learned. Whenever you learned something new or solved a problem, write a quick blog post about it. Then google will always find it for you (and others) if you ever encounter it again. And after a posting make sure to tweet it out, tagged #neo4j, so that we can help promoting it.
We really love to support you in a timely and exhaustive manner. But the rising popularity of Neo4j also leads to a steep increase in questions on both channels, answering which take more and more time of our long days.
That's why we wanted to make sure that the expectations you have for Community Support are aligned with what we can deliver.
Community support is a free offering with no guarantees or promises. We can't promise to solve your question or answer in a reasonable time. We will also not be able to do one-to-one conversations, all questions and answers have to be in public, so that everyone benefits.
We also can't support you through through proof-of-concept implementations that are more involved or complex modeling questions.
Where should I ask what?
- The Google Group is more of a discussion forum about features, graph modeling and generally applicable questions about Neo4j and projects around it.
- For real bugs please raise a GitHub issue.
If you have need for dedicated, commercial support around Neo4j don't hesitate to ask for it. Our local partners and also our sales-team is happy to provide you with focused attention and guaranteed response time for your challenges. We also offer consulting and on-site workshops. Some of our helpful community members also offer one-to-one time on services like Wes.
To help you efficiently, you have to help us as well. If you submit a Neo4j question to StackOverflow or the Google Group, make sure it has all the information needed to analyse it and make sensible suggestions:
- you have searched for your problem before asking on Google, StackOverflow, GitHub issues or the Google Group
- to reproduce your issues with the latest stable versions of Neo4j, perhaps it has already been resolved, and is not a problem anymore
- all the version information available on Neo4j, Java, OS, any libraries or tools you use
- you can provide a good explanation and picture of your graph model, including number of nodes, types, relationships per type, etc.
- you provide the usual log-files which contain a lot of diagnostics information: /path/to/neo/data/graph.db/messages.log and /path/to/neo/data/log/console.log
- You provide enough information about the code you use to recreate the situation at hand: source code, test-projects with unit-tests (preferred), Cypher queries, configuration, REST-calls
- your Cypher queries are easily understandable with sensible variable names and well formatted
If your database doesn't contain sensitive data, it helps a lot to zip it up and make it available on DropBox or GoogleDrive.
So thanks again for being such a great community, let’s rock it together!
Michael for the Neo4j Team