The Edm.String data type can be used to define a type annotation property when the property will hold the name of some other property. A more specific data type could be added to OData for this purpose.
In the OData Extension for Temporal Data we suggested this annotation:
<Annotation Term="Temporal.ApplicationPeriod">
<PropertyValue Property="StartPeriod" String="bus_start" />
<PropertyValue Property="EndPeriod" String="bus_end" />
</Annotation>
Instead of declaring StartPeriod and EndPeriod to be of type String, we could declare them to be of type PropertyName.