neo4j - 

Neo4j connector through its JSON REST API using curl.

For ease of use and testing this module provide a wrapper to the neo4j command:

var srv = new Neo4jServer
assert srv.start_quiet

In order to connect to Neo4j you need a connector:

var client = new Neo4jClient("http://localhost:7474")
assert client.is_ok

The fundamental units that form a graph are nodes and relationships.

Nodes are used to represent entities stored in base:

var andres = new NeoNode
andres["name"] = "Andres"
# Connect the node to Neo4j
assert andres.is_linked

# Create a second node
var kate = new NeoNode
kate["name"] = "Kate"
assert kate.is_linked

Relationships between nodes are a key part of a graph database. They allow for finding related data. Just like nodes, relationships can have properties.

var loves = new NeoEdge(andres, "LOVES", kate)
assert loves.is_linked

Nodes can also be loaded fron Neo4j:

var url = andres.url.to_s
var from = client.load_node(url)
assert from["name"].to_s == "Andres"
var to = from.out_nodes("LOVES").first      # follow the first LOVES relationship
assert to["name"].to_s == "Kate"

For more details, see