GQL Essentials Symbols and Notations
PDF ↗

GQL Essentials

Symbols and Notations

𝔸

Universe of identifiers / atomic names (catalog names, labels, property keys, column names).

𝕃 ⊆ 𝔸

Universe of label names.

𝕂 ⊆ 𝔸

Universe of property keys (property names).

𝕀

Universe of globally unique graph-element identifiers.

𝕋

Universe of types (static, dynamic, and base types).

𝕍

Universe of material values together with the null value.

null

Distinguished null value NULL.

ℕ

Natural numbers.

∞

Infinity (used for implementation-defined maxima and unbounded path-pattern or RPE repetition).

ℤ>0

Positive integers.

X∗

Set of finite sequences over X, including the empty sequence.

P(X)

Powerset of X.

M(X)

Bag/multiset of elements from X (multiplicity function over X).

Mfin(X)

Finite bag/multiset over X.

⇀

Partial function / partial map.

↦

Mapping constructor (e.g., k↦w).

≜

Definitional equality.

⟦⋅⟧

Denotation / semantic evaluation function.

⊢

Typing / judgment turnstile.

⊧

Satisfaction relation.

⊑

Subtype relation.

Ξ

Static type environment.

G

A (GQL) property graph.

V ⊆ 𝕀

Finite set of node identifiers.

E ⊆ 𝕀

Finite set of edge identifiers, disjoint from V (multigraph permitted).

λV : V →P(𝕃)

Node label map.

λE : E →P(𝕃)

Edge label map.

ρV : V → (𝕂 ⇀ 𝕍)

Node property map.

ρE : E → (𝕂 ⇀ 𝕍)

Edge property map.

src,dst : E → V

Edge endpoint functions; for an undirected edge their order is representational only.

→, ↔

Directed / undirected edge markers.

dir : E →{→,↔}

Edge directedness (directed/undirected).

ℝcat

Syntactically well-formed catalog object references of the GQL grammar.

ℚ

Globally resolved references to catalog objects.

Catalog

Abstract carrier of well-formed hierarchical GQL-catalogs.

C

Catalog (logical collection of named GQL objects).

X

Active context (catalog + working schema + working graph site).

WSR

Working schema reference (default parent for relative catalog-object references).

WG

Working graph site, occupied by a graph reference value whose referent is the working graph.

ℜ

Resolution environment (used by typing judgments).

Loc

Local map of parameters and binding variables used while typing expressions; catalog procedure references use catalog resolution.

resolveS(X,r)

Resolution of syntactic catalog reference r ∈ ℝcat to a globally resolved reference of sort S.

BT

Domain of descriptor-bearing binding tables.

BindingTables : ℚ ⇀ BT

Derived catalog projection from resolved binding-table references to binding-table objects.

SCX

Session context containing the session authorization identifier, principal, time zone, session schema and graph, parameters, list behavior, transaction and request context, and termination flag.

ListBeh

Session list-behavior policy for offset/ordinal indexing, negative indices, and out-of-range behavior; it does not govern list unwinding.

T,BT ∈BT

Binding-table objects.

BTunit

Unit binding table containing one empty record; distinct from an empty binding table.

τrec

Record type of a binding table.

fields(τrec)

Declared field-name set of record type τrec.

Recτrec

Set of records inhabiting record type τrec.

T = ⟨τrec,B,ord,pcs⟩

Binding table represented by its record type, finite record multiset, ordering component, and preferred column-name sequence.

B ∈Mfin(Recτrec)

Underlying finite multiset of record occurrences.

supp(B)

Support of bag B: the set of elements with positive multiplicity.

1[P]

Indicator of proposition P: 1 if P holds and 0 otherwise.

ord

Either the unordered marker or an ordering of the record occurrences of B.

pcs

Preferred column-name sequence: not set or a permutation of the table’s column names.

bag(T) = ⟨τrec,B⟩

Order-insensitive bag projection; it is not the complete binding-table object.

cols(T)

Column set of binding table T.

