Evolution of Metadata Standards: New Features in ISO Ted Habermann NOAA National Data Centers December, 2007
Directory Interchange Format ISO – 2 ISO 19115/NAP FGDC Remote Sensing Extensions Evolution of Documentation Standards FGDC NOAA Supplemental NASA EOS Core System Metadata
Question #1 New Standard Emerges: What is the minimum that I need to do to conform to this standard? What is the most that this standard can do for me? The answer is a short list of metadata elements. Depends on 1) understanding of the standard and 2) ingenuity.. The goal of this presentation is to increase understanding of the standard. The ingenuity is up to you.
Metadata Needs The rest of this presentation is made up of a series of questions about your metadata needs. Suggested answers using ISO and are provided. These suggested approaches are presently being tested at NGDC and some may survive to become recommended best practices. Others may evolve significantly as our understanding and experience increases.
Do you need to unambiguously identify things using your own namespace? MD_Identifier + authority [0..1] : CI_Citation + code : CharacterString Where are identifiers? aggregationInfo/aggregateDataSetIdentifier dataQualityInfo/report/measureIdentification extent/geographicElement/geographicIdentifier processStep/processingInformation/identifier acquisitionInformation/operation/identifier platform/identifier platform/instrument/identifier Where are Citations? identificationInfo/citation applicationSchemaInfo.name dataQualityInfo/report/specification contentinfo/featureCatalogueCitation identificationInfo/aggregationInfo/aggregateDataSetName identificationInfo/descriptiveKeywords/thesaurusName dataQualityInfo/report/evaluationProcedure dataQualityInfo/lineage/source/sourceCitation dataQualityInfo/lineage/processStep/processingInformation/documentation dataQualityInfo/lineage/processStep/processingInformation/algorithm/citation acquisitionInformation/operation/citation acquisitionInformation/platform/citation acquisitionInformation/platform/instrument/citation
Do you want to manage metadata using a relational or XML database? Unique IDs are critical for identifying items and creating relationships in relational databases.
Do you want to serve metadata using a REST web service? Number of ID's Included in Standard ISO and include identifiers for between 30 and 40 different items (see background slides for details) Key Principle for REST Services: Give every “thing” an ID
Do you need to identify people in different roles? CI_ResponsibleParty + individualName [0..1] : CharacterString + organisationName [0..1] : CharacterString + positionName [0..1] : CharacterString + contactInfo [0..1] : CI_Contact + role : CI_RoleCode Where Are Contacts? MD_Metadata.contact MD_Identification.pointOfContact MD_Usage.userContactInfo LI_ProcessStep.processor MD_MaintenanceInformation.contact MD_Distributor.distributorContact MD_ExtendedElementInformation.source CI_RoleCode + resourceProvider + custodian + owner + user + distributor + originator + pointOfContact + principalInvestigator + processor + publisher + author
Do you need different documentation for different parts of your data? MD_ScopeCode + attribute + attributeType + collectionHardware + collectionSession + dataset + series + nonGeographicDataset + dimensionGroup + feature + featureType + propertyType + fieldSession + software + service + model + tile ScopeCodes can apply to: 1) MD_Metadata 2) DQ_DataQuality 3) MD_MaintenanceInformation MD_Metadata + fileIdentifier [0..1] : CharacterString + language [0..1] : CharacterString + characterSet [0..1] : MD_CharacterSetCode = "utf8" + parentIdentifier [0..1] : CharacterString + hierarchyLevel [0..*] : MD_ScopeCode = "dataset" + hierarchyLevelName [0..*] : CharacterString + contact [1..*] : CI_ResponsibleParty + dateStamp : Date + metadataStandardName [0..1] : CharacterString + metadataStandardVersion [0..1] : CharacterString + dataSetURI [0..1] : CharacterString
Do you need different documentation for different temporal and spatial subsets? > EX_Extent +description [0..1]: Character String > EX_GeographicExtent +extentTypeCode [0..1]: Boolean="1" EX_BoundingPolygon +polygon [0..1]: GM_Object EX_GeographicBoundingBox +westBoundingLongitude: Decimal +eastBoundingLongitude: Decimal +southBoundingLatiitude: Decimal +northBoundingLatiitude: Decimal EX_GeographicDescription +geographicIdentifier: MD_Identifier EX_VerticalExtent +minimumValue: Real +maximumValue: Real +unitOfMeasure: UomLength EX_TemporalExtent +extent: TM_Primitive
Do you need to reference On-Line Resources? CI_OnlineResource + linkage : URL + protocol [0..1] : CharacterString + applicationProfile [0..1] : CharacterString + name [0..1] : CharacterString + description [0..1] : CharacterString + function [0..1] : CI_OnLineFunctionCode CI_OnLineFunctionCode + download + information + offlineAccess + order + search
Do you need to describe many kinds of aggregations? MD_InitiativeTypeCode + campaign + collection + exercise + experiment + investigation + mission + sensor + operation + platform + process + program + project + study + task + trial MD_AggregateInformation + aggregateDataSetName [0..1] : CI_Citation + aggregateDataSetIdentifier [0..1] : MD_Identifier + associationType : DS_AssociationTypeCode + initiativeType [0..1] : DS_InitiativeTypeCode DS_AssociationTypeCode + crossReference + largerWorkCitation + partOfSeamlessDatabase + source + stereoMate
Does data quality vary within the dataset? DQ_Scope + level: MD_ScopeCode + extent [0..1] : EX_Extent + levelDescription [0..*] : MD_ScopeDescription EX_Extent describes the spatial and temporal extent of the quality section. MD_ScopeDescription + attributes : Set + features : Set + featureInstances : Set + attributeInstances : Set + dataset : CharacterString + other : CharacterString MD_ScopeCode + attribute + attributeType + collectionHardware + collectionSession + dataset + series + nonGeographicDataset + dimensionGroup + feature + featureType + propertyType + fieldSession + software + service + model + tile
Do you need to track compliance with standards? DQ_ConformanceResult + specification : CI_Citation + explanation : CharacterString + pass : Boolean
Do you need to use spatial features to describe quality? QE_CoverageResult + spatialRepresentationType: vector, grid, textTable, tin, stereoModel, video + resultFile [1]: MX_DataFile + resultFormat [1]: MD_format
Do you need to keep track of user problems? MD_Usage + specificUsage : CharacterString + usageDateTime [0..1] : DateTime + userDeterminedLimitations [0..1] : CharacterString + userContactInfo [1..*] : CI_ResponsibleParty
Do you need to describe sources with different spatial and temporal extents? LI_Source + description [0..1] : CharacterString + scaleDenominator [0..1] : MD_RepresentativeFraction + sourceReferenceSystem [0..1] : MD_ReferenceSystem + sourceCitation [0..1] : CI_Citation + sourceExtent [0..*] : EX_Extent
Do you need to describe requirements and objectives? MI_Requirement + citation[0..1] : CI_Citation + identifier : MD_Identifier + requestor[1..*] : CI_ResponsibleParty + recipient[1..*] : CI_ResponsibleParty + priority : MI_PriorityCode + requestedDate : MI_RequestedDate + expiryDate : DateTimeMI MI_Objective + identifier[1..*] : MD_Identifier + priority[0..1] : CharacterString + type[0..*] : MI_ObjectiveTypeCode + function[0..*] : CharacterString + extent[0..*] : EX_Extent
Do you need to describe platforms and instruments? MI_Platform + citation[0..*] : CI_Citation + identifier : MD_Identifier + description : CharacterString + sponsor[0..*] : CI_ResponsibleParty MI_Instrument + citation[0..*] : CI_Citation + identifier : MD_Identifier + description : CharacterString + description[0..1] : CharacterString
Do you need to explain why you did things to the data? LI_ProcessStep + description : CharacterString + rationale [0..1] : CharacterString + dateTime [0..1] : DateTime + processor [0..*] : CI_ResponsibleParty + source [0..*]: LI_Source
Do need to share data with international partners? International Standards Organization
Metadata Standard Selection Guide Do you need to unambiguously identify things using your own namespace? Do you want to manage metadata using a relational or XML database? Do you want to serve metadata using a REST web service? Do you need to identify people in different roles? Do you need different documentation for different parts of your data? Do you need different documentation for different temporal and spatial subsets? Do you need to reference On-Line Resources? Do you need to describe many kinds of aggregations? Does data quality vary within the dataset? Do you need to track compliance with standards? Do you need to use spatial features to describe quality, like grids of quality flags? Do you need to keep track of user problems? Do you need to explain why you did things to the data? Do need to share data with international partners? Yes
ISO is up for a five year review in This is the time for evolution. You are the force that influences evolution. Get Ingenious! The time is now.