Interface ReactiveQueryRunner

All Known Subinterfaces:
ReactiveSession, ReactiveTransaction, ReactiveTransactionContext
All Known Implementing Classes:
InternalReactiveSession, InternalReactiveTransaction

public interface ReactiveQueryRunner
Common interface for components that can execute Neo4j queries using Reactive API.
Since:
5.0
See Also:
  • Method Details

    • run

      Flow.Publisher<ReactiveResult> run(String query, Value parameters)
      Register running of a query and return a publisher of ReactiveResult.

      Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of ReactiveResult on success or an error otherwise.

      This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.

      This particular method takes a Value as its input. This is useful if you want to take a map-like value that you've gotten from a prior result and send it back as parameters.

      If you are creating parameters programmatically, run(String, Map) might be more helpful, it converts your map to a Value for you.

      Parameters:
      query - text of a Neo4j query
      parameters - input parameters, should be a map Value, see Values.parameters(Object...).
      Returns:
      a publisher of reactive result.
    • run

      Flow.Publisher<ReactiveResult> run(String query, Map<String,Object> parameters)
      Register running of a query and return a publisher of ReactiveResult.

      Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of ReactiveResult on success or an error otherwise.

      This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.

      This version of run takes a Map of parameters. The values in the map must be values that can be converted to Neo4j types. See Values.parameters(Object...) for a list of allowed types.

      Parameters:
      query - text of a Neo4j query
      parameters - input data for the query
      Returns:
      a publisher of reactive result.
    • run

      Flow.Publisher<ReactiveResult> run(String query, Record parameters)
      Register running of a query and return a publisher of ReactiveResult.

      Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of ReactiveResult on success or an error otherwise.

      This method takes a set of parameters that will be injected into the query by Neo4j. Using parameters is highly encouraged, it helps avoid dangerous cypher injection attacks and improves database performance as Neo4j can re-use query plans more often.

      This version of run takes a Record of parameters, which can be useful if you want to use the output of one query as input for another.

      Parameters:
      query - text of a Neo4j query
      parameters - input data for the query
      Returns:
      a publisher of reactive result.
    • run

      Register running of a query and return a publisher of ReactiveResult.

      Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of ReactiveResult on success or an error otherwise.

      Parameters:
      query - text of a Neo4j query
      Returns:
      a publisher of reactive result.
    • run

      Register running of a query and return a publisher of ReactiveResult.

      Invoking this method will result in a Bolt RUN message exchange with server and the returned publisher will either emit an instance of ReactiveResult on success or an error otherwise.

      Parameters:
      query - a Neo4j query
      Returns:
      a publisher of reactive result.