Cnew

Newly introduced columns (e.g., by a pattern).

PPat,GPat,GPBT

Sets of well-formed path patterns, graph patterns, and graph pattern binding tables.

Γ ∈GPat

Graph pattern, including an optional WHERE clause but not a YIELD clause.

Δgpbt ∈GPBT

Graph pattern binding table: a graph pattern with an explicit or implicit YIELD clause; the subscript distinguishes it from an update delta.

vars(Γ),varsexp(Γ)

Declared and exposed graph-pattern variables, including non-value subpath markers.

varsbind(Γ),varsexpbind(Γ)

All and exposed value-bearing node, edge, and path variables.

Dexpo,Dref

Exposure degree; and reference degree, which is undefined for non-referenceable subpath variables.

bind(h)

Binding extracted from match h and restricted to variables exported by the pattern.

GPBTΔgpbt(T)

Graph-pattern binding-table operator for graph pattern binding table Δgpbt.

MatchStmt

Abstract domain of match statements.

MatchOp,MatchBlock

Abstract domains of match operators and match blocks.

Q∈MatchBlock

Match-block metavariable, distinguished from bags B used by the binding-table algebra.

⟦Match(Δgpbt)⟧match

Denotation of MATCH as a binding-table transformer.

σφ,πX

Selection and projection operators.

⋊⋉

Bag natural join.

⊎

Bag union, adding record multiplicities.

μ ∼ ν,μ ⊔ ν

Compatibility and merge of record mappings.

B1 ⋊⋉ 𝜃B2

Guarded bag join: natural join followed by filtering with guard 𝜃.

⊲𝜃

Left outer join with guard 𝜃.

OptExpandF(T)

Per-record optional expansion of T by correlated binding-table transformer F.

OutF(μ)

New-column output of correlated transformer F for one incoming record occurrence μ.

unnestn:L(T)

FOR/list-unnesting operator, binding n to each list element occurrence in field L.

hdr(B)

Variables in the declared record type of bag-valued binding-table representation B.

πL,⊖,padR

Left-variable projection, bag difference on left projections, and null-padding of right-only variables.

E

Static environment for variables, parameters, functions, and relevant catalog objects.

Dyn = (G,μo)

Dynamic subquery environment: current graph and current outer-row mapping.

WALK

Path mode: walk (default).

TRAIL

Path mode: trail.

ACYCLIC

Path mode: acyclic path.

SIMPLE

Path mode: simple path.

M,mode,pm

Generic path-mode parameters.

Path(G)

Set of finite graph paths in G, represented by alternating node/edge sequences.

PathVal

Carrier of material GQL path values, which encapsulate path-element reference lists.

w ∈Path(G)

Graph path or RPE witness.

p ∈PathVal ∪{null}

Material or null path value.

okM(w)

Predicate that graph path w satisfies path mode M.

head(w),tail(w)

First- and last-node accessors for a graph path or RPE witness w.

len(w)

Edge-step length of a graph path or RPE witness w.

PEL(p),len(p)

Path-element list and edge length of path value p.

nodes(p),edges(p)

Node- and edge-list accessors for a path value.

head(p),tail(p)

First- and last-node accessors for a path value.

p ∘ q

Concatenation of path values whose boundary node references have the same referent.

ΣL

Finite alphabet of edge-label names used by the auxiliary RPE calculus.

r,R

Regular path expressions.

𝜀

Auxiliary zero-edge regular path expression.

δ,Sδ

Step predicate and graph-induced ternary step relation.

ψ : Path(G) →{⊤ ⁡,⊥}

Boolean path predicate used to guard an auxiliary regular path expression.

⟦r⟧Gmode

Bag denotation of r over graph G under the selected path mode.

∪ms, ∪set

Multiset and set alternation of regular path expressions.

⋊⋉ ⋈

Bag join on a shared endpoint with path-witness concatenation.

Der(R,pm)

Successful auxiliary derivation trees for R under pm.

χsp(d), ≡sp

