Sha256: 9297fa8215c71605010aa3811ff75e391c57f1aa1f5f7b8d16a9674949e8b7e3

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/spec_helper')

describe "Neo4j Working Examples" do
  it "queries all nodes" do
    Neo4jr::DB.execute do |neo|
      hanks = neo.all_nodes.select{|people| people if people.get_property('name').match(/Hanks/) rescue nil }
      hanks.should have(2).nodes
      hanks.first.get_property('name').should == 'Hanks, Tom'
      hanks.last.get_property('name').should == 'Hanks, Jay (I)'
    end
  end
  
  describe 'cruding a node' do
    let(:node_id) do
      node_id = nil
      Neo4jr::DB.execute do |neo|
        node = neo.createNode
        node[:name] = 'Deiters, Matt'
        node_id = node.getId
      end
      node_id
    end
    
    after :each do
      Neo4jr::DB.execute do |neo|
        node = neo.getNodeById(node_id)
        node.delete
      end
    end
    
    it 'can later read the node' do
      node = Neo4jr::DB.getNodeById(node_id)
      node[:name].should == 'Deiters, Matt'
    end  
  end
  
  it 'can traverse a node using the raw API' do
    Neo4jr::DB.execute do |neo|
      # Node[1102]: Hoffman, Philip Seymour
      # Node[1104]: Hoffman, Dustin    
      philip_seymour_hoffman = neo.getNodeById(1102)

      order        = Neo4jr::Order::BREADTH_FIRST
      stop_when    = Neo4jr::StopEvaluator::END_OF_GRAPH
      return_when  = Neo4jr::ReturnableEvaluator::ALL
      relationship = Neo4jr::RelationshipType.outgoing(:acted_in)
      
      traverser = philip_seymour_hoffman.traverse(order, stop_when, return_when, relationship)
      # traverser.each do |person_or_movie|
      #   puts person_or_movie.get_property('title') rescue person_or_movie.get_property('name')
      # end
      traverser.size.should == 15
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
neo4jr-simple-0.1.0 spec/functional_example_spec.rb