You can assign a slot in your schema “type designator” status
by setting designates_type to
This means that the slot can be used to designate the type of an instance.
For example, in the following schema, the
type slot is a type designator for the
classes: Organization: attributes: name: type: designates_type: true range: string Business: is_a: Organization EducationalOrganization: is_a: Organization ...
This means that if the
type slot is present in data for an instance of a class
Organization, then the value of the
type slot MUST be either “Organization” or any
of the transitive subclasses (by following
Additionally, if the instance instantiates a more specific class of Organization,
this must be consistent with the value of the
type slot. The value of the type slot
must be in the set of reflexive descendants or ancestors of the instantiated class.
The type designator can also be used to infer the instantiated class.
For example, an instance
i that instantiated
Organization in the above schema
with a type value of
Business would be inferred to be an instance of
Type designators can also be assigned to multivalued slots. In this case the same rules apply for each value of the slot. When performing inference, the most specific class is chosen.
In the above example, the range of the type designator is
It could also be
uriorcurie, in which case
it should match value of the class_uri field normalized to the appropriate form.