INSPIRE-MIF/2017.2

SRule: Restrict a property to be by reference only

Closed this issue · 1 comments

Simplification Encoding Rule

This rule issue is to be referenced from the best practice paper.

Name of the Rule

Restrict a property to be by reference only.

Category

  • Reduce nested structures (inline referencing causes nested structures with many levels)
  • Reduce implementation effort of and duplication of data by data providers, if the value of the property is a resource managed by another data provider.

Description

Information regarding resources can be stored in an external register or non-INSPIRE online application, not necessary using GML, possibly other standardised encodings. That information be referred to from a GML application schema "by reference".

It gives a lot of work for data providers when they have to document a lot of metadata regarding e.g. laws, documents, authorities, etc. that they are not responsible for, and when this information is already online somewhere else this is redundant work. Therefore, properties referring to laws, documents, authorities and other online resources not typically belonging to the geographic information domain should be implemented by reference, and it should be recognised that their values are not necessarily encoded in GML.

UML Model

N/A

Example instance in default encoding:

All of the following are possible:

<am:ManagementRestrictionOrRegulationZone>
  <!-- ... -->
  <am:legalBasis
    xlink:href="http://www.retsinformation.dk/eli/lta/2017/122"
    xlink:title="Bekendtgørelse af lov om skove"
  >
    <base2:LegislationCitation>
      <base2:name>Bekendtgørelse af lov om skove</base2:name>
      <base2:shortName>LBK nr 122 af 26/01/2017</base2:shortName>
      <base2:date>
        <gmd:CI_Date>
          <gmd:date>
            <gco:Date>2017-01-26</gco:Date>
          </gmd:date>
          <gmd:dateType>
            <gmd:CI_DateTypeCode
              codeListValue="creation"
              codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" />
          </gmd:dateType>
        </gmd:CI_Date>
      </base2:date>
      <base2:link>http://www.retsinformation.dk/eli/lta/2017/122</base2:link>
      <base2:level xlink:href="http://inspire.ec.europa.eu/codelist/LegislationLevelValue/national" xlink:title="national" />
    </base2:LegislationCitation>
  </am:legalBasis>
  <!-- ... -->
</am:ManagementRestrictionOrRegulationZone>
<am:ManagementRestrictionOrRegulationZone>
  <!-- ... -->
  <am:legalBasis>
    <base2:LegislationCitation>
      <base2:name>Bekendtgørelse af lov om skove</base2:name>
      <base2:shortName>LBK nr 122 af 26/01/2017</base2:shortName>
      <base2:date>
        <gmd:CI_Date>
          <gmd:date>
            <gco:Date>2017-01-26</gco:Date>
          </gmd:date>
          <gmd:dateType>
            <gmd:CI_DateTypeCode
              codeListValue="creation"
              codeList="http://standards.iso.org/ittf/PubliclyAvailableStandards/ISO_19139_Schemas/resources/codelist/ML_gmxCodelists.xml#CI_DateTypeCode" />
          </gmd:dateType>
        </gmd:CI_Date>
      </base2:date>
      <base2:link>http://www.retsinformation.dk/eli/lta/2017/122</base2:link>
      <base2:level xlink:href="http://inspire.ec.europa.eu/codelist/LegislationLevelValue/national" xlink:title="national" />
    </base2:LegislationCitation>
  </am:legalBasis>
  <!-- ... -->
</am:ManagementRestrictionOrRegulationZone>
<am:ManagementRestrictionOrRegulationZone>
  <!-- ... -->
  <am:legalBasis
    xlink:href="http://www.retsinformation.dk/eli/lta/2017/122"
    xlink:title="Bekendtgørelse af lov om skove"
  />
  <!-- ... -->
</am:ManagementRestrictionOrRegulationZone>

Example instance in simplified encoding:

Only the following is possible:

<am:ManagementRestrictionOrRegulationZone>
  <!-- ... -->
  <am:legalBasis
    xlink:href="http://www.retsinformation.dk/eli/lta/2017/122"
    xlink:title="Bekendtgørelse af lov om skove"
  />
  <!-- ... -->
</am:ManagementRestrictionOrRegulationZone>

Model transformation rule:

Tagged value inlineOrByReference should be added/updated to have value "byReference" on the property.

Instance transformation rule:

It is only possible to convert an instance using the "inline" pattern when the URL is present somewhere in the data, which then must be inserted in @xlink:href. A name or title, if present, may be inserted in @xlink:title.

Solves usability issues:

TODO

Known usability issues:

Display of @xlink:href and @xlink:title may not be supported in all clients. However, this is the same problem as for code lists, which are widely used in INSPIRE.

Reversibility:

Fully reversible.

Thanks for the detailed description. I have now added it to the set of rule in the document on Model Transformations (as "Property Composition to Association").