Schema.org exposes vast number of classes (or types - we use terms classes and types interchangeably). The full schema hierarchy is visible here https://schema.org/docs/full.html
Important things to understand are:
Classes can inherit properties, from other classes.
Schema is a graph. Classes can relate via their properties to other classes.
Inheritance
Fields
Relations
Outbound Relations
Inbound Relations
Each property expects some value that will be of some kind of data type. It's called Expected Type.
Fields. If it's a simple data type such as Text, then we say it's a Field.
Relations. When the expected type of the property points to another collection, it's a relation.
Some properties are polymorphic, meaning they can have multiple Expected Types.
Pay attention to these examples.
We can notice that class Person inherits properties from Thing. Also each property has its Expected Type.
Person inherits properties from Thing. So when you create collection People, out of the class Person, you will have merged together all the properties from both, Person and Thing classes.
The property worksFor points to another class. In Momentum, we would call this one outbound relation. We may use image or textual annotation for outbound relations as shown bellow.
From another point, the class Organization expects incoming relation worksFor from the class Person. In Momentum, we call this inbound relation. Pay attention to opposite direction of the arrows.
Regular updates of schema.org
We perform regular updates for each new schema.org release(link to https://schema.org/docs/releases.html), so all the classes and properties are at your disposal for usage in Momentum.
Pending classes and properties are not supported
Pending classes and properties (coloured in blue at schema.org) are not available in Momentum, by default. But you can use it through attributes on your own.
If there is no Class for your needs
Schema has a vast universe of available classes (https://schema.org/docs/full.html). If, by chance, you don't find the class that suits your needs, there are 2 things you can do:
Look better again - there is a big chance that you have missed it.
If you still don't find it, you'll probably use Thing as a starting point, and then create custom non-semantic properties on it.