Overview of Neo4j.rb

Neo4j.rb is a graph database for JRuby It uses the powerful and mature Java libraries:
  • Neo4j for for persistence and traversal of the graph
  • Apache Lucene for querying and indexing.
  • Neo4j.rb Architecture

    The neo4j.rb consists of a three layers API:

  • Layer 1. For interacting with the basic building blocks of the graph database, see Neo4j::Node and Neo4j::Relationship classes.
  • Layer 2. A binding API to Ruby objects, see Neo4j::NodeMixin and Neo4j::RelationshipMixin modules.
  • Layer 3. An implementation of the Rails Active Model and a subset of the Active Record API, see Neo4j::Rails::Model and Neo4j::Rails::Relationship classes.

  • Notice that you can always access the lower layers if you want to do some more advanced. You can also access the Java API directly.

    Guides

  • Why using a Graph Database or Neo4j.rb ?
  • Nodes, Properties & Relationships
  • Traversing Node and Relationships
  • Included algorithms like shortest path
  • Rules and Functions
  • Ruby Class to Node & Relationship Mapping
  • Ruby on Rails
  • Indexing and Queries with Lucene
  • Migrations
  • Batch Insert
  • Multitenency, Config, Backup...
  • Monitoring and Remote Access
  • HA Cluster
  • Documentation and APIs

  • RDoc API
  • The Neo4j Manual
  • Neo4j Chinese Resources
  • Blogs & Presentations

  • An Neo4j.rb presentation (using Neo4j.rb version 0.4.6)
  • Neo4j 1.0.0 and Rails 3
  • Cool spatial algos with Neo4j: Part 1 - Routing with A* in Ruby
  • Neo4j::Rails::Versioning
  • Multitenancy
  • Installation

    gem install neo4j
    To install JRuby I recommend using RVM.

    Development

  • Travis, RSpec, Guards etc
  • Examples

    Here are some examples of what you can do:
  • Kvitter - parse and create a graph from Twitter tweets
  • Basic Examples
  • Rails 3 and Devise Example
  • Performance Tests of Neo4j.java vs. Neo4j.rb
  • Configuration

  • Default Configuration File
  • Also, check the Neo4j::Config class where you can override the defaults or provide your own configuration file.

    Found a bug in this guide ?

    Please fork the project neo4j-guides