# nebula_graph_ex v0.1.10 - API Reference

## Modules

- [NebulaGraphEx.Error.Code](NebulaGraphEx.Error.Code.md): Mapping between NebulaGraph integer error codes and Elixir atoms.
- [NebulaGraphEx.Thrift.Client](NebulaGraphEx.Thrift.Client.md): Low-level Thrift binary protocol request/response over a framed socket.
- [NebulaGraphEx.Thrift.GraphService](NebulaGraphEx.Thrift.GraphService.md): Typed Thrift calls for the NebulaGraph `GraphService`.
- [NebulaGraphEx.Thrift.Types](NebulaGraphEx.Thrift.Types.md): Thrift binary encoding and decoding of NebulaGraph data types.
- [NebulaGraphEx.Types.NebDate](NebulaGraphEx.Types.NebDate.md): NebulaGraph date value.
- [NebulaGraphEx.Types.NebDateTime](NebulaGraphEx.Types.NebDateTime.md): NebulaGraph datetime value (no timezone).
- [NebulaGraphEx.Types.NebTime](NebulaGraphEx.Types.NebTime.md): NebulaGraph time-of-day value (no timezone).

- Public API
  - [NebulaGraphEx](NebulaGraphEx.md): Elixir client for [NebulaGraph](https://www.nebula-graph.io/) — a distributed
open-source graph database.
  - [NebulaGraphEx.Graph](NebulaGraphEx.Graph.md): Public API for querying NebulaGraph.

- Result Decoding
  - [NebulaGraphEx.Record](NebulaGraphEx.Record.md): A single row in a `NebulaGraphEx.ResultSet`.
  - [NebulaGraphEx.ResultSet](NebulaGraphEx.ResultSet.md): A decoded NebulaGraph result set with a convenient row/column API.
  - [NebulaGraphEx.Value](NebulaGraphEx.Value.md): Converts raw `{tag, value}` tuples from `NebulaGraphEx.Thrift.Types` into
idiomatic Elixir terms.

- Graph Types
  - [NebulaGraphEx.Types.Duration](NebulaGraphEx.Types.Duration.md): NebulaGraph duration value.
  - [NebulaGraphEx.Types.Edge](NebulaGraphEx.Types.Edge.md): Represents a directed edge (relationship) in NebulaGraph.
  - [NebulaGraphEx.Types.Geography](NebulaGraphEx.Types.Geography.md): NebulaGraph geography (geospatial) value.
  - [NebulaGraphEx.Types.Path](NebulaGraphEx.Types.Path.md): Represents a path through the graph — a sequence of alternating vertices
and edges, starting from a source vertex.
  - [NebulaGraphEx.Types.Tag](NebulaGraphEx.Types.Tag.md): A tag (label) attached to a `NebulaGraphEx.Types.Vertex`, carrying a map of
property names to decoded Elixir values.
  - [NebulaGraphEx.Types.Vertex](NebulaGraphEx.Types.Vertex.md): Represents a NebulaGraph vertex (node).

- Internals
  - [NebulaGraphEx.Connection](NebulaGraphEx.Connection.md): `DBConnection` behaviour implementation for NebulaGraph.
  - [NebulaGraphEx.Error](NebulaGraphEx.Error.md): Represents a NebulaGraph error returned by the server or raised by the client.
  - [NebulaGraphEx.Options](NebulaGraphEx.Options.md): Option schema and validation for `NebulaGraphEx.Graph`.
  - [NebulaGraphEx.Query](NebulaGraphEx.Query.md): Represents a nGQL query to be executed against NebulaGraph.
  - [NebulaGraphEx.Result](NebulaGraphEx.Result.md): Raw execution result from NebulaGraph, as returned by `DBConnection`.
  - [NebulaGraphEx.Telemetry](NebulaGraphEx.Telemetry.md): `:telemetry` integration for `nebula_graph_ex`.
  - [NebulaGraphEx.Transport](NebulaGraphEx.Transport.md): Low-level TCP/SSL socket abstraction with Thrift framed transport.

## Mix Tasks

- [mix nebula_graph_ex.gen.graph](Mix.Tasks.NebulaGraphEx.Gen.Graph.md): The recommended way to set up `nebula_graph_ex` in your application.
- [mix nebula_graph_ex.tag](Mix.Tasks.NebulaGraphEx.Tag.md): Creates an annotated git tag that matches the version in `mix.exs`.
- [mix nebula_graph_ex.version](Mix.Tasks.NebulaGraphEx.Version.md): Bumps the package version in `mix.exs`.

