Documenting Keywords

From Earth Science Information Partners (ESIP)

Keywords are words or phrases that describe the metadata resource. They facilitate search, indexing and discovery of metadata, and are the largest single component of many metadata collections, regardless of the dialect. Keywords usually come from shared vocabularies in order to encourage consistency across metadata collections. Keywords can support text searches as well as facet searches.

ECHO

<ScienceKeyword>
    <CategoryKeyword>EARTH SCIENCE</CategoryKeyword>
    <TopicKeyword>ATMOSPHERE</TopicKeyword>
    <TermKeyword>ATMOSPHERIC CHEMISTRY</TermKeyword>
    <VariableLevel1Keyword>
        <Value>OXYGEN COMPOUNDS</Value>
        <VariableLevel2Keyword>
            <Value>OZONE</Value>
            <VariableLevel3Keyword>Keyword#3</VariableLevel3Keyword>
        </VariableLevel2Keyword>
    </VariableLevel1Keyword>
</ScienceKeyword>

DIF

<Parameters>
   <Category>EARTH SCIENCE</Category>
   <Topic>ATMOSPHERE</Topic>
   <Term>ATMOSPHERIC CHEMISTRY</Term>
   <Variable_Level_1>OXYGEN COMPOUNDS</Variable_Level_1>
   <Variable_Level_2>OZONE</Variable_Level_2>
   <Variable_Level_3>Keyword#3</Variable_Level_3>
   <Detailed_Variable>Uncontrolled Keyword</Detailed_Variable>
</Parameters>

SERF

<Parameters>
   <Category>EARTH SCIENCE</Category>
   <Topic>ATMOSPHERE</Topic>
   <Term>ATMOSPHERIC CHEMISTRY</Term>
   <Variable_Level_1>OXYGEN COMPOUNDS</Variable_Level_1>
   <Variable_Level_2>OZONE</Variable_Level_2>
   <Variable_Level_3>Keyword#3</Variable_Level_3>
   <Detailed_Variable>Uncontrolled Keyword</Detailed_Variable>
</Parameters>

FGDC

<keywords>
    <theme>
        <themekt> NASA/GCMD Earth Science Keywords </themekt>
        <themekey>EARTH SCIENCE > ATMOSPHERE > CLOUDS > CLOUD DYNAMICS > MOISTURE FLUX > DOWNWARD MOISTURE FLUX</themekey>
    </theme>
</keywords>

ISO

The MD_Keyword object in ISO 19115-1.

<mri:descriptiveKeywords>
  <mri:MD_Keywords>
     <mri:keyword/>         // Keyword
     <mri:type/>            // Type of Keyword (Theme, Instrument, Place etc)
     <mri:thesaurusName/>   // Reference to the controlled vocabulary keyword source (GCMD)
     <mri:keywordClass/>    // User-defined categorization of groups of keywords
  </mri:MD_Keywords>
</mri:descriptiveKeywords>

GCMD Vocabularies

NASA GCMD keyword vocabularies ensure that metadata is described in a consistent manner. There are seven sets of controlled keywords in the GCMD directory: (1) Earth Science, (2) Data Services, (3) Data Centers, (4) Locations, (5) Instrument/Sensors, (6) Platforms/Sources, and (7) Projects.

GCMD Keywords are organized into hierarchical groups ranging from general Category Keywords to very specific Variable Level Keywords. The GCMD keywords include the following hierarchy levels; Category > Topic > Term > Variable Level 1 > Variable Level 2 > Variable Level 3 > Detailed Variable. Earth Science Keywords, also know as 'Theme' Keywords are highly recommended by most metadata dialects.

EARTH SCIENCE > ATMOSPHERE > CLOUDS > CLOUD DYNAMICS > MOISTURE FLUX > DOWNWARD MOISTURE FLUX

Keyword Type Categories

As noted above GCMD includes 7 Keyword Set Categories. ISO 19115-1 includes 15 Keyword Type Categories. The table below provides a reference list and mapping of GCMD and ISO Keyword Types.

ISO Keyword TypesGCMD Keyword Sets
discipline
placeLocations
statum
temporal
themeEarth Science
dataCentreData Centers
featureType
instrumentInstrument/Sensors
platformPlatforms/Sources
process
projectProjects
serviceData Services
product
subTopicCategory
taxon


Keyword

