redisgraph-rb
redisgraph-rb is a Ruby gem client for the RedisGraph module. It relies on redis-rb for Redis connection management and provides support for graph QUERY, EXPLAIN, and DELETE commands.
RedisGraph compatibility
redisgraph-rb is currently compatible with RedisGraph versions >= 1.99 (module version: 19900)
The result set structure introduced by RedisGraph 2.0 requires some modifications to this client. If you are interested in using this client with the latest RedisGraph, please inform us by commenting on the corresponding issue!
Previous Version
For RedisGraph versions >= 1.0 and < 2.0 (ie module version: 10202), instead use and refer to the redisgraph gem version ~> 1.0.0
which corresponds to the following docker image
docker run -p 6379:6379 -it --rm redislabs/redisgraph:1.2.2
Installation
To install, run:
$ gem install redisgraph
Or include redisgraph as a dependency in your Gemfile.
Usage
require 'redisgraph'
graphname = "sample"
r = RedisGraph.new(graphname)
cmd = """CREATE (:person {name: 'Jim', age: 29})-[:works]->(:employer {name: 'Dunder Mifflin'})"""
response = r.query(cmd)
response.stats
=> {:labels_added=>2, :nodes_created=>2, :properties_set=>3, :relationships_created=>1, :internal_execution_time=>0.705541}
cmd = """MATCH ()-[:works]->(e:employer) RETURN e"""
response = r.query(cmd)
response.print_resultset
+----------------+
| e.name |
+----------------+
| Dunder Mifflin |
+----------------+
r.delete
=> "Graph removed, internal execution time: 0.416024 milliseconds"
Specifying Redis options
RedisGraph connects to an active Redis server, defaulting to host: localhost, port: 6379. To provide custom connection parameters, instantiate a RedisGraph object with a redis_options hash:
r = RedisGraph.new("graphname", redis_options= { host: "127.0.0.1", port: 26380 })
These parameters are described fully in the documentation for https://github.com/redis/redis-rb
Running tests
To ensure prerequisites are installed, run the following:
bundle install
These tests expect a Redis server with the Graph module loaded to be available at localhost:6379
The currently compatible version of the RedisGraph module may be run as follows:
docker run -p 6379:6379 -it --rm redislabs/redisgraph:2.0-edge
A simple test suite is provided, and can be run with:
rspec