Package com.complexible.stardog.api.graphql

# Interface GraphQLQuery

All Superinterfaces:
  `Query<graphql.ExecutionResult>`

public interface GraphQLQuery extends Query<graphql.ExecutionResult>

Executable GraphQL query. This interface extends `Query` but parameters are treated as GraphQL input values and not as RDF parameters. As a result `Query.parameters()` will always be empty and instead {#variables()} should be used.

Since:
  5.1
Version:
  5.1
Author:
  Evren Sirin

- ## Field Summary

  ### Fields inherited from interface com.complexible.stardog.api.Query

  `NO_ID, NO_TIMEOUT`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `GraphQLQuery`
  `dataset(Dataset theDataset)`
  Not supported for GraphQL queries.
  `GraphQLQuery`
  `parameter(String theName, boolean theValue)`
  Set the parameter to the xsd:boolean value
  `GraphQLQuery`
  `parameter(String theName, byte theValue)`
  Set the parameter to the xsd:byte value
  `GraphQLQuery`
  `parameter(String theName, double theValue)`
  Set the parameter to the xsd:double value
  `GraphQLQuery`
  `parameter(String theName, float theValue)`
  Set the parameter to the xsd:float value
  `GraphQLQuery`
  `parameter(String theName, int theValue)`
  Set the parameter to the xsd:int value
  `GraphQLQuery`
  `parameter(String theName, long theValue)`
  Set the parameter to the xsd:long value
  `GraphQLQuery`
  `parameter(String theName, short theValue)`
  Set the parameter to the xsd:short value
  `GraphQLQuery`
  `parameter(String theName, Value theValue)`
  Set the value of the parameter
  `GraphQLQuery`
  `parameter(String theName, Object theObj)`
  Set the parameter to the specified value.
  `GraphQLQuery`
  `parameter(String theName, String theValue)`
  Set the parameter to the xsd:string value
  `GraphQLQuery`
  `parameter(String theName, URI theURI)`
  Set the parameter to the xsd:URI value
  `GraphQLQuery`
  `parameter(String theName, Date theValue)`
  Set the parameter to the xsd:date value
  `GraphQLQuery`
  `parameter(String theName, GregorianCalendar theValue)`
  Set the parameter to the xsd:dateTime value
  `GraphQLQuery`
  `reasoning(boolean theReasoningType)`
  {Specify whether you would like the query to be executed with reasoning.
  `String`
  `schema()`
  Returns the schema name associated with the query or `null` if ther eis no schema.
  `GraphQLQuery`
  `schema(String theSchemaName)`
  Select the GraphQL schema that will be used for executing the query.
  `GraphQLQuery`
  `timeout(long theTimeout)`
  Set the timeout for query execution.
  `default Map<String,Object>`
  `variables()`
  Returns th input variables for the GraphQL query.

  ### Methods inherited from interface com.complexible.stardog.api.Query

  `baseURI, dataset, execute, explain, explain, explain, getID, getSchema, hint, hints, id, isReasoningEnabled, parameters, queryString, timeout, toString`

- ## Method Details

  - ### dataset

    GraphQLQuery dataset(Dataset theDataset)
    Not supported for GraphQL queries.
    Specified by:
      `dataset` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theDataset` - the active graph dataset
    Returns:
      this query
    See Also:
      - `Datasets`

  - ### reasoning

    GraphQLQuery reasoning(boolean theReasoningType)
    {

    Specify whether you would like the query to be executed with reasoning. For update queries, the reasoning flag only affects the evaluation of WHERE clauses in DELETE/INSERT queries.

    You can only modify the reasoning flag of a query outside of a transaction. If querying within a transaction you can only use the `reasoning flag associated with the connection`.

    If the reasoning schema is explicitly set via the `Query.schema(String)` function beforehand then calling `reasoning(true)` will have no effect. If the schema is not set then calling `reasoning(true)` is equivalent to setting the schema to the `default schema`. Calling `reasoning(false)` is always equivalent to setting the schema to the `null schema`.

    }
    Specified by:
      `reasoning` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theReasoningType` - the reasoning flag
    Returns:
      this query

  - ### schema

    GraphQLQuery schema(String theSchemaName)
    Select the GraphQL schema that will be used for executing the query. The provided name should be the name of a GraphQL schema that has been `saved` in the system. The schema will be used for validating the query as well as the translation of the inputs and outputs.
    Specified by:
      `schema` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theSchemaName` - the name of the schema
    Returns:
      this query

  - ### schema

    String schema()
    Returns the schema name associated with the query or `null` if ther eis no schema.
    Returns:
      the schema name associated with the query

  - ### timeout

    GraphQLQuery timeout(long theTimeout)
    Set the timeout for query execution.
    Specified by:
      `timeout` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theTimeout` - the timeout in ms. A zero or negative value will be interpreted as no timeout
    Returns:
      this query

  - ### variables

    default Map<String,Object> variables()
    Returns th input variables for the GraphQL query.
    Returns:
      the input variables

  - ### parameter

    GraphQLQuery parameter(String theName, Value theValue)
    Set the value of the parameter
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, int theValue)
    Set the parameter to the xsd:int value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, long theValue)
    Set the parameter to the xsd:long value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, float theValue)
    Set the parameter to the xsd:float value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, double theValue)
    Set the parameter to the xsd:double value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, short theValue)
    Set the parameter to the xsd:short value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, boolean theValue)
    Set the parameter to the xsd:boolean value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, byte theValue)
    Set the parameter to the xsd:byte value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, String theValue)
    Set the parameter to the xsd:string value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, Date theValue)
    Set the parameter to the xsd:date value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, GregorianCalendar theValue)
    Set the parameter to the xsd:dateTime value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theValue` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, URI theURI)
    Set the parameter to the xsd:URI value
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter to set
      `theURI` - the value of the parameter
    Returns:
      this query

  - ### parameter

    GraphQLQuery parameter(String theName, Object theObj)
    Set the parameter to the specified value. Convenience method which will delegate to one of the other parameter(...) methods
    Specified by:
      `parameter` in interface `Query<graphql.ExecutionResult>`
    Parameters:
      `theName` - the parameter name
      `theObj` - the param value
    Returns:
      this query