Download GRoundTram Version 0.9.3a User Manual

Transcript
Chapter 2
UnQL+
UnQL+ is a high-level, SQL-like programming language for describing graph
transformations. UnQL+ extends the UnQL graph querying language (Buneman et al. 2000) with three simple graph editing constructs: replace, delete,
and extend.
2.1
Syntax
UnQL+ is a small extension of UnQL to support convenient specification of
graph transformations (model transformations). We extend UnQL with three
editing constructs for transforming graphs. An UnQL+ expression takes a graph
as input and results in a graph.
The following BNF defines the syntax of UnQL+ expr ession.
expr
::=
|
|
|
select template ( where bc1 , . . . , bcn )?
replace rpp ->gvar by template1 in template2
where bc1 , . . . , bcn
delete rpp ->gvar in template
where bc1 , . . . , bcn
extend rpp ->gvar with template1 in template2
where bc1 , . . . , bcn
The following BNF defines a graph.
31
(* selection *)
(* replacement *)
(* deletion *)
(* extension *)