Declaring annotations
Use annotations to add descriptions to types and links:
Copy
type Label {
annotation description :=
'Special label to stick on reviews';
required comments: str;
review: Review {
annotation description :=
'This review needs some attention';
};
}
type Review {
content: str;
}Retrieving the annotations can be done via an introspection query:
Copy
db> ... ... ... ...
select introspect(Label) {
name,
annotations: {name, @value},
links: {name, annotations: {name, @value}}
};{
schema::ObjectType {
name: 'default::Label',
annotations: {
schema::Annotation {
name: 'std::description',
@value: 'Special label to stick on reviews'
},
},
links: {
schema::Link {
name: '__type__',
annotations: {}
},
schema::Link {
name: 'review',
annotations: {
schema::Annotation {
name: 'std::description',
@value: 'This review needs some attention',
},
},
},
},
},
}Alternatively, the annotations can be viewed by the following REPL command:
Copy
db>
\d -v Labeltype default::Label {
annotation std::description := 'Special label to stick on reviews';
required single link __type__: schema::ObjectType {
readonly := true;
};
optional single link review: default::Review {
annotation std::description := 'This review needs some attention';
};
required single property comments: std::str;
required single property id: std::uuid {
readonly := true;
constraint std::exclusive;
};
};