class NeoScout::GDB_Neo4j::ElementIterator

Public Instance Methods

iter_edges(args) { |next| ... } click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 90
def iter_edges(args)
  if args[:report_progress]
    then report = args[:report_progress]
    else report = lambda { |mode, what, num| } end
  glops = org.neo4j.tooling.GlobalGraphOperations.at(Neo4j.db.graph)
  iter  = glops.getAllRelationships.iterator
  num   = 0
  while iter.hasNext do
    num  = num + 1
    report.call(:progress, :edges, num)
    yield iter.next
  end

  report.call(:finish, :edges, num)
  num
end
iter_nodes(args) { |node| ... } click to toggle source
# File lib/neoscout/gdb_neo4j.rb, line 72
def iter_nodes(args)
  if args[:report_progress]
    then report = args[:report_progress]
    else report = lambda { |mode, what, num| } end
  glops = org.neo4j.tooling.GlobalGraphOperations.at(Neo4j.db.graph)
  iter  = glops.getAllNodes.iterator
  num   = 0
  while iter.hasNext do
    node = iter.next
    num  = num + 1
    report.call(:progress, :nodes, num)
    yield node unless node.getId == 0
  end

  report.call(:finish, :nodes, num)
  num
end