An active model wrapper for the Neo4j Graph Database for Ruby.
Ruby HTML
Latest commit e1b70a6 Jul 30, 2016 @ProGM ProGM Update CHANGELOG
Failed to load latest commit information.
bin Rubocop: Style/ZeroLengthPredicate Mar 28, 2016
config Revert "Revert premature merge of metadata branch" Nov 21, 2014
docs Make a note that migrations started in 8.0 Jul 27, 2016
lib Allow to pass a Proc for default value Jul 29, 2016
spec Allow to pass a Proc for default value Jul 29, 2016
test Adds spec for namespaced generated model. Jan 26, 2016
.gitignore Gitignoring `docs/api` folder. May 20, 2016
.overcommit.yml Fix rubocop in overcommit Jul 31, 2015
.pullreview.yml More alignment of PullReview with rubocop config Dec 29, 2014
.rspec Use `--require spec_helper` option Dec 9, 2015
.rubocop.yml Rubocop: Style/SignalException Mar 28, 2016
.rubocop_todo.yml Rubocop: Style/ZeroLengthPredicate Mar 28, 2016
.travis.yml Merge branch '7.0.x' May 26, 2016
.yardopts YARD custom templates to generate reStructuredText files for API docu… Mar 24, 2015
CHANGELOG.md Update CHANGELOG Jul 30, 2016
CONTRIBUTING.md Add CONTRIBUTING.md so that there is a link on the new issue page to … Mar 23, 2015
CONTRIBUTORS Update contributors list, use github history for constantly up to dat… Apr 21, 2015
Gemfile Gemfile: force `tins` version Jul 30, 2016
Guardfile Rubocop: Style/RegexpLiteral Sep 7, 2015
ISSUE_TEMPLATE.md Create ISSUE_TEMPLATE.md Mar 21, 2016
LICENSE prepare for rubyforge release of gem. Added license file Oct 23, 2008
PULL_REQUEST_TEMPLATE.md Create PULL_REQUEST_TEMPLATE.md Mar 21, 2016
README.md Warning about `master` Jul 12, 2016
Rakefile Use neo4j-rake_tasks gem Aug 2, 2015
code_of_conduct.md Update code_of_conduct.md Feb 1, 2016
mkdocs.yml Trying to configure mkdocs to see if that fixes RTD Feb 4, 2015
neo4j.gemspec merge changes from 7.1.x into master Jul 14, 2016

README.md

Welcome to Neo4j.rb

FOR INFORMATION ABOUT NEO4J 3.0 SUPPORT, SEE VERSION SUPPORT and FEATURE SUPPORT sections

ALSO NOTE THAT MASTER IS CURRENT IN FLUX IN PREPARATION FOR AN ALPHA OF 8.0 AND IT IS NOT RECOMMENDED TO BE USED

Code Status

Build Status Coverage Status Code Climate PullReview stats

Issues

Next Release In Progress In Master

Post an issue

Get Support

Documentation

All new documentation will be done via our readthedocs site, though some old documentation has yet to be moved from our wiki (also there is the neo4j-core wiki)

Contact Us

StackOverflow Gitter Twitter

Introduction

Neo4j.rb is an Active Model compliant Ruby/JRuby wrapper for the Neo4j graph database. It uses the neo4j-core and active_attr gems.

Neo4j is a transactional, open-source graph database. A graph database manages data in a connected data structure, capable of representing any kind of data in a very accessible way. Information is stored in nodes and relationships connecting them, both of which can have arbitrary properties. To learn more visit What is a Graph Database?

With this gem you not only do you get a convenient higher level wrapper around Neo4j, but you have access to a powerful high-level query building interface which lets you take advantage of the power of Neo4j like this:

# Break down the top countries where friends' favorite beers come from
person.friends.favorite_beers.country_of_origin(:country).
  order('count(country) DESC').
  pluck(:country, count: 'count(country)')

It can be installed in your Gemfile with a simple gem 'neo4j'

For a general overview see our website: http://neo4jrb.io/

Winner of a 2014 Graphie for "Best Community Contribution" at Neo4j's Graph Connect conference! 2014 Graphie

Neo4j.rb v4.1.0 was released in January of 2015. Its changes are outlined here and in the announcement message. It will take a little time before all documentation is updated to reflect the new release but unless otherwise noted, all 3.X documentation is totally valid for v4.

Neo4j version support

Neo4j Version v2.x v3.x >= v4.x >= 7.0.3
1.9.x Yes No No No
2.0.x No Yes No No
2.1.x No Yes Yes * Yes
2.2.x No No Yes Yes
2.3.x No No Yes Yes
3.0.x No No No Yes

* Neo4j.rb >= 4.x doesn't support Neo4j versions before 2.1.5. To use 2.1.x you should upgrade to a version >= 2.1.5

Neo4j feature support

Neo4j Feature v2.x v3.x >= v4.x >= 8.x (coming soon)
Bolt Protocol No No No Yes (coming soon)
Auth No No Yes Yes
Remote Cypher Yes Yes Yes Yes
Transactions Yes Yes Yes Yes
High Availability No Yes Yes Yes
Embedded JVM support Yes Yes Yes Yes

Modern (3.x/4.X) Documentation

Legacy (2.x) Documentation

Developers

Original Author

Current Maintainers

Contributing

Always welcome! Please review the guidelines for contributing to this repository.

License

Notice: There are different licenses for the neo4j-community, neo4j-advanced, and neo4j-enterprise jar gems. Only the neo4j-community gem is required by default.