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 *)