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