Every repository must support at least the primary node type nt:base. All other primary node types must be subtypes of nt:base. A number of predefined primary node types are defined for common application domains.
In general, support for these additional primary node types is optional.
Three mixin node types mix:referenceable, mix:versionable and mix:lockable are defined. In general support for these types is also optional. However:
mix:referenceable is required in order to support UUID-bearing nodes, which in turn support REFERENCE property types and versioning.