Subpath-marker trace of derivation d, and equality modulo the same endpoint/path/marker trace.

Cand(R,pm)

Candidate set obtained by quotienting successful derivations while retaining multiset-alternation marker distinctions.

Πu,v(Cand(R,pm))

Endpoint-partition subset of Cand(R,pm) for fixed endpoints u,v ∈ V .

s

Selective path-search selector; κ is reserved for GQLSTATUS codes.

SPSPs(⋅)

Selective path-search prefix operator with selector s.

ALLPATHS

Non-selective path-search prefix: return all paths; it is not an SPSP.

ANYNPATHS

SPSP form: return any N paths.

SHORTESTNPATHS

SPSP form: return N shortest paths.

SHORTESTNGROUPS

SPSP form: return N shortest groups (partition-wise).

Ω

Abstract store state used by expression and query evaluation.

ηg,ηr

Global and row environments.

⇝⊆ 𝕋 × 𝕋

Partial implicit-cast relation.

⟨Ω,ηg,ηr⟩⊢ E ⇓ u

Expression-evaluation judgment, producing a value or error.

Var

Universe of variables used by expression and graph-pattern semantics.

μ : Var ⇀ 𝕍

Partial variable binding.

⟦ϕ⟧G,μtv

Three-valued denotation of predicate ϕ.

⊤ ⁡

True.

⊥

False.

U

Unknown (Kleene 3-valued logic).

𝔹3 = {⊤ ⁡,⊥,U}

Three-valued Boolean domain (true/false/unknown).

≼, ≺

Applicable weak order on comparable values and its strict part.

≈nd

Recursive GQL not-distinct relation used by grouping and duplicate treatment.

K = ⟨k1,… ⁡,ks⟩

Ordered sequence of grouping keys; ⟨⟩ denotes global aggregation.

κK(r)

Grouping-key tuple extracted from record r in the order fixed by K.

(Bi)i∈I

Pairwise disjoint group subbags induced by not-distinct grouping-key tuples.

Bi ⊑bagB

Subbag relation: every record multiplicity in Bi is at most its multiplicity in B.

F

Aggregator mapping a finite input bag to one aggregate result.

γg→;h→(B)

Combined grouping and grouped-projection operator.

Enumimpl(B)

Implementation-dependent enumeration of an unordered bag’s record occurrences.

ORDERBYo→(B)

Ordered binding table obtained using sort-specification list o→.

OFFSETo(S)

Sequence slicing by offset o.

LIMITℓ(S)

Sequence slicing by limit ℓ.

𝕋prop ⊆ 𝕋

Property value types supported by the implementation’s conformance claim.

𝕋scal, 𝕋coll

Selected scalar and collection fragments of 𝕋prop.

⟦τ⟧⊆ 𝕍

Denotation of supported property value type τ (admissible values).

LIST⟨τ⟩

Homogeneous list type constructor.

NodeRef,EdgeRef

Reference value types whose referents are nodes and edges, respectively.

Opt(τ)

Meta-level shorthand for a value type containing null; not a GQL type constructor.

⊒

Widening preorder on declarations/types (based on denotations).

c : ⟦τ0⟧ ⇀ ⟦τ1⟧

Partial cast between value types.

ℕN

Universe of node-type names.

ℕE

Universe of edge-type names.

ℕG

Universe of graph-type names.

ℕgraph

Universe of graph-entry names.

NDesc

Reduced book-level node-type descriptor representation ⟨N,LN,ptypeN⟩ contained in a graph type.

ETypeDesc

Reduced book-level edge-type descriptor representation ⟨ET,LE,kindE,endSpecE,ptypeE⟩ contained in a graph type.

Σ

Reduced book-level structural graph-type component ⟨NDecls,EDecls,NodeKLS,EdgeKLS⟩.

NDecls,EDecls

Finite node- and edge-type maps inside Σ, not top-level catalogs.

NodeKLS,EdgeKLS

Node and edge key-label-set dictionaries inside Σ.

GTypeDesc