Keywords are used by many metadata dialects in order to enable discipline specific descriptions of various kinds and discovery using those descriptions. Keywords usually come from shared vocabularies in order to encourage consistency across metadata collections. Keywords can support text searches as well as facet searches.
ConceptDescriptionDialect (Fit) Paths
Keyword TypeMethods used to group similar keywordsBDP /bdp:metadata/bdp:idinfo/bdp:keywords/bdp:theme/bdp:themekt
CSDGM /csdgm:metadata/csdgm:idinfo/csdgm:keywords/csdgm:theme/csdgm:themekt
EML /eml:eml/*/keywordSet/keyword/@keywordType
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:type/gmd:MD_KeywordTypeCode
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords/mri:type/mri:MD_KeywordTypeCode
Mercury /mercury:metadata/mercury:idinfo/mercury:keywords/mercury:theme/mercury:themekt
OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Keywords/ows:Type
Keyword VocabularyIf you are following a guideline or using a shared vocabulary for the words/phrases in your "keywords" attribute, put the name of that guideline here.

Note: DIF, ECHO and ECS require that theme keywords come from the Global Change Master Directory list.
ADIwg /adiwg:project/adiwg:idinfo/adiwg:keywords/adiwg:theme/adiwg:themekt
BDP /bdp:metadata/bdp:idinfo/bdp:keywords/bdp:theme/bdp:themekt
CSDGM /csdgm:metadata/csdgm:idinfo/csdgm:keywords/csdgm:theme/csdgm:themekt
DCITE /dcite:resource/dcite:subjects/dcite:subject/@subjectScheme
EML /eml:eml/*/keywordSet/keywordThesaurus
HCLS void:vocabulary
HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Attribute[@Name='keywords_vocabulary']/hdf5:Data/hdf5:DataFromFile
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:thesaurusName
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='theme']/mri:thesaurusName/cit:CI_Citation
MODS //mods:mods/mods:subject/@authority
Mercury /mercury:metadata/mercury:idinfo/mercury:keywords/mercury:theme/mercury:themekt
OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Keywords/ows:Type='theme']/ows:Type/@codespace
RDA-CISL /rda:dsOverview/rda:variable/@vocabulary
THREDDS //thredds:dataset/thredds:keyword/@vocabulary
THREDDS /thredds:catalog/thredds:dataset/thredds:geospatialCoverage/thredds:name/@thredds:vocabulary
Keyword Vocabulary CitationName of the formally registered thesaurus or a similar authoritative source of keywords.ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation
ISO /*/gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:thesaurusName/gmd:CI_Citation
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/mri:MD_DataIdentification/mri:descriptiveKeywords/mri:MD_Keywords/mri:thesaurusName/cit:CI_Citation
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/srv:SV_ServiceIdentification/mri:descriptiveKeywords/mri:MD_Keywords/mri:thesaurusName/cit:CI_Citation
Keyword Ontology CitationReference that binds the keyword class to a formal conceptualization of a knowledge domain for use in semantic processing.ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/mri:MD_DataIdentification/mri:descriptiveKeywords/mri:MD_Keywords/mri:keywordClass/mri:MD_KeywordClass/mri:ontology/cit:CI_Citation
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/srv:SV_ServiceIdentification/mri:descriptiveKeywords/mri:MD_Keywords/mri:keywordClass/mri:MD_KeywordClass/mri:ontology/cit:CI_Citation
KeywordA word or phrase that describes some aspect of a resource. Can be one of several types.ADIwg /adiwg:project/adiwg:idinfo/adiwg:keywords/adiwg:theme/adiwg:themekey
ADIwg /adiwg:project/adiwg:idinfo/adiwg:keywords/adiwg:place/adiwg:placekey
BDP /bdp:metadata/bdp:idinfo/bdp:keywords/bdp:theme/bdp:themekey
BDP /bdp:metadata/bdp:idinfo/bdp:keywords/bdp:place/bdp:placekey
CSDGM /csdgm:metadata/csdgm:idinfo/csdgm:keywords/csdgm:theme/csdgm:themekey
CSDGM /csdgm:metadata/csdgm:idinfo/csdgm:keywords/csdgm:place/csdgm:placekey
DCAT /dct:keyword
DCITE /dcite:resource/dcite:subjects/dcite:subject
DIF /*/dif:Keyword
DIF /*/dif:AncillaryKeyword
DIF /dif:DIF/dif:Location/dif:Location_Category
DIF /dif:DIF/dif:Location/dif:Location_Type
DIF /dif:DIF/dif:Location/dif:Location_Subregion1
DIF /dif:DIF/dif:Location/dif:Location_Subregion2
DIF /dif:DIF/dif:Location/dif:Location_Subregion3
DIF /dif:DIF/dif:Location/dif:Detailed_Location
DIF /dif:DIF/dif:Sensor_Name/dif:Short_Name
DIF /dif:DIF/dif:Sensor_Name/dif:Long_Name
DIF /*/dif:Source_Name/dif:Short_Name
DIF /*/dif:Source_Name/dif:Long_Name
DIF /*/dif:Project/dif:Short_Name
DIF /*/dif:Project/dif:Short_Name
DIF-10 /*/dif:Science_Keywords/dif:Category
DIF-10 /*/dif:Science_Keywords/dif:Topic
DIF-10 /*/dif:Science_Keywords/dif:Term
DIF-10 /*/dif:Science_Keywords/dif:Variable_Level_1
DIF-10 /*/dif:Science_Keywords/dif:Variable_Level_2
DIF-10 /*/dif:Science_Keywords/dif:Variable_Level_3
DIF-10 /*/dif:Science_Keywords/dif:Detailed_Variable
DIF-10 /*/dif:Ancillary_Keyword
DIF-10 /dif:DIF/dif:Location/dif:Location_Category
DIF-10 /dif:DIF/dif:Location/dif:Location_Type
DIF-10 /dif:DIF/dif:Location/dif:Location_Subregion1
DIF-10 /dif:DIF/dif:Location/dif:Location_Subregion2
DIF-10 /dif:DIF/dif:Location/dif:Location_Subregion3
DIF-10 /dif:DIF/dif:Location/dif:Detailed_Location
DIF-10 /dif:DIF/dif:Platform/dif:Instrument/dif:Short_Name
DIF-10 /dif:DIF/dif:Platform/dif:Instrument/dif:Long_Name
DIF-10 /*/dif:Platform/dif:Short_Name
DIF-10 /*/dif:Platform/dif:Long_Name
DIF-10 /*/dif:Project/dif:Campaign
Dryad /*/dcterms:subject
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:CategoryKeyword
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:TopicKeyword
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:TermKeyword
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel1Keyword/echo:Value
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel1Keyword/echo:VariableLevel2Keyword/echo:Value
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel1Keyword/echo:VariableLevel2Keyword/echo:VariableLevel3Keyword
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:DetailedVariableKeyword
ECHO /*/echo:ScienceKeywords/echo:ScienceKeyword//*
ECHO /*/echo:Spatial/echo:GranuleLocality/echo:LocalityValue
ECHO /*/SpatialKeywords/Keyword
ECHO /*/echo:Platforms/echo:Platform/echo:Instruments/echo:Instrument/echo:ShortName
ECHO /*/echo:Platforms/echo:Platform/echo:Instruments/echo:Instrument/echo:LongName
ECHO //echo:Platforms/echo:Platform/echo:ShortName
ECHO //echo:Platforms/echo:Platform/echo:LongName
ECHO /*/echo:Campaigns/echo:Campaign/echo:ShortName
ECHO /*/echo:Campaigns/echo:Campaign/echo:LongName
ECS (1) /*/ecs:DisciplineTopicParameters/ecs:DisciplineKeyword
ECS (1) /*/ecs:DisciplineTopicParameters/ecs:TopicKeyword
ECS (1) /*/ecs:DisciplineTopicParameters/ecs:TermKeyword
ECS (1) /*/ecs:DisciplineTopicParameters/ecs:VariableKeyword
ECS /*/ecs:Platform/ecs:PlatformShortName
ECS /*/ecs:Platform/ecs:PlatformLongName
EML /eml:eml/*/keywordSet/keyword
HCLS dcat:keyword
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Attribute[@Name='keywords']/hdf5:Data/hdf5:DataFromFile
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='DisciplineTopicParameters']/hdf5:Group/hdf5:Attribute[@Name='ECSDisciplineKeyword']/hdf5:Data/hdf5:DataFromFile
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='DisciplineTopicParameters']/hdf5:Group/hdf5:Attribute[@Name='ECSTermKeyword']/hdf5:Data/hdf5:DataFromFile
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='DisciplineTopicParameters']/hdf5:Group/hdf5:Attribute[@Name='ECSTopicKeyword']/hdf5:Data/hdf5:DataFromFile
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='DisciplineTopicParameters']/hdf5:Group/hdf5:Attribute[@Name='ECSVariableKeyword']/hdf5:Data/hdf5:DataFromFile
HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='DisciplineTopicParameters']/hdf5:Group/hdf5:Group[@Name='ECSParameter']/hdf5:Attribute[@Name='ECSParameterKeyword']/hdf5:Data/hdf5:DataFromFile
HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Attribute[@Name='SpatialKeyword']/hdf5:Data/hdf5:DataFromFile
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords/gmd:keyword
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords[normalize-space(gmd:type/gmd:MD_KeywordTypeCode)='place']/gmd:keyword//*
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords[normalize-space(gmd:type/gmd:MD_KeywordTypeCode)='instrument']/gmd:keyword//*
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords[normalize-space(gmd:type/gmd:MD_KeywordTypeCode)='platform']/gmd:keyword//*
ISO /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords[normalize-space(gmd:type/gmd:MD_KeywordTypeCode)='project']/gmd:keyword//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='theme']/mri:keyword//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='place']/mri:keyword//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:extent/gex:EX_Extent/gex:geographicElement/gex:EX_GeographicDescription/gex:geographicIdentifier/mcc:MD_Identifier/mcc:code//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='instrument']/mri:keyword//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='platform']/mri:keyword//*
ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[normalize-space(mri:type/mri:MD_KeywordTypeCode)='project']/mri:keyword//*
MODS //mods:mods/mods:subject/mods:topic
MODS //mods:mods/mods:genre
Mercury /mercury:metadata/mercury:idinfo/mercury:keywords/mercury:theme/mercury:themekey
Mercury /mercury:metadata/mercury:mercury/mercury:Parameter_Description/mercury:Sensor
Mercury /mercury:metadata/mercury:mercury/mercury:Parameter_Description/mercury:Source
Mercury /mercury:metadata/mercury:mercury/mercury:Parameter_Description/mercury:Term
Mercury /mercury:metadata/mercury:mercury/mercury:Parameter_Description/mercury:Topic
Mercury /mercury:metadata/mercury:idinfo/mercury:keywords/mercury:place/mercury:placekey
Mercury /mercury:metadata/mercury:mercury/mercury:Site_Information/mercury:Site
Mercury /mercury:metadata/mercury:mercury/mercury:Keywords
Mercury /mercury:metadata/mercury:mercury/mercury:Parameter_Description/mercury:Parameter
Mercury /mercury:metadata/mercury:mercury/mercury:Navpath
OGC-SOS (1) /sos:Capabilities/ows:ServiceIdentification/ows:Keywords[ows:Type='theme']/ows:Keyword
OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Keywords[ows:Type='place']/ows:Keyword
OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Keywords[ows:Type='instrument']/ows:Keyword
OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Keywords[ows:Type='platform']/ows:Keyword
Onedcx /onedcx:metadata/onedcx:simpleDc/dcterms:subject
RDA-CISL /rda:dsOverview/rda:variable
RDA-CISL /rda:dsOverview/rda:keyword
SERF /serf:SERF/serf:Keyword
SERF /serf:SERF/serf:Sensor_Name/serf:Short_Name
SERF /serf:SERF/serf:Sensor_Name/serf:Long_Name
SERF /serf:SERF/serf:Source_Name/serf:Short_Name
SERF /serf:SERF/serf:Source_Name/serf:Long_Name
SERF /serf:SERF/serf:Project/serf:Short_Name
SERF /serf:SERF/serf:Project/serf:Long_Name
THREDDS (1) //thredds:metadata/thredds:keyword
THREDDS (1) //thredds:dataset/thredds:keyword
THREDDS /thredds:catalog/thredds:dataset/thredds:geospatialCoverage/thredds:name
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:Category
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:Topic
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:Term
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:VariableLevel1/umm:Value
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:VariableLevel1/umm:VariableLevel2/umm:Value
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:VariableLevel1/umm:VariableLevel2/umm:VariableLevel3/umm:Value
UMM (1) /umm:UMM/umm:ScienceKeywords/umm:DetailedVariable

xPath Note: The xPaths included in this table use several wildcards. // means any path, so //gmd:CI_ResponsibleParty indicates a gmd:CI_ResponsibleParty anywhere in an XML file. /*/ indicates a single level with several possible elements. This usually indicates one of several concrete realizations of an abstract object. For example /*/gmd:identificationInfo could be gmd:MD_Metadata/gmd:identificationInfo or gmi:MI_Metadata/gmd:identificationInfo and gmd:identificationInfo//*/gmd:descriptiveKeywords could be gmd:identificationInfo/gmd:MD_DataIdentification/gmd:descriptiveKeywords or gmd:identificationInfo/srv:SV_ServiceIdentification/gmd:descriptiveKeywords.


Metadata Implementation