Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ER_dateOfDetermination&dateOfDiscovery_missing nilreason #65

Closed
Dnoack49 opened this issue Mar 14, 2022 · 11 comments
Closed

ER_dateOfDetermination&dateOfDiscovery_missing nilreason #65

Dnoack49 opened this issue Mar 14, 2022 · 11 comments

Comments

@Dnoack49
Copy link

Dnoack49 commented Mar 14, 2022

Change proposal description

In May 2020 the issue Energy Resources: Missing nilReason for dateOfDetermination and dateOfDiscovery was opened in the INSPIRE Thematic Cluster. As it has not been solved this git issue was created.

Issue faced

The Energy Resources vector schema has issues concerning two properties that are defined differently in the according UML model :

  1. RenewableAndWasteResource.dateOfDetermination: is missing nilReason definition (attribute nillable is set to 'true' for it though)
  2. FossilFuelResource.dateOfDiscovery: is missing nilReason definition (attribute nillable is set to 'true' for it though)

Additional information

Proposal reason

Bugfix

Addressed schema

https://inspire.ec.europa.eu/schemas/er-v/4.0/EnergyResourcesVector.xsd

Impact on INSPIRE TG / IR

No impact on TG/IR.

@fabiovinci
Copy link
Collaborator

fabiovinci commented Mar 14, 2022

Dear @Dnoack49,

thank you for opening the issue.

Looking at your proposal it seems that the errors are as follows:

  • RenewableAndWasteResource.dateOfDetermination: is missing nilReason definition (attribute nillable is set to 'true' for it though)
  • FossilFuelResource.dateOfDiscovery: is missing nilReason definition (attribute nillable is set to 'true' for it though)

Moreover, the addressed schema should be: https://inspire.ec.europa.eu/schemas/er-v/4.0/EnergyResourcesVector.xsd

Could you please check and edit your comment?
Thanks

@Dnoack49
Copy link
Author

Dnoack49 commented Mar 15, 2022

Dear @fabiovinci ,
ok, I have edited the proposal accordingly.

@fabiovinci fabiovinci added the for Sub-group The change proposal is to be assessed by the Sub-group label Mar 17, 2022
@sMorrone sMorrone added the for INSPIRE MIG-T The change proposal is to be assessed by the INSPIRE MIG-T. label Mar 24, 2022
@sMorrone
Copy link
Collaborator

sMorrone commented Mar 24, 2022

Subgroup meeting on 24.03.2022:
the Subgroup approved this change proposal.
Exceptionally, given the proximity of the next MIG-T meeting, and in order to speed up the approval process, this change proposal that, following the governance process workflow, would have been responsibility of INSPIRE CT (whose meeting will be subsequent to that of the MIG-T) will be discussed in the MIG-T meeting.

@sMorrone sMorrone removed the for Sub-group The change proposal is to be assessed by the Sub-group label Mar 24, 2022
@fabiovinci
Copy link
Collaborator

It seems the proposed solution cannot be implemented in the xsd.
In particular, since the nilReason attribute should be added by extension of the type 'TimePositionType', this is not possible because the 'TimePositionType' forbids derivation by extension.
Below the screenshot of the related error in oXygen:

image

However using the dataType "TM_Position" inexact temporal positions may be expressed using the optional indeterminatePosition attribute, which takes values from the below enumeration:

image

An alternative solution could be (but we would not reconmend this) to propose a change in the data type of the two attributes using, for example, the "dateTime" or "date" dataTypes.

The sub-group members are now kindly asked to provide feedback on the above.

@heidivanparys
Copy link
Collaborator

In particular, since the nilReason attribute should be added by extension of the type 'TimePositionType', this is not possible because the 'TimePositionType' forbids derivation by extension.

I did some research and noted that this issue was observed as well during the work done in the OGC OWS-6 Interoperability Testbed. One of the engineering reports, OGC OWS-6-AIM Engineering Report, links to a change request, OGC 09-023r1, that contains the following comment:

It was also noted that the “unknown” enumeration value provides a reason for a nil element value, hence attention is drawn to the possibility of adding the nilReason attribute with type='gml:NilReasonEnumeration' to gml:TimePositionType in lieu of the unknown enumeration value in TimeIndeterminateValueType and for consistency with other GML property types.

