Developing applications based on a radically new database architecture such as the Neo4j graph data model requires many different things. For sure, you will hit issues here and there, and at that point in time, you want to be able to find the right information quickly and efficiently. In this appendix, we will provide you with a short overview of potential information sources that could help you in this quest and give you a few pointers to useful information sources, quickly.
You're reading from Learning Neo4j
The primary source of information for Neo4j is, of course, the online body of reference. Some of the most important parts of the Internet that could be of interest for you when getting started with Neo4j will be discussed next.
The Google forum at https://groups.google.com/group/neo4j is a great place to ask questions, discuss experiences, and connect with other users of Neo4j. Because it leverages the Google search capabilities, it tends to be a great place for people to start looking for real-world experiences and advice.
If or when you are looking for specific technical help or assistance, please consider asking a question on Stack Overflow. This is where you can get technical questions answered, either by the Community Management staff of Neo Technology or other volunteering contributors in the Neo4j community. Every question should have a neo4j
tag, and then all of these questions and answers can be easily accessed by navigating to http://stackoverflow.com/questions/tagged/neo4j.
For quite some time, the website of the Neo4j community, www.neo4j.org, has been a great resource with easily accessible information about the product, development practices, learning resources, and many other pieces of information. At the time of writing this, the website was about to be significantly redesigned.
At the time of writing of this chapter, Neo Technology was in the process of recreating a new website at www.neo4j.com, which would restructure and make information more accessible for a variety of audiences and give it a more pleasing look and feel. This process would include and merge both community and commercial resources, for both technical and more business-oriented contacts that want to inform themselves on Neo4j.
Many of the Neo4j developers and community members are fervent sharers of information, and much of what they write ends up on the Neo4j Blog. You can access the blog on the newly added blogging section of Neo4j at http://neo4j.com/blog/.
Since summer of 2013, Neo4j community members have started to share and publish some of their graph database models and use cases using a GraphGist. GraphGists use plain text files (formatted in AsciiDoc) available from any public URL (for example, GitHub gists) to create interactive, dynamically rendered graph examples and queries that are evaluated by a Neo4j infrastructure in the background. It allows great documentation and explanation of Neo4j models in an easily understandable way. Visit http://gist.neo4j.org/ for many well-written examples of graph database use cases—there are a lot of them available on the website.
Like many query languages, many users of it want and need to switch back to some kind of a reference for creating, maintaining, and/or troubleshooting specific kinds of queries. Cypher, the Neo4j declarative query language, therefore provides a handy reference page / card that many people turn to for occasional references. Visit http://docs.neo4j.org/ for the most recent version (at the time of writing this, http://docs.neo4j.org/refcard/2.1.2/ is the current one). You can always change the last digits to correspond to the presently generally available version of Neo4j.
We will be including more information on Cypher in Appendix B, Getting Started with Cypher.
There are a number of interesting books on the market today that could provide good follow-up reading, now that you have almost finished Learning Neo4j. A few books to highlight are as follows:
Another good book that specifically covers the Cypher query language is Learning Cypher by Packt Publishing (http://www.packtpub.com/learning-cypher/book).
The O'Reilly book by Jim Webber, Ian Robinson, and Emil Eifrem. This book has been free to download at www.graphdatabases.com for a while, and still provides a good bit of detailed technical information.
A book by OpenCredo's CEO Jonas Parter, published by Manning, Neo4j in Action (http://www.manning.com/partner/).
A book by Michael Hunger and David Montag, published at InfoQ, Good Relationships (http://neo4j.com/books/good-relationships/).
No doubt there are other useful publications, but this should give you a good starting point.
The Neo4j ecosystem, with Neo Technology as its more prominent supporter, organizes and participates in a very large number of events. You can find an overview of these events at http://neo4j.com/events, but there are a couple of event types that deserve a bit of additional attention and a separate mention.
Most of the Neo4j community events are organized and administered through the Meetup website. You can find most groups quite easily at http://neo4j.meetup.com/ or by searching for it on the main website (www.meetup.com). Many of the meetups also have a standardized URL that should be something like www.meetup.com/graphdb-<your_city_name>
.
Since 2012, Neo Technology has been organizing an industry-wide conference called GraphConnect. In 2014, the conference will be hosted in San Francisco, and the current plan is to have a European conference in London early 2015. For the past few editions, it has attracted hundreds of graph databases users and enthusiasts (www.graphconnect.com).
Neo Technology attends a lot of interesting conferences around the world. You can find the most recent list of events at http://neo4j.com/events/#/events?area=World&type=Conference for more information.
As more and more people start to deploy the Neo4j graph Database Management System, the need for building and managing the relevant competencies within the adopting enterprises will rise. Neo Technology has therefore started to provide different kinds of training that offer affordable and thorough possibilities for the users. You will find two types of training:
Classroom training: These are available in many cities around the world. You can find an overview at http://neo4j.com/events/#/events?area=World&type=Training.
Online training: Neo Technology started to offer online course material, for free, since early 2014. Given the success of the first training, it is very likely that additional courses will follow throughout the year. Visit http://www.neo4j.org/learn/online_course for the entry-level course as a starting point.
As Neo Technology is the commercial backers of the Neo4j graph Database Management System, you can often also get very useful input from the friendly folds at Neo Technology. They try to help you whenever possible, and you can often benefit most if you reach out to them earlier rather than later. You can use the contact form at http://www.neotechnology.com/contact-us-form/ to do so, or send an e-mail to <info@neotechnology.com>
.
Neo Technology is also building a partner network with integrators and consultancy organizations that have expertise and an active interest in the Neo4j graph Database Management System. You can find the list of partners at http://www.neotechnology.com/partners/, but given the fact that this list is rapidly changing and growing at the time of writing this, you would probably get a more accurate view of the current landscape by contacting Neo Technology themselves and letting them help you find the appropriate partner.