2 . Schema.org Classes

We create collections based on classes from schema.org. So, to begin working with collections it's of importance to understand core mechanisms of schema and how we reflect them in Momentum.

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:

  1. Look better again - there is a big chance that you have missed it.

  2. 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.

  1. Core Concepts
    1. Structured Data, MicroData, Schema.org
    2. GraphDB & Dynamic Content
    3. Html Renders (VPTL Model)
    4. Semantic HTML  (Document Semantics)
    5. CSS & Preprocessors
    6. External CSS & JS Libraries
    7. Integrated CMS
    8. Momentum Network and Market
  2. Environment
    1. Viewport
    2. Project Settings
    3. Tools Panel
    4. Code Editor & External Libraries
    5. Visual Helpers
    6. Web Parser
    7. Structure Panel
    8. Render Panel
    9. Stylebook
    10. Assets
  3. HTML
    1. Layout Structure (Master Template)
    2. Basic HTML Building
    3. Parsing Pre-made HTML
    4. Working With Snippets
    5. HTML In Dynamic Collection
    6. Hidden HTML Elements
    7. Forms
    8. Container Lock
  4. Website Structure
    1. Blank Pages
    2. Schema.org Classes
    3. Collections
    4. Collection Properties
    5. DIMS Module Settings
    6. Stylebook (vptli)
    7. Using Render Panel
    8. Index Operations
    9. Relations Between Collections
    10. Taxonomies
  5. Schema.org, Advanced
    1. Independent vs Context
    2. Testing Schema
    3. Knowing When To Stop
  6. Classes & Attributes, Advanced
    1. Auto Generated Classes
    2. Dynamic Attributes
  7. DIMS (CMS)
    1. Overview
    2. DIMS Interfaces
    3. DIMS Modules
    4. Publishing Content
  8. Building Editing Flow
    1. Inbound & Outbound Relations
    2. Using Dims Attributes
  9. Going Live
    1. Connect An External Domain Name