EctoNeo4j v0.6.4 Ecto.Adapters.Neo4j.Query View Source

Ecto.Adapters.Neo4j.Query is designed to build Cypher queries programmatically. It has functions to build essential parts of a Cypher Query and its to_string returns a valid cypher query.

Example

# MATCH
#   (n:User)
# WHERE
#   n.uuid = "my-user-uid"
# RETURN
# n
alias Ecto.Adapters.Neo4j.Query

node = %Query.NodeExpr{
  index: 0,
  variable: "n",
  labels: ["User"]
}

condition = %Ecto.Adapters.Neo4j.Condition{
  source: node.variable,
  field: :uuid,
  operator: :==,
  value: "user_uuid"
}

params = %{
  user_uuid: "my-user-uid"
}

return = %Query.ReturnExpr{
  distinct?: false,
  fields: [
    node
  ]
}

{cql, params} =
Query.new()
|> Query.match([node])
|> Query.where(condition)
|> Query.return(return)
|> Query.params(params)

IO.puts(cql)
"MATCH\n  (n:User)\n\nWHERE\n  n.uuid = {user_uuid}\n\n\n\n\n\nRETURN\n  n\n\n\n\n\n"

IO.inspect(params)
%{user_uuid: "my-user-uid"}

Link to this section Summary

Functions

Adds information regarding batch query.

Adds DELETE data

Adds LIMIT data

Adds MATCH data

Adds MERGE data

Initilaize the Query struct

Adds OPTIONAL MATCH data

Adds ORDER BY data

Adds params

Adds RETLURN data

Adds SET data

Adds SKIP data

Adds WHERE data

Link to this section Types

Link to this type

t() View Source
t() :: %Ecto.Adapters.Neo4j.Query{
  batch: Ecto.Adapters.Neo4j.Query.Batch.t(),
  delete: [entity_expr()],
  limit: nil | integer() | atom(),
  match: [entity_expr()],
  merge: [Ecto.Adapters.Neo4j.Query.MergeExpr.t()],
  operation: atom(),
  optional_match: [entity_expr()],
  order_by: [Ecto.Adapters.Neo4j.Query.OrderExpr.t()],
  params: map(),
  return: nil | Ecto.Adapters.Neo4j.Query.ReturnExpr.t(),
  set: [Ecto.Adapters.Neo4j.Query.SetExpr.t()],
  skip: nil | integer() | atom(),
  where: nil | Ecto.Adapters.Neo4j.Condition.t()
}

Link to this section Functions

Adds information regarding batch query.

See Ecto.Adapters.Neo4j.batch_query4 for more info about batch queries.

Adds DELETE data

Adds LIMIT data

Adds MATCH data

Adds MERGE data

Initilaize the Query struct

Link to this function

optional_match(query, optional_match) View Source

Adds OPTIONAL MATCH data

Adds ORDER BY data

Adds params

Adds RETLURN data

Adds SET data

Adds SKIP data

Adds WHERE data