org.neo4j.graphdb.Result.accept()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(81)

本文整理了Java中org.neo4j.graphdb.Result.accept方法的一些代码示例,展示了Result.accept的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Result.accept方法的具体详情如下:
包路径:org.neo4j.graphdb.Result
类名称:Result
方法名:accept

Result.accept介绍

[英]Visits all rows in this Result by iterating over them.

This is an alternative to using the iterator form of Result. Using the visitor is better from a object creation perspective.
[中]通过迭代访问结果中的所有行。
这是使用迭代器形式的结果的替代方法。从对象创建的角度来看,使用访问者更好。

代码示例

代码示例来源:origin: neo4j/neo4j

@Test( expected = ArithmeticException.class )
public void shouldThrowAppropriateExceptionAlsoWhenVisiting()
{
  db.execute( "RETURN rand()/0" ).accept( row -> true );
}

代码示例来源:origin: neo4j/neo4j

private static void mockAccept( Result mock )
{
  doAnswer( invocation ->
  {
    Result result = (Result) invocation.getMock();
    Result.ResultVisitor visitor = invocation.getArgument( 0 );
    while ( result.hasNext() )
    {
      visitor.visit( new MapRow( result.next() ) );
    }
    return null;
  } ).when( mock )
      .accept( (Result.ResultVisitor<RuntimeException>) any( Result.ResultVisitor.class ) );
}

代码示例来源:origin: neo4j/neo4j

@Test( expected = QueryExecutionException.class )
public void dirtyContextDuringResultVisitResultInUnstableSnapshotException() throws Exception
{
  Result result = database.execute( "MATCH (n) RETURN n.c" );
  List<String> values = new ArrayList<>();
  result.accept( (Result.ResultVisitor<Exception>) row ->
  {
    testCursorContext.markAsDirty();
    values.add( row.getString( "n.c" ) );
    return false;
  } );
}

代码示例来源:origin: neo4j/neo4j

@Test( expected = QueryExecutionException.class )
public void dirtyContextEntityNotFoundExceptionDuringResultVisitResultInUnstableSnapshotException() throws Exception
{
  Result result = database.execute( "MATCH (n) RETURN n.c" );
  result.accept( (Result.ResultVisitor<Exception>) row ->
  {
    testCursorContext.markAsDirty();
    throw new NotFoundException( new RuntimeException() );
  } );
}

代码示例来源:origin: neo4j/neo4j

@Test
public void eagerResultVisit() throws Exception
{
  Result result = database.execute( "MATCH (n) RETURN n.c" );
  List<String> values = new ArrayList<>();
  result.accept( (Result.ResultVisitor<Exception>) row ->
  {
    values.add( row.getString( "n.c" ) );
    return false;
  } );
  assertThat( values, hasSize( 2 ) );
  assertThat( values, containsInAnyOrder( "d", "y" ) );
}

代码示例来源:origin: neo4j/neo4j

private void writeRows( final Iterable<String> columns, Result data, final ResultDataContentWriter writer )
    throws IOException
{
  out.writeArrayFieldStart( "data" );
  try
  {
    data.accept( row ->
    {
      out.writeStartObject();
      try
      {
        try ( TransactionStateChecker txStateChecker = TransactionStateChecker.create( container ) )
        {
          writer.write( out, columns, row, txStateChecker );
        }
      }
      finally
      {
        out.writeEndObject();
      }
      return true;
    } );
  }
  finally
  {
    out.writeEndArray(); // </data>
  }
}

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

public int loadNodes(String nodeCypher) {
  if (nodeCypher == null) return  0;
  NodeLoaderVisitor loader = new NodeLoaderVisitor();
  db.execute(COMPILED_RUNTIME + nodeCypher).accept(loader);
  return loader.nodes;
}

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

public ProgressInfo dump(Result result, Writer writer, Reporter reporter, ExportConfig config) throws Exception {
  Consumer<JsonGenerator> consumer = (jsonGenerator) -> {
    try {
      String[] header = result.columns().toArray(new String[result.columns().size()]);
      result.accept((row) -> {
        writeJsonResult(reporter, header, jsonGenerator, row, config);
        reporter.nextRow();
        return true;
      });
    } catch (IOException e) {
      throw new RuntimeException(e);
    }
  };
  return dump(writer, reporter, consumer);
}

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

