API Reference AshNeo4j v#0.7.0

Copy Markdown View Source

Modules

AshNeo4j BoltyHelper

AshNeo4j Cypher Functions for converting Elixir data structures to Cypher query components and running Cypher queries against a Neo4j database. Ideally has no specific knowledge of Ash

CALL { … } block joining pre-rendered branch cyphers with UNION or UNION ALL. Used for native combination-query pushdown (:union, :union_all).

CREATE clause. pattern is a Cypher pattern string, e.g. "(n:Actor {name: $n_name})".

DELETE clause. items is a list of variables to delete, e.g. ["r"].

DETACH DELETE clause.

LIMIT clause.

MATCH clause. pattern is a Cypher pattern string, e.g. "(s:Actor)".

MERGE clause. pattern is a Cypher pattern string.

OPTIONAL MATCH clause.

ORDER BY clause. Each term is a {property_expression, :asc | :desc} pair.

Typed representation of a Cypher query, and builders for constructing common patterns.

REMOVE clause. items is a list of property references, e.g. ["n.born"].

RETURN clause.

SET clause. expression is the full SET expression, e.g. "n += {born: $n_born}".

SKIP clause.

WHERE clause. Each entry in conditions is ANDed together.

WITH clause.

Ash DataLayer for Neo4j

Casting for AshNeo4j.DataLayer

Domain-level DSL extension for AshNeo4j.

Introspection helpers for AshNeo4j.DataLayer.Domain

Dumping for AshNeo4j.DataLayer

Introspection helpers for AshNeo4j.DataLayer

Type Classifier for AshNeo4j.DataLayer

Describes a single graph edge from a resource's perspective.

Spatial containment — true if the first geometry contains the second.

Geodesic distance between two points, in meters. Mirrors ash_geo / PostGIS ST_Distance. v1 supports point-point only.

Alias for st_distance. PostGIS distinguishes the two because PostGIS ST_Distance returns degrees for geographic types unless cast; Neo4j's point.distance is always meters for WGS-84, so the distinction is cosmetic for us. This module exists for API parity with ash_geo so consumer code reads identically across data layers.

True if two geometries are within a given distance of each other. Mirrors ash_geo / PostGIS ST_DWithin. v1 supports point-point only, with the threshold in meters (geodesic, WGS-84).

st_intersects(a, b) — true if two geometries share any space. Mirrors ash_geo / PostGIS ST_Intersects. v1 supports box-box.

st_within(a, b) — true if a is contained by b. Argument-flipped st_contains. Mirrors ash_geo / PostGIS ST_Within.

AshNeo4j DataLayer Neo4j Helper

AshNeo4j DataLayer QueryHelper

Resource information for AshNeo4j.DataLayer

A compile-time description of how an Ash resource maps to the Neo4j graph.

Test sandbox for AshNeo4j, analogous to Ecto.Adapters.SQL.Sandbox.

Ash type for an axis-aligned bounding box. v1 supports WGS-84 2D only.

Ash type for a Neo4j Point. v1 supports WGS-84 2D only.

AshNeo4j Util

Verifies that attribute types are supported by AshNeo4j.DataLayer

Verifies that relate is unique so relationships are enrichable

Verifies that each guard is a node relationship meeting Neo4j conventions

Verifies that Neo4j labels are PascalCase

Verifies that Neo4j properties are camelCase

Verifies that each relate relates to a relationship, and that the edge labels meets Neo4j conventions

Mix Tasks

Installs AshNeo4j