RELATION
, CONTEXT
, CONTAINS
. All reserved words are written in capital letters. They are introduced on the fly. You will find an exhaustive list of reserved words at the end of this page."Peter"
or "KD-686-D"
. If you want to introduce a double quote inside an atom, escape it with a backslash, e.g. "the symbol \" is called double quote"
.
Numeric atoms always start with a digit, e.g. 4711
or 75.88E3
. The boolean atoms are TRUE
and FALSE
. Dates and timestamps follow the Excel-syntax, e.g. ??? The atom _SESSION
indicates the current user session, and is an instance of concept SESSION
. It is used in services.(
and )
. For populations and services we use square brackets [
and ]
.PATTERN
and ENDPATTERN
, and CONTEXT
and ENDCONTEXT
.--
. Everything after a --
symbol is ignored until the line ends. Multiline comments are wrapped between comment brackets {-
and -}
. Multiline comments may be nested.Person
, Case
, A
, and Order
. Relation names start with a lower case letter, as in contains
, attr
, sessionLogin
, or r
.=
(equal)\/
(union), /\
(intersect), -
(difference);
(composition), !
(relational addition), \
(right residual), /
(left residual), <>
(diamond operator)-
(complement), ~
(converse)r/\s\/t
is not allowed. You have to write either (r/\s)\/t
or r/\(s\/t)
. Across categories, you may omit brackets because a higher precedence binds stronger. So r;s\/t
means (r;s)\/t
. (Note that (r;s)\/t
and r;(s\/t)
have different meanings). Associative operators (\/
, /\
, ;
) need not be disambiguated with brackets. So r\/s\/t
and (r\/s)\/t
and r\/(s\/t)
all mean exactly the same.PRAGMA
UNI
INJ
SUR
TOT
SYM
ASY
TRN
RFX
IRF
PROP
CONTAINS
RULE
MESSAGE
VIOLATION
TXT
SRC
TGT
I
V
ONE
ROLE
MAINTAINS
INTERFACE
FOR
LINKTO
BOX
VIEW
ENDVIEW
DEFAULT
TEMPLATE
HTML
CLASSIFY
ISA
IS
REPRESENT
TYPE
ALPHANUMERIC
BIGALPHANUMERIC
HUGEALPHANUMERIC
PASSWORD
BINARY
BIGBINARY
HUGEBINARY
DATE
DATETIME
BOOLEAN
INTEGER
FLOAT
AUTOINCREMENT
TRUE
FALSE
--for booleans_SESSION
ONE
SESSION
SERVICE
EDITS
SPEC
KEY
PROCESS
ENDPROCESS