Data modeling
Syntax
Definition ::= "entity" QId "{" EntityBodyDef* "}"
EntityBodyDef ::= ID ":" Type ("(" {Anno ","}* ")")?
| "static" "function" ID "(" {FArg ","}* ")" (":" Type")? "{" Statement* "}"
| "function" ID "(" {FArg ","}* ")" (":" Type")? "{" Statement* "}"
Anno ::= "inverse:" ID
| "searchable"
FArg ::= ID ":" Type
| ID ":" Type "=" Exp
Example:
entity Category {
name : String
tasks : Collection<Task> (inverse: category)
}
entity Task {
name : String (searchable)
done : Bool
date : DateTime
category : Category (inverse: tasks)
tags : Collection<Tag> (inverse: tasks)
}
entity Tag {
name : String
tasks : Collection<Task> (inverse: tags)
}
language/entity.txt · Last modified: 2020/03/22 15:30 by Zef Hemel