Service Discovery (SERF)
The Service Entry Resource Format (SERF) is a NASA documentation dialect for service discovery, selection and usage.
The Service Entry Resource Format (SERF) is the de-facto GCMD standard for describing data services and applications. This spiral includes the fields that are required by the SERF standard. Additonal documentation is available via the following online references:
Source: Interactive SERF Guide Write a SERF GuideConcept | Description | Dialect (Fit) Paths |
---|---|---|
Metadata Identifier | A phrase or string which uniquely identifies the metadata file/record. | DIF /dif:DIF/dif:Entry_ID ISO /*/gmd:fileIdentifier/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:metadataIdentifier/mcc:MD_Identifier SERF /serf:SERF/serf:Entry_ID |
Resource Title | A short description of the resource. The title should be descriptive enough so that when a user is presented with a list of titles the general content of the data set can be determined. | ADIwg /adiwg:project/adiwg:idinfo/adiwg:citation/adiwg:citeinfo/adiwg:title DIF /dif:DIF/dif:Entry_Title DIF /dif:DIF/dif:Data_Set_Citation/dif:Dataset_Title DCAT /dct:title Dryad dcterms:title ECHO /*/echo:ShortName>/*/echo:LongName ECS /*/ecs:ShortName > /*/ecs:LongName EML /eml:dataset/eml:title/eml:text FGDC /fgdc:metadata/fgdc:idinfo/fgdc:citation/fgdc:citeinfo/fgdc:title HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Attribute[@Name='title']/hdf5:Data/hdf5:DataFromFile HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Attribute[@Name='LongName']/hdf5:Data/hdf5:DataFromFile ISO /*/gmd:identificationInfo/*/gmd:citation/gmd:CI_Citation/gmd:title/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:citation/cit:CI_Citation/cit:title/gco:CharacterString UMM /umm:UMM/umm:CollectionCitation/umm:Title OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Title SERF /serf:SERF/serf:Entry_Title THREDDS /thredds:catalog/thredds:dataset/@name THREDDS /thredds:catalog/thredds:dataset/thredds:metadata/dc:title THREDDS //thredds:dataset[1]/@name netCDF /nc:netcdf/nc:attribute[@nc:name=title]/@nc:value |
Theme Keyword | A word or phrase that describes some aspect of a resource. Can be one of several types. Note: The general identification keywords usually have a type of "theme" and are refered to as "theme keywords". Other types and vocabularies are used for other information. Service Entry Resource Format (SERF) requires a Science and a Service GCMD Keyword. This concept is called Subject in the CSW Specification. | ADIwg /adiwg:project/adiwg:idinfo/adiwg:keywords/adiwg:theme/adiwg:themekey DIF (1) /dif:DIF/dif:Parameters/dif:Category DIF (1) /dif:DIF/dif:Parameters/dif:Topic DIF (1) /dif:DIF/dif:Parameters/dif:Term DIF (1) /dif:DIF/dif:Parameters/dif:Variable_Level_1 DIF (1) /dif:DIF/dif:Parameters/dif:Variable_Level_2 DIF (1) /dif:DIF/dif:Parameters/dif:Variable_Level_3 DIF (1) /dif:DIF/dif:Parameters/dif:Detailed_Variable DCAT /dct:keyword Dryad dcterms:subject ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:CategoryKeyword ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:TopicKeyword ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:TermKeyword ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel1Keyword/echo:Value ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel2Keyword/echo:Value ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:VariableLevel3Keyword ECHO (1) /*/echo:ScienceKeywords/echo:ScienceKeyword/echo:DetailedVariableKeyword ECS (1) /*/ecs:DisciplineTopicParameters/ecs:DisciplineKeyword ECS (1) /*/ecs:DisciplineTopicParameters/ecs:TopicKeyword ECS (1) /*/ecs:DisciplineTopicParameters/ecs:TermKeyword ECS (1) /*/ecs:DisciplineTopicParameters/ecs:VariableKeyword EML (1) /eml:dataset/eml:keywordSet/eml:keyword/eml:text FGDC /fgdc:metadata/fgdc:idinfo/fgdc:keywords/fgdc:theme/fgdc:themekey 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 ISO (1) /*/gmd:identificationInfo/*/gmd:descriptiveKeywords/gmd:MD_Keywords[gmd:type/gmd:MD_KeywordTypeCode=[normalize-space()="theme"]]/gmd:keyword/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:descriptiveKeywords/mri:MD_Keywords[mri:type/mri:MD_KeywordTypeCode=[normalize-space()="theme"]]/mri:keyword/gco:CharacterString 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 OGC-SOS (1) /sos:Capabilities/ows:ServiceIdentification/ows:Keywords[ows:Type='theme']/ows:Keyword SERF /serf:SERF/serf:Keyword THREDDS (1) //thredds:metadata/thredds:keyword THREDDS (1) //thredds:dataset/thredds:keyword netCDF (1) /nc:netcdf/nc:attribute[@nc:name=keywords]/@nc:value |
Distribution Contact | Contact information for the organization or individual that distributes the resource. | DIF /dif:DIF/dif:Data_Center/dif:Personnel/dif:Role DCAT /dct:contactPoint ECHO /*/echo:ArchiveCenter ECS /*/ecs:ArchiveCenter FGDC /fgdc:metadata/fgdc:distinfo/fgdc:distrib/fgdc:cntinfo ISO /*/gmd:distributionInfo/gmd:MD_Distribution/gmd:distributor/gmd:MD_Distributor/gmd:distributorContact/gmd:CI_ResponsibleParty ISO-1 /mdb:MD_Metadata/mdb:distributionInfo/mrd:MD_Distribution/mrd:distributor/mrd:MD_Distributor/mrd:distributorContact/cit:CI_Responsibility SERF /serf:SERF/serf:Service_Provider |
Abstract | A paragraph describing the resource. Note: This concept is called "Desciption" in Catalog Services for the Web. | ADIwg /adiwg:project/adiwg:idinfo/adiwg:descript/adiwg:abstract DIF /dif:DIF/dif:Summary/dif:Abstract DCAT /dct:description Dryad dcterms:description ECHO /*/echo:Description ECS /*/ecs:CollectionDescription EML /eml:dataset/eml:abstract/eml:descendant FGDC /fgdc:metadata/fgdc:idinfo/fgdc:descript/fgdc:abstract HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Attribute[@Name='summary']/hdf5:Data/hdf5:DataFromFile HDF5.1 /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Attribute[@Name='CollectionDescription']/hdf5:Data/hdf5:DataFromFile ISO /*/gmd:identificationInfo/*/gmd:abstract/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:abstract/gco:CharacterString UMM /umm:UMM/umm:Summary OGC-SOS /sos:Capabilities/ows:ServiceIdentification/ows:Abstract SERF /serf:SERF/serf:Summary/serf:Abstract THREDDS //thredds:dataset/thredds:documentation[@type='abstract'] THREDDS //thredds:metadata/thredds:documentation[@type='abstract'] netCDF /nc:netcdf/nc:attribute[@nc:name='summary']/@nc:value |
Purpose | A paragraph describing the original purpose for collecting the dataset. | DIF (1) /dif:DIF/dif:Summary/dif:Purpose ECHO (1) /*/SuggestedUsage ECS (1) /*/ecs:SuggestedUsage1 FGDC /fgdc:idinfo/fgdc:descript/fgdc:purpose HDF5.1 (1) /hdf5:HDF5-File/hdf5:RootGroup/hdf5:Group[@Name='METADATA']/hdf5:Group[@Name='COLLECTIONMETADATA']/hdf5:Group[@Name='ECSCollection']/hdf5:Attribute[@Name='SuggestedUsage']/hdf5:Data/hdf5:DataFromFile ISO (1) /*/gmd:identificationInfo/*/gmd:purpose/gco:CharacterString ISO-1 /mdb:MD_Metadata/mdb:identificationInfo/*/mri:purpose/gco:CharacterString UMM (1) /umm:UMM/umm:Summary/umm:Purpose SERF /serf:SERF/serf:Summary/serf:Purpose |
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. Fit: The fit of the dialect path with the concept is estimated on a scale of 1 = excellent two-way fit, 2 = one-way fit or some other problem, 3 - extension required. 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. Fit: The fit of the dialect path with the concept is estimated on a scale of 1 = excellent two-way fit, 2 = one-way fit or some other problem, 3 - extension required. 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. Fit: The fit of the dialect path with the concept is estimated on a scale of 1 = excellent two-way fit, 2 = one-way fit or some other problem, 3 - extension required.