You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In AbstractCityObjectType, the generalizesTo property has the type gml:ReferenceType. This means it can only be used to reference a city object but it cannot contain a city object inline. This is the way it should be.
Then AbstractCityObjectType can also have a relatedTo property that is modelled inside the type CityObjectRelationType (which maps the corresponding UML association class). Now, in contrast to generalizesTo, the relatedTo property has the type AbstractCityObjectPropertyType. Consequently, it can also contain a city object inline.
The type of relatedTo should be changed to gml:ReferenceType so that it cannot contain a city object inline and thus is consistent with generalizesTo.
The text was updated successfully, but these errors were encountered:
This issue relates to issue #18 which says that core:CityObjectRelationPropertyType should be changed into an inline property.
In the UML model, CityObjectRelation is defined in this way:
What we want to have in the instance document is:
This can only be achieved by setting the tagged value of the relatedTo association in the UML model to inlineOrByReference.
This, however, also means that we cannot guarantee that the <CityObjectRelation> element is always provided inline and the inner <relatedTo> element always references the related object.
When setting the tagged value to inline, instance documents will have to provide both, the <CityObjectRelation> element and the inner <relatedTo> element inline, which will not validate, as we have duplicate WallSurface ids:
When setting the tagged value to byReference, instance documents will not be able to provide the <CityObjectRelation> element, only the <relatedTo> element can be used to directly reference the related object:
In
AbstractCityObjectType
, thegeneralizesTo
property has the typegml:ReferenceType
. This means it can only be used to reference a city object but it cannot contain a city object inline. This is the way it should be.Then
AbstractCityObjectType
can also have arelatedTo
property that is modelled inside the typeCityObjectRelationType
(which maps the corresponding UML association class). Now, in contrast togeneralizesTo
, therelatedTo
property has the typeAbstractCityObjectPropertyType
. Consequently, it can also contain a city object inline.The type of
relatedTo
should be changed togml:ReferenceType
so that it cannot contain a city object inline and thus is consistent withgeneralizesTo
.The text was updated successfully, but these errors were encountered: