Open Cypher

Cypher is a declarative graph query language originally developed by Neo4j and now an open standard. ArcadeDB provides native support for Cypher through its new OpenCypher implementation, allowing you to query and manipulate graph data using familiar Cypher syntax.

Overview Clauses

Read Write Query Composition Schema (DDL) User Management Planning

MATCH

CREATE

WITH

CREATE CONSTRAINT

SHOW USERS

EXPLAIN

Path Mode

MERGE

UNWIND

DROP CONSTRAINT

SHOW CURRENT USER

OPTIONAL MATCH

WHERE

SET

ORDER BY

CREATE USER

RETURN

DELETE

SKIP/LIMIT

DROP USER

LOAD CSV

ALTER USER

Overview Functions

Aggregation Math String List Node/Relationship

count()

abs()

toUpper()

size()

id()

sum()

sqrt()

toLower()

head()

labels()

avg()

ceil()

trim()

tail()

type()

min()

floor()

substring()

last()

keys()

max()

round()

replace()

range()

properties()

collect()

rand()

split()

reverse()

startNode()

Extended Functions (APOC Compatible)

ArcadeDB provides 100+ additional functions organized by namespace. See reference/extended-functions.adoc#extended-functions for the complete reference.

Namespace Description Example APOC Compatible

agg.*

Aggregation

agg.median([1,2,3,4,5])

apoc.agg.*

algo.*

Graph algorithms

CALL algo.dijkstra(…​)

apoc.algo.*

coll.*

Collection operations

coll.flatten([[1,2],[3]])

apoc.coll.*

convert.*

Type conversion

convert.toJson({name:"John"})

apoc.convert.*

date.*

Date/time operations

date.currentTimestamp()

apoc.date.*

map.*

Map operations

map.merge({a:1}, {b:2})

apoc.map.*

meta.*

Schema introspection

CALL meta.schema()

apoc.meta.*

text.*

String manipulation

text.join(["a","b"], ",")

apoc.text.*

util.*

Hashing, compression

util.sha256("hello")

apoc.util.*

vector.*

Vector/embeddings

vector.cosinesimilarity(v1, v2)

-

Quick Reference

Query Language ID Description

opencypher

NEW - Native OpenCypher implementation (recommended)

cypher

Legacy Cypher-for-Gremlin implementation (deprecated)