Geonovum / uml2json

Best Practise for OGC - UML to JSON Encoding Rules
https://geonovum.github.io/uml2json/document.html
0 stars 1 forks source link

Requirement 21 (/req/geojson-formats/identifier) #40

Closed heidivanparys closed 4 months ago

heidivanparys commented 1 year ago

I am not sure that I understand note 2 of this requirement. There seems to be a contradiction here?

image

PalmJanssen commented 6 months ago

What is meant is that: 1) the value of the UML property that has "isID"= true is mapped to the standard "id"member of the JSON feature. 2) the original UML property that has "isID" is also included in the data and encoded as any other property

jechterhoff commented 5 months ago

Maybe the requirement should be rephrased as follows: If at least one UML property of a feature type is modeled with “isId” = true, then the top-level “id” member of GeoJSON features that encode instances of the feature type shall have a value.

And below the requirement, in normal text, we can add the following: A UML property of a feature type, wich is modeled with “isId” = true, is mapped to the “id” member of a GeoJSON feature. The mapping algorithm is community-specific - especially if multiple such properties exist in a feature type.

The intent of the requirement is to state under which circumstance the top-level GeoJSON "id" member must have a value, so this is a requirement for instance data. The original phrasing is not perfect with respect to the first shall, because it cannot be tested - due to the mapping being community-specific.

@heidivanparys: Would that be better, in your view?

heidivanparys commented 5 months ago

@jechterhoff Yes, that would be better.

And below the requirement, in normal text, we can add the following: A UML property of a feature type, wich is modeled with “isId” = true, is mapped to the “id” member of a GeoJSON feature. The mapping algorithm is community-specific - especially if multiple such properties exist in a feature type.

Perhaps this text should be integrated in NOTE 1?

Minor additional comment on that piece of text:

A UML property of a feature type, wich is modeled with “isId” = true

should be

A UML property of a feature type which is modeled with “isId” = true

(so without comma, and with h)

What is meant is that:

  1. the value of the UML property that has "isID"= true is mapped to the standard "id"member of the JSON feature.
  2. the original UML property that has "isID" is also included in the data and encoded as any other property

@PalmJanssen In the second note, I am missing some text that explains this more explicitly. Perhaps "The UML properties with "isId" = true are encoded as any other property, in addition to being mapped to the top-level "id" member.".

jechterhoff commented 4 months ago

Issue #51 is related to this one.

PalmJanssen commented 4 months ago

In the second note, I am missing some text that explains this more explicitly. Perhaps "The UML properties with "isId" = true are encoded as any other property, in addition to being mapped to the top-level "id" member.".

agreed