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