Reduced book-level graph-type descriptor representation ⟨Σ,IGT⟩.

GraphEntry

Book-level abstraction ⟨G,GT?,I G⟩ of a stored-graph descriptor: graph, optional constraining graph-type reference, and direct constraints.

GE = ⟨G,GT?,I G⟩

Active graph entry used by conformance, constraint-validation, and data-modification rules.

none

Marker that a graph entry has no constraining graph type.

Graphs,GraphTypes

Derived catalog projections for graphs and graph types after standard reference resolution.

GT

Globally resolved graph-type reference.

resolveGraphType

Applied to (C,GT), resolves a graph type to its static descriptor ΣGT and constraint dictionary IGT.

ptypeT : 𝕂 ⇀ 𝕋prop

Static property signature of type descriptor T.

v :: N,e :: ET

Conformance judgments: node v conforms to node type N, and edge e conforms to edge type ET.

IGT,IG

Named constraint dictionaries owned by a graph type and directly by a graph, respectively.

Idirect(GE)

Range of the constraint dictionary defined directly on graph entry GE.

Iactive(GE)

Direct constraints of graph entry GE together with constraints of its constraining graph type, when present.

Sch

Schema state extracted from the catalog for the schema-evolution model.

absent

Sentinel for the absence of a property; it is not a GQL value.

CDesc

Carrier of key- and unique-constraint descriptors.

χ = ⟨P,c¯⟩

Key specification: deterministic constraint graph pattern and key value component sequence.

tχ(b)

Key tuple obtained from binding b according to key specification χ.

≈

Recursive GQL not-distinct relation on values and, pointwise, key tuples.

nullContaining(v)

Predicate that value v recursively contains the null value.

CBNF(C),CSNF(S)

Deterministic normal forms of constraint body C and complete constraint specification S.

σstoreAssignableTo τ

Applicable GQL store-assignment compatibility check from source type σ to target type τ.

Σtyping(GT?)

Graph-type-conformance clause for an optional constraining graph-type reference.

⟦GE⟧

Graph-type-conformance clause and direct key/unique constraints of graph entry GE.

T

Finite typing environment for binding variables in the effect judgments.

𝔈

Carrier of static effects.

𝜀eff

Static effect set; the empty effect denotes write-purity in this metamodel.

eeff

Primitive effect element.

Σ; T ⊢ S : 𝜀eff

Effect typing judgment for a query or data-modifying statement.

ok

Meta-level well-formedness judgment for primitive actions.

peff(a)

Primitive-effect extractor for an action a.

⊔eff,⊔ ⁡ eff

Binary and finite indexed joins in the effect algebra.

e1 ≤effe2

Effect ordering: e2 is a less specific abstraction of e1.

MayConflict(𝜀eff,1,𝜀eff,2)

Static conflict-approximation predicate between effects.

⊤ ⁡Λ

Unknown or unconstrained label-set abstraction.

CreateV[ΛV ]

Primitive effect: create a vertex (with label-set parameter Λ).

DeleteV[ΛV ]

Primitive effect: delete a vertex (with label-set parameter Λ).

CreateE[ΛE]

Primitive effect: create an edge (with label-set parameter ΛE).

DeleteE[ΛE]

Primitive effect: delete an edge (with label-set parameter ΛE).

V,E

Sort tags: vertex/edge (used in effect constructors).

Set(X,k)

Primitive effect: set property k on sort X ∈{V,E}.

ClearProps(X)

Primitive effect: clear all properties on sort X ∈{V,E}.

RemProp(X,k)

Primitive effect: remove property k on sort X ∈{V,E}.

AddLbl(X,ℓ)

Primitive effect: add label ℓ on sort X ∈{V,E}.

RemLbl(X,ℓ)

Primitive effect: remove label ℓ on sort X ∈{V,E}.

K

Implementation configuration record (implementation-defined choices).

Gcur

Current working graph in data-modification rules; distinct from the acronym CG (Conceptual Graph).

RefTyV ,RefTyE

