activegraph is a free, open source databases project written in Ruby and released under MIT. It has 1,405 GitHub stars, 273 forks and 242 open issues, and was last pushed 1 months ago. On this registry it ranks #76 of 81 tracked projects in Databases, with 5 head-to-head comparisons available.

What is activegraph?

What it is

activegraph is a Ruby and JRuby wrapper for the Neo4j graph database, formerly called Neo4j.rb. It provides an Active Model compliant wrapper over Neo4j, so Ruby applications can work with graph data through model code and associations instead of writing low-level database calls. The project lives in the Ruby ecosystem and sits in the database and infrastructure category, with topics that include graph-database, neo4j, orm, railtie, and ruby.

The concrete problem it solves is connecting Ruby applications to Neo4j while preserving a familiar model-and-query style. Neo4j stores information in nodes and relationships, and both nodes and relationships can have arbitrary properties. activegraph wraps the neo4j-ruby-driver and uses the active_attr gem, then exposes a higher-level query interface that lets developers traverse associations and build Neo4j queries from Ruby code.

Key capabilities

  • It provides an Active Model compliant wrapper for Neo4j in Ruby and JRuby applications.
  • It uses the neo4j-ruby-driver to communicate with the Neo4j graph database.
  • It uses the active_attr gem as part of its model support.
  • It exposes a high-level query building interface for traversing associations and expressing Neo4j queries in Ruby.
  • It supports graph data modeled as nodes and relationships with arbitrary properties.
  • It has a version support matrix covering Neo4j releases from 1.9 through 5.x across different activegraph releases.
  • It is installed as a Ruby gem with the name neo4j in a Gemfile.

Who uses it and how

  • Ruby and JRuby applications use it when the data model is graph-shaped, with nodes and relationships that carry properties.
  • Rails-oriented Ruby projects can use it because the repository topics include railtie, indicating integration with Rails-style application structure.
  • Developers use it to express queries through Ruby chains rather than writing every database interaction directly against the driver.
  • Teams choose a specific activegraph version to match the Neo4j version they run, as shown by the README version support table.
  • Users can seek support through the documented StackOverflow, Gitter, Twitter, readthedocs, and wiki resources.

Getting started

The README says the gem can be installed in a Gemfile with gem 'neo4j'. General documentation is provided through the neo4jrb.io website and readthedocs, while some older documentation remains on the project wiki.

When to use it — and when not to

activegraph is useful when a Ruby or JRuby application needs an Active Model wrapper layer over Neo4j and the team is already prepared to operate Neo4j itself. It is not a standalone database, so users must run a supported Neo4j version and select a matching activegraph release. The facts also show 242 open issues, no listed contributor count, and documentation partly split between readthedocs and an older wiki, which can make evaluation and upgrades require more care.

project readme (upstream, from github) — read inline

Welcome to Active Graph (f.k.a. Neo4j.rb)

Code Status

Actively Maintained Build Status Coverage Status Code Climate

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

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-ruby-driver 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 activegraph 10 activegraph 11.1
1.9.x Yes No No No No No
2.0.x No Yes No No No No
2.1.x No Yes Yes * Yes No No
2.2.x No No Yes Yes No No
2.3.x No No Yes Yes No No
3.0, 3.1, 3.3 No No No Yes No No
3.4 No No No Yes Yes No
3.5 No No No Yes Yes Yes
4.0 No No No No Yes Yes
4.1 No No No No No Yes
4.2 No No No No No Yes
4.3 No No No No No Yes
4.4 No No No No No Yes
5.x No No 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 >= activegraph 10.0
Bolt Protocol No No No Yes Yes
Auth No No Yes Yes Yes
Remote Cypher Yes Yes Yes Yes No
Transactions Yes Yes Yes Yes Yes
High Availability No Yes Yes Yes Yes
Causal Cluster No No No No Yes
Embedded JVM support Yes Yes Yes Yes via bolt only

Documentation

  • Website (for an introduction)
  • readthedocs
  • Note: Our GitHub Wiki pages have outdated information. We are in the process of moving all documentation to readthedocs

Legacy (<= 2.x) Documentation

Developers

Original Author

Previous Maintainers

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.

Frequently asked questions

Is activegraph free to use?

activegraph is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does activegraph do?

An active model wrapper for the Neo4j Graph Database for Ruby.

What is activegraph written in?

activegraph is primarily written in Ruby. Its source is publicly available at https://github.com/neo4jrb/activegraph, and it has 1,405 GitHub stars.