You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by "Martin Desruisseaux (JIRA)" <ji...@apache.org> on 2013/10/01 11:55:25 UTC
[jira] [Updated] (SIS-110) Add some intelligence in metadata
implementation
[ https://issues.apache.org/jira/browse/SIS-110?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Desruisseaux updated SIS-110:
------------------------------------
Description:
ISO 19115 seems to have some redundancies in metadata information. For example:
* {{Identification.pointOfContact}} ↔ {{Identification.citation.citedResponsibleParty}} (collection of {{ResponsibleParty}}): the former could be defined as a subset of the later where the {{ResponsibleParty.role}} attribute is set to {{Role.POINT_OF_CONTACT}}.
* {{Metadata.contact}} ↔ {{Metadata.identificationInfo.pointOfContact}} (collection of {{ResponsibleParty}}): the former is the contact responsible for the metadata, while the later is the contact responsible for the _resource_ described by the metadata. However in practice this is often the same contact.
* {{GeographicBoundingBox}} ↔ {{BoundingPolygon}}: the former could be inferred from the later.
* {{Georectified.checkPointAvailability}} ↔ ({{Georectified.checkPointDescription}}, {{Georectified.checkPoint}}): the former could be set to {{true}} if any of the later attribute is non-null. There is many other {{fooAvailability}} attribute like that one - all of them may be candidate to such automatic inference.
* {{OnlineResource.getLinkage()}}: could be inferred from {{getDataSetUri()}}.
* {{OnlineResource.getProtocol()}}: could be inferred from the scheme part of {{getLinkage()}}.
* {{Metadata.identificationInfo.spatialResolutions}} seems to be synonymous of {{metadata.spatialRepresentationInfo.axisDimensionProperties.resolution}}.
* {{Metadata.locale}} may need to contain all locales used by every {{InternationalString}} instances in the metadata tree. This is needed since the {{locale}} attribute in {{<gml:LocalizedCharacterString>}} is a reference to a locale defined in {{<PT_Locale>}} (SIS-137).
h3. As an optional mechanism
We could provide some optional mechanism (to be enabled only if desired) where, if a value was not explicitly given for some attributes, a default value is automatically inferred from other attribute. For example:
* If no value was explicitly given to {{Metadata.contact}}, returns {{Metadata.identificationInfo.pointOfContact}}.
* If no value was explicitly given to {{Metadata.identificationInfo.pointOfContact}}, returns a filtered list of {{Metadata.identificationInfo.citation.citedResponsibleParty}} where {{role}} = {{POINT_OF_CONTACT}}.
Note the cascading of the above two inference mechanisms.
h3. Impact on other code
If the {{Metadata.pointOfContact}} property become automatically calculated, then we should remove the duplication done in the NetCDF metadata reader.
was:
ISO 19115 seems to have some redundancies in metadata information. For example:
* {{Identification.pointOfContact}} ↔ {{Identification.citation.citedResponsibleParty}} (collection of {{ResponsibleParty}}): the former could be defined as a subset of the later where the {{ResponsibleParty.role}} attribute is set to {{Role.POINT_OF_CONTACT}}.
* {{Metadata.contact}} ↔ {{Metadata.identificationInfo.pointOfContact}} (collection of {{ResponsibleParty}}): the former is the contact responsible for the metadata, while the later is the contact responsible for the _resource_ described by the metadata. However in practice this is often the same contact.
* {{GeographicBoundingBox}} ↔ {{BoundingPolygon}}: the former could be inferred from the later.
* {{Georectified.checkPointAvailability}} ↔ ({{Georectified.checkPointDescription}}, {{Georectified.checkPoint}}): the former could be set to {{true}} if any of the later attribute is non-null. There is many other {{fooAvailability}} attribute like that one - all of them may be candidate to such automatic inference.
* {{OnlineResource.getLinkage()}}: could be inferred from {{getDataSetUri()}}.
* {{OnlineResource.getProtocol()}}: could be inferred from the scheme part of {{getLinkage()}}.
* {{Metadata.identificationInfo.spatialResolutions}} seems to be synonymous of {{metadata.spatialRepresentationInfo.axisDimensionProperties.resolution}}.
* {{Metadata.locale}} may need to contains all locales used by every {{InternationalString}} instances in the metadata tree. This is needed since the {{locale}} attribute in {{<gml:LocalizedCharacterString>}} is a reference to a locale defined in {{<PT_Locale>}} (SIS-137).
h3. As an optional mechanism
We could provide some optional mechanism (to be enabled only if desired) where, if a value was not explicitly given for some attributes, a default value is automatically inferred from other attribute. For example:
* If no value was explicitly given to {{Metadata.contact}}, returns {{Metadata.identificationInfo.pointOfContact}}.
* If no value was explicitly given to {{Metadata.identificationInfo.pointOfContact}}, returns a filtered list of {{Metadata.identificationInfo.citation.citedResponsibleParty}} where {{role}} = {{POINT_OF_CONTACT}}.
Note the cascading of the above two inference mechanisms.
h3. Impact on other code
If the {{Metadata.pointOfContact}} property become automatically calculated, then we should remove the duplication done in the NetCDF metadata reader.
> Add some intelligence in metadata implementation
> ------------------------------------------------
>
> Key: SIS-110
> URL: https://issues.apache.org/jira/browse/SIS-110
> Project: Spatial Information Systems
> Issue Type: Improvement
> Components: Metadata
> Affects Versions: 0.3
> Reporter: Martin Desruisseaux
> Priority: Minor
>
> ISO 19115 seems to have some redundancies in metadata information. For example:
> * {{Identification.pointOfContact}} ↔ {{Identification.citation.citedResponsibleParty}} (collection of {{ResponsibleParty}}): the former could be defined as a subset of the later where the {{ResponsibleParty.role}} attribute is set to {{Role.POINT_OF_CONTACT}}.
> * {{Metadata.contact}} ↔ {{Metadata.identificationInfo.pointOfContact}} (collection of {{ResponsibleParty}}): the former is the contact responsible for the metadata, while the later is the contact responsible for the _resource_ described by the metadata. However in practice this is often the same contact.
> * {{GeographicBoundingBox}} ↔ {{BoundingPolygon}}: the former could be inferred from the later.
> * {{Georectified.checkPointAvailability}} ↔ ({{Georectified.checkPointDescription}}, {{Georectified.checkPoint}}): the former could be set to {{true}} if any of the later attribute is non-null. There is many other {{fooAvailability}} attribute like that one - all of them may be candidate to such automatic inference.
> * {{OnlineResource.getLinkage()}}: could be inferred from {{getDataSetUri()}}.
> * {{OnlineResource.getProtocol()}}: could be inferred from the scheme part of {{getLinkage()}}.
> * {{Metadata.identificationInfo.spatialResolutions}} seems to be synonymous of {{metadata.spatialRepresentationInfo.axisDimensionProperties.resolution}}.
> * {{Metadata.locale}} may need to contain all locales used by every {{InternationalString}} instances in the metadata tree. This is needed since the {{locale}} attribute in {{<gml:LocalizedCharacterString>}} is a reference to a locale defined in {{<PT_Locale>}} (SIS-137).
> h3. As an optional mechanism
> We could provide some optional mechanism (to be enabled only if desired) where, if a value was not explicitly given for some attributes, a default value is automatically inferred from other attribute. For example:
> * If no value was explicitly given to {{Metadata.contact}}, returns {{Metadata.identificationInfo.pointOfContact}}.
> * If no value was explicitly given to {{Metadata.identificationInfo.pointOfContact}}, returns a filtered list of {{Metadata.identificationInfo.citation.citedResponsibleParty}} where {{role}} = {{POINT_OF_CONTACT}}.
> Note the cascading of the above two inference mechanisms.
> h3. Impact on other code
> If the {{Metadata.pointOfContact}} property become automatically calculated, then we should remove the duplication done in the NetCDF metadata reader.
--
This message was sent by Atlassian JIRA
(v6.1#6144)