Reference value types for nodes/edges (implementation-defined).

LabMinV ,LabMaxV

Supported min/max node-label counts.

LabMinE,LabMaxE

Supported min/max edge-label counts.

PropMaxV ,PropMaxE

Supported maximum property counts for nodes/edges.

Δ

Coalesced update delta of compatible primitive mutations.

⊕

Apply a delta to a graph/store state (state update operator).

insNode(v, Λ,P)

Primitive mutation: insert node v with labels Λ and properties P.

delNode(v)

Primitive mutation: delete node v.

insEdge(e, Λ,P,u,v,d)

Primitive mutation: insert an edge with labels, properties, endpoints, and directedness d.

delEdge(e)

Primitive mutation: delete edge e.

setPropV,setPropE

Grounded setters for vertex/edge properties (template grounding).

clearPropsV, clearPropsE

Grounded operations that clear all vertex/edge properties for a set-all-properties item.

delPropV,delPropE

Grounded deleters for vertex/edge properties (template grounding).

addLabelV,addLabelE

Grounded add-label operations (vertex/edge).

delLabelV,delLabelE

Grounded remove-label operations (vertex/edge).

groundμ(⋅)

Grounding of an update atom by evaluating expressions under binding μ.

WSμ(U)

Per-binding write-set (list of grounded operations produced by template U under μ).

ΔU := ⊞ ⁡μ∈MWSμ(U)

Staged delta obtained by folding the write-set coalescer over bindings.

⊞

Deterministic partial write-set coalescer, distinct from bag union and diagnostic disjoint sum.

okGE(G,Δ)

Predicate that the post-state satisfies the graph’s direct constraints and conforms to its constraining graph type, when present.

PDesc

Compact lookup-augmented representation ⟨p,xj : τj¯,xm′ : τ m′ = d m¯,τres,kind⟩ of a named-procedure catalog entry.

BT⟨zi : υi¯⟩

Material procedure binding-table result type with named, typed result fields.

τres

Procedure result type; for a CALL-statement, a material type BT⟨zi : υi¯⟩ or the empty type.

e¯assignableTo(τ¯,τ′¯)

Componentwise assignment-compatibility check for actual procedure arguments and mandatory/optional parameter types.

sig(PDesc)

Core procedure signature derived from a named-procedure descriptor.

Procs : ℚ ⇀ PDesc

Catalog projection mapping qualified procedure references to named-procedure descriptors.

resolveProc(X,p)

Resolution of procedure reference p in active context X.

Tx = ⟨u,iso,P¯,SP⟩

Transaction: session authorization identifier, isolation choice, sequence of procedure executions, and optional extension state SP for savepoints outside the GQL core.

Δ(B)

Update sequence (delta) produced by executing program/block B.

◇

Ordered composition of deltas.

Committed(Ω′)

Successful commit outcome with resulting store state Ω′.

RolledBack(Ω)

Successful rollback outcome leaving the original store state.

Aborted(κ)

Failed transaction outcome carrying status code κ.

Ωinit,Ωfinal

Initial/final store states in a serializability argument.

ρ

Permutation witnessing serializability of committed transactions.

Ωibase

Base store state visible to statement Si; snapshot selection outside the serializable core is implementation-defined.

Δ<i = Δ1 ◇⋯ ◇Δi−1

Transaction-local cumulative delta preceding statement Si.

Ωivis = Ω ibase ⊕Δ <i

Store state read by statement Si.

𝔸𝕀𝔻

Universe of authorization identifiers.

ℝ𝕆𝕃𝔼

Universe of roles.

𝕆𝔹𝕁

Universe of authorization targets (complete catalog or data objects in the core model).

ℙℝ𝕀𝕍

Universe of privileges; modeled as a finite poset.

⟨ℙℝ𝕀𝕍,≤⟩

Privilege poset (dominance order).

⊔ ⁡ P

Join (least upper bound) of a finite privilege set P ⊆ ℙℝ𝕀𝕍.

