Skip to content

Instantly share code, notes, and snippets.

@peterneubauer
Created May 24, 2010 09:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save peterneubauer/411699 to your computer and use it in GitHub Desktop.
Save peterneubauer/411699 to your computer and use it in GitHub Desktop.
require "rubygems"
require "neo4j"
Neo4j::Transaction.run do
cars = Neo4j::Node.new
silver = Neo4j::Node.new
saab = Neo4j::Node.new
year_2000 = Neo4j::Node.new
year_2000[:year] = '2000'
year_2002 = Neo4j::Node.new
year_2002[:year] = '2002'
Neo4j.ref_node.rels.outgoing(:cars) << cars
aCar = Neo4j::Node.new
aCar[:name] = 'Car A'
cars.rels.outgoing(:IS_A) << aCar
aCar.rels.outgoing(:BUILT) << year_2000
aCar.rels.outgoing(:COLOR) << silver
aCar.rels.outgoing(:MANUFACTURER) << saab
bCar = Neo4j::Node.new
bCar[:name] = 'Car B'
cars.rels.outgoing(:IS_A) << bCar
bCar.rels.outgoing(:BUILT) << year_2002
bCar.rels.outgoing(:COLOR) << silver
bCar.rels.outgoing(:MANUFACTURER) << saab
end
#search
Neo4j::Transaction.run do
Neo4j.ref_node.rels.outgoing(:cars).first.end_node.outgoing(:IS_A).each {|node|
if(node.outgoing(:BUILT).first[:year] == '2000')
puts node[:name]
end
}
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment