notes
this section defines Algebraic Property Graphs
Elements have a value, and a label.
Values have a type
Labels are associated with a type (a schema)
For every element, the type of the value needs to be the type in the schema for the label