However, this, and the actual change proposal in that document, does not seem to have been addressed by OGC. If the INSPIRE thinks this change is needed, I guess the correct way would be to create a new change proposal in the OGC Standards Tracker.

However using the dataType "TM_Position" inexact temporal positions may be expressed using the optional indeterminatePosition attribute

If the attribute is nillable, xsi:nil can be used as usual:

<er-v:dateOfDetermination xsi:nil="true" />

which has the same meaning as

<er-v:dateOfDetermination indeterminatePosition="unknown" />

An alternative solution could be (but we would not reconmend this) to propose a change in the data type of the two attributes using, for example, the "dateTime" or "date" dataTypes.

I assume that the reason certain data specification use TM_Position is that it allows choosing between providing a date or a datetime, and not so much the capability of being able to provide an “indeterminate position”. E.g. from the TG AM:

The values that can be defined are flexible. The beginPosition and endPosition use the TM_Position
type which is a union of ISO 8601 Date, Time or DateTime.

@sMorrone
Copy link
Collaborator

Dear @Dnoack49
considering the comments above , this change proposal cannot currently be implemented. Following suggestion by @heidivanparys , we will create a new change proposal in the OGC Standards Tracker. With current schema version, recommendation is either to set the xsi:nil="true" or to use the indeterminatePosition="unknown" to indicate that the value for the dateOfDetermination /dateOfDiscovery element is not provided /is unknown

@sMorrone sMorrone added for Sub-group The change proposal is to be assessed by the Sub-group and removed for INSPIRE MIG-T The change proposal is to be assessed by the INSPIRE MIG-T. labels Mar 30, 2022
@doemming
Copy link

this looks good to me.

Just a minor edit: I think the empty element using indeterminatePosition="unknown" would require also to set xsi:nil="true" like this:

<er-v:dateOfDetermination indeterminatePosition="unknown" xsi:nil="true" />

@sMorrone
Copy link
Collaborator

sMorrone commented Mar 31, 2022

`<er-v:dateOfDetermination indeterminatePosition="unknown" xsi:nil="true" /> is a third option indeed.

Summing up
there are three valid options:

  • <er-v:dateOfDetermination indeterminatePosition="unknown"/> indicates that no specific value for temporal position is provided (as per description of "unknown" value in the gml:TimeIndeterminateValueType enum)

  • <er-v:dateOfDetermination xsi:nil="true" /> indicates that the schema element does not have a value

  • <er-v:dateOfDetermination indeterminatePosition="unknown" xsi:nil="true" /> indicates that no specific value for temporal position is provided and that the schema element does not have a value

@pawelsoczewski
Copy link

<er-v:dateOfDetermination indeterminatePosition="unknown" xsi:nil="true" /> is a third option indeed.

Summing up there are three valid options:

  • <er-v:dateOfDetermination indeterminatePosition="unknown"/> indicates that no specific value for temporal position is provided (as per description of "unknown" value in the gml:TimeIndeterminateValueType enum)
  • <er-v:dateOfDetermination xsi:nil="true" /> indicates that the schema element does not have a value
  • <er-v:dateOfDetermination indeterminatePosition="unknown" xsi:nil="true" /> indicates that no specific value for temporal position is provided and that the schema element does not have a value

Technically, all of the above options are valid, but according to Voidable characteristics only three option are possible:

Zrzut ekranu 2022-04-1 o 08 04 07

Therefore options 1 and 3 - using only indeterminatePosition = "unknown" can be slightly confusing and will not always match the definitions above. The void value "unknown" can only be used in a specific case.

In my opinion recommendation of sub-group should be option 2th: "With current schema version, recommendation is either to set the xsi:nil="true" to indicate that the value for the dateOfDetermination /dateOfDiscovery element is not provided /is unknown".

@sMorrone
Copy link
Collaborator

sMorrone commented Sep 14, 2022

Subgroup meeting on 13.09.2022:
This issue can be closed as soon as the related content is summarised and made available as implementation example in the Discussions tab of the generic helpdesk.

In addition, the sub-group agrees to create a change proposal in the OGC Standards Tracker.

@sMorrone sMorrone removed the for Sub-group The change proposal is to be assessed by the Sub-group label Sep 14, 2022
@sMorrone
Copy link
Collaborator

Related "Implementation examples" category discussion: INSPIRE-MIF/helpdesk#134

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants