Splashcon 2012: A Programmatic Introduction to Neo4j
“Wavefront” workshop: A Programmatic Introduction to Neo4j
with Jim Webber, Chief Scientist, Neo Technology
Sunday, Oct 21, 2012
Splashcon 2012 is running a number of “Wavefront” workshops designed to bring together researchers and practitioners for hands-on workshops relevant to industrial practitioners and academics interested in learning new and interesting yet well-proven techniques.
As part of this initiative, there will be a Wavefront workshop on using Neo4j, a popular graph database. Graph databases like Neo4j are an esoteric but powerful member of the NOSQL family. For highly connected data, graph databases can be thousands of times faster than relational databases, making them popular for managing complex data across many commercial and research domains from finance to biology, and network management to geospatial.
Using graphs, researchers benefit from the expressive model and centuries of discrete mathematics underlying graph databases and so they can be a powerful ally for scientific problem solving. To that end, this Wavefront workshop will introduce Neo4j, a popular transactional graph database that is widely in use in research and commerce. The workshop’s aims are twofold: to remind attendees of the beneficial affordances provided by thinking and graphs, and to get attendees familiar enough with Neo4j such that they can use it to solve problems in their everyday research efforts. There will therefore be a mixture of theory and accompanying practical sessions to demonstrate the capabilities of graph data and the Neo4j database. Specifically attendees will learn about:
- NoSQL and Graph Database overview to set the scene for contemporary data models and to place graphs in context.
- Neo4j Fundamentals and Architecture to show how the notion of mechanical sympathy enables extremely fast queries that can be several orders of magnitude greater than some relational systems.
- The Neo4j Core API and Indexing to build graphs and name interesting starting point for graph queries.
- Neo4j Traverser APIs to traverse graphs to discover interesting information goals.
- Declarative querying with Cypher to show how allow non-programming specialists can still harness Neo4j for productive use with a humane and expressive query language.
Each session is a mixture of a small amount of theory combined with a set of practical exercises. The practical parts of the workshop consist of Koan-style lessons where a specific aspect of the Neo4j stack is presented as a set of failing unit tests which participants will work to fix, gradually becoming more challenging until the attendees are capable of implementing sophisticated graph operations against Neo4j. Attendees won’t need any previous experience with Neo4j or NOSQL databases, but will require some fluency in Java, a little familiarity with a modern IDE, and a basic understanding of JUnit to help complete the lab tasks.