An Active Model wrapper for the Neo4j graph database in Ruby, providing a high-level ORM and query interface.
Active Graph (formerly Neo4j.rb) is an Active Model compliant Ruby wrapper for the Neo4j graph database. It enables Ruby developers to work with graph data using familiar ActiveRecord-like patterns, providing a higher-level abstraction over the native driver to simplify complex graph queries and data modeling.
Ruby and Ruby on Rails developers who need to integrate a graph database into their applications, particularly those already familiar with Active Model conventions and ActiveRecord patterns.
Developers choose Active Graph because it makes the powerful Neo4j graph database accessible through an intuitive, ActiveRecord-inspired interface, allowing them to leverage graph capabilities without sacrificing the familiarity of Ruby's Active Model ecosystem. It simplifies complex graph traversals and queries with a chainable, expressive query builder.
An active model wrapper for the Neo4j Graph Database for Ruby.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with Ruby on Rails by following Active Model conventions for validation and serialization, as highlighted in the key features, making it familiar for Rails developers.
Offers a chainable, high-level query interface that simplifies complex graph traversals, like the example in the README showing friend relationships and aggregations.
Supports a wide range of Neo4j server versions from legacy 1.9.x to modern 5.x, per the compatibility table, ensuring flexibility for various deployment environments.
Utilizes the efficient Bolt protocol with authentication support for fast and secure connections, as stated in the features, enhancing performance and security.
Documentation is split between readthedocs and an outdated wiki, which the README admits can confuse users and slow down learning and troubleshooting.
The extensive compatibility table indicates maintenance challenges and version-specific dependencies, requiring careful version matching that can complicate upgrades.
In newer versions, embedded JVM support is only available via Bolt, restricting options for applications that rely on direct embedded access without Bolt, as noted in the feature support table.