forked from neo4jrb/activegraph
-
Notifications
You must be signed in to change notification settings - Fork 0
Neo4j::Core Cypher
andreasronge edited this page Apr 19, 2012
·
26 revisions
“Cypher” is a declarative graph query language that allows for expressive and efficient querying of the graph store without having to write traversals through the graph structure in code. Neo4j.rb provides two ways of using cypher: express queries as Strings or use the Neo4j.rb Cypher DSL.
The cypher language is described here: Neo4j Cypher Docuementation
q = Neo4j._query("START n=node(42) RETURN n")
q.first(:n) #=> the @node
q.columns.first => :n
See Neo4j#query method.
Neo4j.query(joe_node) do |joe|
friends_of_friends = node(:friends_of_friends)
joe > ':knows' > node(:friend) > ':knows' > friends_of_friends
r = rel('r?:knows').as(:r)
joe > r > friends_of_friends
r.exist?
ret(friends_of_friends[:name], count).desc(count).asc(friends_of_friends[:name])