public ProgressInfo dump(Result result, Writer writer, Reporter reporter, ExportConfig config) throws Exception {
  try (Transaction tx = db.beginTx()) {
    CSVWriter out = getCsvWriter(writer, config);
    String[] header = writeResultHeader(result, out);
    String[] data = new String[header.length];
    result.accept((row) -> {
      for (int col = 0; col < header.length; col++) {
        Object value = row.get(header[col]);
        data[col] = FormatUtils.toString(value);
        reporter.update(value instanceof Node ? 1: 0,value instanceof Relationship ? 1: 0 , value instanceof PropertyContainer ? 0 : 1);
      }
      out.writeNext(data, applyQuotesToAll);
      reporter.nextRow();
      return true;
    });
    tx.success();
    reporter.done();
    writer.close();
    return reporter.getTotal();
  }
}

代码示例来源:origin: org.neo4j/neo4j-bolt-runtime

@Override
public void accept( final Visitor visitor ) throws Exception
{
  delegate.accept( new Result.ResultVisitor<Exception>()
  {
    @Override
    public boolean visit( Result.ResultRow row ) throws Exception
    {
      visitor.visit( currentRecord.reset( row ) );
      return true;
    }
  } );
}

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

private int loadRelationships(String relCypher, boolean weighted, int defaultWeight) {
  RelationshipLoader loader = new RelationshipLoader(0, weighted, defaultWeight, this);
  db.execute(COMPILED_RUNTIME + relCypher).accept(loader);
  loader.calculateChunkIndices();
  int totalRelationships = loader.totalRelationships;
  Chunks relationshipTargetChunks = new Chunks(totalRelationships);
  Chunks relationshipWeightChunks =  weighted ? new Chunks(totalRelationships).withDefault(defaultWeight) : null;
  int[] offsetTracker = loader.sourceChunkStartingIndex.mergeChunks();
  loader.transformRelData(relationshipTargetChunks,relationshipWeightChunks, offsetTracker);
  this.sourceDegreeData = loader.sourceDegreeData.mergeAllChunks(); // todo allow for only degree's of source nodes
  this.sourceChunkStartingIndex = loader.sourceChunkStartingIndex.mergeChunks();
  this.relationshipTarget = relationshipTargetChunks.mergeChunks();
  this.relationshipWeight = relationshipWeightChunks == null ? null : relationshipWeightChunks.mergeAllChunks();
  return totalRelationships;
}
private int loadRelationshipsBatch(String relCypher, boolean weighted, int defaultWeight, int batchSize, int threads) {

代码示例来源:origin: neo4j-contrib/neo4j-apoc-procedures

Future<RelationshipLoader> future = Util.inFuture(() -> {
  RelationshipLoader loader = new RelationshipLoader(task, weighted, defaultWeight, (AlgoIdGenerator) this);
  db.execute(COMPILED_RUNTIME + relCypher, params).accept(loader);
  return loader;
});

代码示例来源:origin: neo4j-contrib/neo4j-graph-algorithms

result.accept((Result.ResultVisitor<Exception>) resultRow -> {
  long item = resultRow.getNumber("item").longValue();
  long id = resultRow.getNumber("category").longValue();

代码示例来源:origin: org.neo4j/graph-algorithms-core

api.execute(setup.startLabel, params(offset, batchSize)).accept(visitor);
idMap.buildMappedIds();
return new Nodes(

代码示例来源:origin: neo4j-contrib/neo4j-graph-algorithms

api.execute(setup.startLabel, params(offset, batchSize)).accept(visitor);
idMap.buildMappedIds();
return new Nodes(

代码示例来源:origin: org.neo4j.app/neo4j-server

private void writeRows( final Iterable<String> columns, Result data, final ResultDataContentWriter writer )
    throws IOException
{
  out.writeArrayFieldStart( "data" );
  try
  {
    data.accept( row ->
    {
      out.writeStartObject();
      try
      {
        try ( TransactionStateChecker txStateChecker = TransactionStateChecker.create( container ) )
        {
          writer.write( out, columns, row, txStateChecker );
        }
      }
      finally
      {
        out.writeEndObject();
      }
      return true;
    } );
  }
  finally
  {
    out.writeEndArray(); // </data>
  }
}

代码示例来源:origin: neo4j-contrib/neo4j-graph-algorithms

api.execute(setup.relationshipType, params(offset, batchSize)).accept(visitor);
return new Relationships(offset, visitor.rows, matrix, relWeights, setup.relationDefaultWeight);

代码示例来源:origin: org.neo4j/graph-algorithms-core

api.execute(setup.relationshipType, params(offset, batchSize)).accept(visitor);
return new Relationships(offset, visitor.rows, matrix, relWeights, setup.relationDefaultWeight);

相关文章