OData @ SAP - Vocabularies

EntityRelationship Vocabulary

Namespace: com.sap.vocabularies.EntityRelationship.v1

Terms to better document the Entity Relationship model outside of the current API / data model context

Terms

Term Type Description
entityType (Experimental) String Defines which ORD Entity Type the current JSON Schema object represents. There could be several JSON Schema objects that are assigned to the same Entity Type. One JSON Schema object can only have one ORD Entity Type assigned, which corresponds to the applications own Entity Type definition. The ID scheme for an Entity Type ID is as following:
entityTypeId := namespace:entityTypeLocalId[:v"majorVersion"]
propertyType (Experimental) String Logical property type of a property
Defines the logical Property Type of a property. The reason is to have an ID to relate to the property type independently of the property name and shared across every usage of the same property across APIs where names might be different.
Especially to state that it can be used as an ID or is part of a composite ID.
A Property Type ID follows the same format and considerations as the Entity Type ID explained above: PropertyTypeId := namespace:propertyTypeLocalId[:v"majorVersion"]
entityIds (Experimental) [entityId] The annotated entity type represents an ODM root entity

Defines a list of IDs, which are available to look up the Entity Type or create a reference to it. An Entity Type can have multiple IDs:

  • There can be alternative IDs that can also be used to create a reference to the Entity Type
  • Some ID properties form a composite ID together and need to be combined to function as a unique ID for references
  • This is indicated by a propertyTypes array with more than one Property Type ID entry.
reference singleReference Defines references to other Entity Types based on a single ID.
compositeReferences (Experimental) [compositeReference] Defines one or many references to other Entity Types based on a composite IDs.
temporalIds (Experimental) [temporalId] Defines a list of temporal IDs.
temporalReferences (Experimental) [temporalReference] Defines a list of temporal references.
referencesWithConstantIds (Experimental) [referencesWithConstantId] Defines one or many references to other Entity Types based on a composite IDs where some properties of the references are constant values.

singleReference

Defines a reference to another Entity Type based on a single ID.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the reference.
referencedEntityType (Experimental) entityTypeID ID of the referenced entity type.
referencedPropertyType (Experimental) propertyTypeID ID of the property type used in the references entity to identify the instance.

entityId

Defines an ID that can be used to look up the Entity Type or create a reference to it.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the ID.
description (Experimental) String? Optional description to describe the semantics of the ID.
propertyTypes (Experimental) [propertyTypeID] List of property type IDs.

compositeReference

Defines a single reference to another Entity Type based on a composite ID.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the reference.
referencedEntityType (Experimental) entityTypeID ID of the referenced entity type.
referencedPropertyType (Experimental) [referencedPropertyType] List of property types the composite ID in the references entity consists of.

referencedPropertyType

Grouping of the ID in the referenced entity, by its property type ID and the local name in this entity.

Property Type Description
referencedPropertyType (Experimental) propertyTypeID ID of the property type used in the references entity to identify the instance.
localPropertyName (Experimental) PropertyPath Name of the property in the local Entity Type.

temporalId

Defines an ID that includes a temporal interval.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the ID.
description (Experimental) String? Optional description to describe the semantics of the ID.
propertyTypes (Experimental) [propertyTypeID] List of property type IDs that are non-temporal.
temporalIntervalType (Experimental) temporalIntervalTypeEnum Interval which includes the boundaries.
temporalType (Experimental) temporalTypeEnum The temporal ID type, of this temporal ID.
temporalIntervalStartProperty (Experimental) PropertyPath Property in the local entity that is used to define the start of the interval.
temporalIntervalEndProperty (Experimental) PropertyPath Property in the local entity that is used to define the end of the interval.

temporalIntervalTypeEnum

Member Value Description
CLOSED_CLOSED 0 Closed, Closed interval including the start and end value.
OPEN_OPEN 1 Open, Open interval excluding the start and end value.
OPEN_CLOSED 2 Open, Closed interval excluding the start and including the end value.
CLOSED_OPEN 3 Closed, Open interval including the start and excluding the end value.

temporalTypeEnum

Member Value Description
DATE 0 Date based interval.
DATETIME 1 Date and Time based interval.

temporalReference

Defines single temporal reference to another Entity Type.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the reference.
referencedEntityType (Experimental) entityTypeID ID of the referenced entity type.
referencedPropertyType (Experimental) [referencedPropertyType] List of properties, the composite ID consists of.
category (Experimental) temporalCategoryEnum Category of the temporal reference.
selectionDateProperty (Experimental) PropertyPath Property in the local entity that is used to select the right date interval.

temporalCategoryEnum

Member Value Description
TEMPORAL_DATE 0 Date based temporal reference.

referenceWithConstantId

Defines single a reference to another Entity Type based on a composite ID.

Property Type Description
name (Experimental) String? Optional name to describe the semantics of the reference.
referencedEntityType (Experimental) entityTypeID ID of the referenced entity type.
referencedPropertyType (Experimental) [referencedPropertyTypeWithConstantId] List of properties, the composite ID consists of.

referencedPropertyTypeWithConstantId

Grouping of the ID in the referenced entity, by its property type ID and either the local name in this entity or a constant value.

Property Type Description
referencedPropertyType (Experimental) propertyTypeID ID of the property type used in the references entity to identify the instance.
localPropertyName (Experimental) PropertyPath? Name of the property in the local Entity Type.
constantValue (Experimental) String? String serialization of the constant value of the property in the referenced entity.

propertyTypeID

Type: String

ID of the property type. The reason is to have an ID to relate to the property, especially to state that it can be used as an ID or is part of a composite ID.
A Property Type ID follows the same format and considerations as the Entity Type ID explained above: PropertyTypeId := namespace:propertyTypeLocalId[:v"majorVersion"]

entityTypeID

Type: String

ID of the entity type. The ID scheme for an Entity Type ID is as following:
entityTypeId := namespace:entityTypeLocalId[:v"majorVersion"]