Z

Authorization state (set of role/grant facts).

hasRole(u,r)

Fact: authorization identifier u ∈ 𝔸𝕀𝔻 has role r.

grant(g,x,ϖ,o)

Fact: grantor g grants privilege ϖ on object o to grantee x.

eff(u,o)

Effective privilege of authorization identifier u on object o.

Θ; 𝔖 ⊢ S : τ ⊳ ΠS

Authorization typing judgment producing privilege obligations, with binding and static schema/type contexts.

ΠS ⊆ ℙℝ𝕀𝕍 × 𝕆𝔹𝕁

Obligation set (required privileges on objects).

(u,o) ∈available

Complete GQL-object o is available to authorization identifier u ∈ 𝔸𝕀𝔻.

txMode

Current transaction access mode, RO or RW.

ϖmatch,ϖinsert

Representative privilege tokens used in obligation rules (match/insert).

Err

Carrier of abstract exception-condition tokens.

eerr ∈Err

Exception-condition token used by the diagnostic metamodel.

GQLStatus

Opaque carrier of GQL-status objects.

ζ,ζ¯

Primary GQL-status object and finite list of additional GQL-status objects.

Fail(eerr,ζ,ζ¯)

Failed outcome: exception condition and status objects, with no result.

∐

Disjoint sum used in diagnostic result domains.

RegularResult = 𝕍∐BT

Carrier of regular results: values or binding tables.

Result = RegularResult∐{omitted}

Carrier of regular and omitted results.

Succ = {Ok(R,ζ,ζ¯)∣R ∈Result}

Carrier of successful outcomes with their result and status objects.

Res = Succ ∐Fail

Execution-outcome carrier combining successful and failed outcomes.

ℂℍ

Alphabet of status-code characters.

ℂ𝕃𝔸𝕊𝕊

Status “class” strings (length 2).

𝕊𝕌𝔹ℂ𝕃𝔸𝕊𝕊

Status “subclass” strings (length 3).

𝕊𝕋𝔸𝕋𝕌𝕊 ⊆ ℂℍ5

Status-code space (GQLSTATUS codes).

κ ∈ 𝕊𝕋𝔸𝕋𝕌𝕊

A status code identifying a condition.

κok,κok_omitted

Status codes 00000 (successful completion with a regular result) and 00001 (successful completion with an omitted result).

κwarning,κno_data

Status codes 01000 (completion with a warning) and 02000 (completion with an empty result).

⋅

String concatenation.

κ = cκ ⋅ sκ

Unique factorization into class and subclass parts.

class(κ)

Extract class part of status code κ.

subclass(κ)

Extract subclass part of status code κ.

cat(κ)

Category function for status codes.

S,W,N,I,X

Status categories (successful, warning, no-data, informational, exception), as used by cat(κ).

𝕊𝕋𝔸𝕋𝕌𝕊compl

Completion-condition code subset.

𝕊𝕋𝔸𝕋𝕌𝕊exc

Exception-condition code subset.

𝕊𝕋𝔸𝕋𝕌𝕊info

Informational-condition code subset.

𝕊𝕋𝔸𝕋𝕌𝕊std

Standard-assigned status-code subset.

𝕊𝕋𝔸𝕋𝕌𝕊impl

Implementation-defined status-code subset.

code : Err → 𝕊𝕋𝔸𝕋𝕌𝕊exc

Total mapping from error tokens to exception-condition GQLSTATUS codes.

NLOGSPACE,NP

Nondeterministic logarithmic-space and nondeterministic polynomial-time classes.

PTIME,PSPACE

Polynomial-time and polynomial-space classes.

2EXPTIME

Double-exponential-time complexity class.

ALCI

Description logic ALC extended with inverse roles.

ALCQ

Description logic ALC extended with qualified number restrictions.

ALCQI

Description logic ALC extended with qualified number restrictions and inverse roles.

#Datalog

Fully compositional graph-to-graph language used in the cited extension proposal.

Search chapters, definitions and examples.