adiwg-mdcodes 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 27148550d8503791cdf58ffb8cd0e012a1a23fb7
4
- data.tar.gz: 9ce920947a7ec0284261dab3815a6bd4176a06f1
3
+ metadata.gz: 37ecaa1334498a0080c166f560554c569a46204b
4
+ data.tar.gz: b1ebf196e720456a10bde7cb37dd277ead3e6fed
5
5
  SHA512:
6
- metadata.gz: ab38525674af2337f43c43064460c2c07079a02cc032b4a90aff8d570946f367d7040ff5d9492a4f5ea9b352e9ba863d28ebab7b564d504f4a8424bd81c17efb
7
- data.tar.gz: fc87fdc70f80994986fd2e8afb8089dfd9c818007bda3b7e2a504ea87c8fb28c48d5691c203b2ff3d0be2b8e5f49a9a72c0b88288c5ebdc7372d9e494dad5306
6
+ metadata.gz: b6db8a7e0fc48dad7078509cda40170088df6f8d1a49465fbdfbb9d0d0fb72596e7aeb2d74e709fd74130b8bd7d6e08f66e8f5617b8fd4b96cdcc3cddd360d4c
7
+ data.tar.gz: fddb686c897c9152d01cdc30fa45e539ca6eb5c845298f3f3e57a1db309d86e9c5ecda69a4b2a3a59658f79d17cd633da216e80b84933aefa28909dd59e0fb9f
data/.gitignore CHANGED
@@ -1,5 +1,5 @@
1
1
  /.project
2
- /resources/json/mdcodes.json
2
+ /resources/json
3
3
  *.gem
4
4
  *.rbc
5
5
  .bundle
@@ -15,10 +15,10 @@ lib/bundler/man
15
15
  pkg
16
16
  rdoc
17
17
  spec/reports
18
- test/dev.rb
19
18
  test/tmp
20
19
  test/version_tmp
21
20
  tmp
21
+ dev
22
22
  *.bundle
23
23
  *.so
24
24
  *.o
data/README.md CHANGED
@@ -1,13 +1,19 @@
1
1
  [![Build Status](https://travis-ci.org/adiwg/mdCodes.svg)](https://travis-ci.org/adiwg/mdCodes)
2
2
  [![Gem Version](https://badge.fury.io/rb/adiwg-mdcodes.svg)](http://badge.fury.io/rb/adiwg-mdcodes)
3
3
 
4
- # Mdcodes
4
+ # mdCodes
5
5
 
6
- adiwg-mdcodes provides code lists in hash or JSON formats for loading of mdEditor and other metadata
7
- tools that use the adiwg-json-schema. The code lists include all ISO 19115-2 and ISO 19115-1 codes plus
8
- supplemental codes added NGDC and ADIwg.
6
+ mdCodes provides code lists in hash or JSON formats for loading of mdEditor and other metadata
7
+ tools that use the ADIwg [mdJson-schemas](https://github.com/adiwg/mdJson-schemas). The code lists
8
+ include all ISO 19115-2 and ISO 19115-1 codes plus supplemental codes added by NGDC and ADIwg. The
9
+ code lists may be accessed in Ruby using the gem. Alternatively, JSON may be generated from the YAML
10
+ using [Grunt](http://gruntjs.com/getting-started). See the following for instructions.
9
11
 
10
- ## Installation
12
+ ## Ruby
13
+
14
+ The adiwg-mdcodes gem provides code lists in Ruby hash or JSON formats.
15
+
16
+ ### Installation
11
17
 
12
18
  Add this line to your application's Gemfile:
13
19
 
@@ -22,29 +28,40 @@ Or install it yourself as:
22
28
  $ gem install adiwg-mdcodes
23
29
 
24
30
 
25
- ## Methods
31
+ ### Methods
26
32
 
27
- ### getYamlPath
28
- > returns the path to the YAML file of code lists.
33
+ #### getYamlPath
34
+ > returns the path to the 'resources' folder containing codelist files in YAML format'.
29
35
 
30
- ### getCodeLists( returnFormat )
31
- > returns all code lists with all code list data
36
+ #### getAllCodelistsDetail( returnFormat )
37
+ > returns all code lists with all codelist detail
32
38
  > returnFormat = \[__hash__ | json] (string)
33
39
 
34
- ### getCodeList( codeListName, returnFormat )
35
- > returns a single code list with all code list data
40
+ #### getCodelistDetail( codeListName, returnFormat )
41
+ > returns a single codelist with all code list detail
36
42
  > codeListName = name of code list to return (string)
37
43
  > returnFormat = \[ __hash__ | json ] (string)
38
44
 
39
- ### getCodeNames( returnFormat )
40
- > returns all code lists with only the code list item names
45
+ #### getAllStaticCodelists( returnFormat )
46
+ > returns all static codelists with only the codelist item names
41
47
  > returnFormat = \[__hash__ | json] (string)
42
48
 
43
- ### getCodeName( codeListName, returnFormat )
44
- > returns a single code list with only the code list item names
49
+ #### getStaticCodelist( codeListName, returnFormat )
50
+ > returns a single static codelist with only the codelist item names
45
51
  > codeListName = name of code list to return (string)
46
52
  > returnFormat = \[__hash__ | json] (string)
47
53
 
54
+ ##Grunt
55
+
56
+ Generate JSON verions of the code lists using Grunt.
57
+
58
+ **Note**: These instructions assume that [npm](https://docs.npmjs.com/) and [Grunt](http://gruntjs.com/getting-started) are already installed. The generated
59
+ files are not tracked by git.
60
+
61
+ 1. Change to the project's root directory.
62
+ 2. Install project dependencies with ```npm install```.
63
+ 3. Generate the JSON code lists with ```grunt```.
64
+ 4. The JSON is written to the *resources/json* directory.
48
65
 
49
66
  ## Contributing
50
67
 
data/lib/adiwg/mdcodes.rb CHANGED
@@ -8,6 +8,7 @@
8
8
  # Josh Bradley 2014-11-07 moved resources directory outside lib, add getYamlPath
9
9
  # Stan Smith 2014-11-10 added support for JSON returns
10
10
  # Stan Smith 2014-11-10 added README.md text
11
+ # Stan Smith 2014-12-18 split codelists into individual YAML file
11
12
 
12
13
  # add main directories to load_path
13
14
 
@@ -15,29 +16,36 @@ require 'yaml'
15
16
  require 'json'
16
17
 
17
18
  module ADIWG
18
-
19
19
  module Mdcodes
20
- # return the path to yaml file.
20
+
21
+ # return the path to yaml files.
21
22
  def self.getYamlPath
22
- File.join(File.dirname(__FILE__),'..','..','resources','mdcodes.yml')
23
+ File.join(File.dirname(__FILE__),'..','..','resources')
23
24
  end
24
25
 
25
- # read the yml file into ruby
26
- def self.getCodeLists(format='hash')
27
- file = getYamlPath
28
- codes = YAML.load_file(file)
26
+ # return all codelists with full details
27
+ def self.getAllCodeistsDetail(format='hash')
28
+ path = getYamlPath + '/*.yml'
29
+ hCodeLists = {}
30
+ Dir.glob(path) do |item|
31
+ hCodeList = YAML.load_file(item)
32
+ hCodeLists[hCodeList['codelistName']] = hCodeList
33
+ end
29
34
  if format == 'json'
30
- return codes.to_json
35
+ return hCodeLists.to_json
31
36
  else
32
- return codes
37
+ return hCodeLists
33
38
  end
34
39
  end
35
40
 
36
- # return a single code list
37
- def self.getCodeList(codeList, format='hash')
38
- codeLists = getCodeLists
39
- hCodeList = {}
40
- hCodeList[codeList] = codeLists[codeList]
41
+ # return a single codelist with full details
42
+ def self.getCodelistDetail(codeList, format='hash')
43
+ file = File.join(getYamlPath, codeList + '.yml')
44
+ if File.exist?(file)
45
+ hCodeList = YAML.load_file(file)
46
+ else
47
+ return nil
48
+ end
41
49
  if format == 'json'
42
50
  return hCodeList.to_json
43
51
  else
@@ -45,42 +53,47 @@ module ADIWG
45
53
  end
46
54
  end
47
55
 
48
- # return only code names
49
- def self.getCodeNames(format='hash')
50
- codeLists = getCodeLists
51
- hCodeNames = {}
56
+ # return all static codelist with only the item names
57
+ def self.getAllStaticCodelists(format='hash')
58
+ codeLists = getAllCodeistsDetail
59
+ hCodeLists = {}
52
60
  codeLists.each do |key, value|
53
- aItems = value['items']
54
- aList = []
55
- aItems.each do |item|
56
- aList << item['codeName']
61
+ if value['codelistType'] == 'staticList'
62
+ aItems = value['codelist']
63
+ aList = []
64
+ aItems.each do |item|
65
+ aList << item['codeName']
66
+ end
67
+ hCodeLists[key] = aList
57
68
  end
58
- hCodeNames[key] = aList
59
- end
69
+ end
60
70
  if format == 'json'
61
- return hCodeNames.to_json
71
+ hCodeLists.to_json if format == 'json'
62
72
  else
63
- return hCodeNames
73
+ return hCodeLists
64
74
  end
65
75
  end
66
76
 
67
- # return a single code name list
68
- def self.getCodeName(codeList, format='hash')
69
- hCodeList = getCodeList(codeList)
70
- hCodeNames = {}
71
- aItems = hCodeList[codeList]['items']
72
- aList = []
73
- aItems.each do |item|
74
- aList << item['codeName']
77
+ # return a single static codelist with only the item names
78
+ def self.getStaticCodelist(codeList, format='hash')
79
+ hCodeList = getCodelistDetail(codeList)
80
+ if hCodeList
81
+ hCodeNames = {}
82
+ aItems = hCodeList['codelist']
83
+ aList = []
84
+ aItems.each do |item|
85
+ aList << item['codeName']
86
+ end
87
+ hCodeNames[hCodeList['codelistName']] = aList
88
+ if format == 'json'
89
+ return hCodeNames.to_json
90
+ else
91
+ return hCodeNames
92
+ end
93
+ else
94
+ return nil
75
95
  end
76
- hCodeNames[codeList] = aList
77
- if format == 'json'
78
- return hCodeNames.to_json
79
- else
80
- return hCodeNames
81
- end
82
96
  end
83
97
 
84
98
  end
85
-
86
99
  end
@@ -7,11 +7,13 @@
7
7
  # 0.2.0 2014-11-07 add option to return only codeNames
8
8
  # ... moved resources directory outside of lib
9
9
  # 0.2.1 2014-11-10 added support for JSON returns
10
+ # 0.3.0 2014-11-18 added administrator to role codelist
11
+ # 0.4.0 2014-12-18 split codelists into individual YAML file
10
12
 
11
13
  module ADIWG
12
14
 
13
15
  module Mdcodes
14
- VERSION = "0.2.1"
16
+ VERSION = "0.4.0"
15
17
  end
16
18
 
17
19
  end
@@ -0,0 +1,24 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+ # extended for ADIwg
5
+
6
+ codelistType: "staticList"
7
+ codelistName: "iso_associationType"
8
+ source: "ISO"
9
+ sourceName: "DS_AssociationTypeCode"
10
+ extensible: true
11
+ description: "justification for the correlation of two resources (datasets or projects)"
12
+ codelist:
13
+ - {code: "001", codeName: crossReference, description: "reference from one resource (dataset or project) to another"}
14
+ - {code: "002", codeName: largerWorkCitation, description: "reference to a master resource (dataset or project) of which this one is a part"}
15
+ - {code: "003", codeName: partOfSeamlessDatabase, description: "part of the same structured set of data held in a computer"}
16
+ - {code: "004", codeName: source, description: "mapping and charting information from which the dataset content originates"}
17
+ - {code: "005", codeName: stereoMate, description: "part of a set of imagery that when used together, provides three-dimensional images"}
18
+ - {code: "006", codeName: isComposedOf, description: "reference to resources (datasets or projects) that are parts of this resource"}
19
+ - {code: "007", codeName: collectiveTitle, description: "common title for a collection of resources. NOTE Title identifies elements of a series collectively, combined with information about what volumes are available at the source cite."}
20
+ - {code: "008", codeName: series, description: "associated through a common heritage such as produced to a common product specification"}
21
+ - {code: "009", codeName: dependency, description: "associated through a dependency"}
22
+ - {code: "010", codeName: revisionOf, description: "resource is a revision of associated resource"}
23
+ - {code: "adiwg001", codeName: projectProduct, description: "products developed as deliverables of a project or program"}
24
+ - {code: "adiwg002", codeName: supplementalResource, description: "supplemental resource"}
@@ -0,0 +1,39 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+
5
+ codelistType: "staticList"
6
+ codelistName: "iso_characterSet"
7
+ source: "ISO"
8
+ sourceName: "MD_CharacterSetCode"
9
+ extensible: true
10
+ description: "name of the character coding standard used in the resource"
11
+ codelist:
12
+ - {code: "001", codeName: ucs2, description: "16-bit fixed size Universal Character Set, based on ISO/IEC 10646"}
13
+ - {code: "002", codeName: ucs4, description: "32-bit fixed size Universal Character Set, based on ISO/IEC 10646"}
14
+ - {code: "003", codeName: utf7, description: "7-bit variable size UCS Transfer Format, based on ISO/IEC 10646"}
15
+ - {code: "004", codeName: utf8, description: "8-bit variable size UCS Transfer Format, based on ISO/IEC 10646"}
16
+ - {code: "005", codeName: utf16, description: "16-bit variable size UCS Transfer Format, based on ISO/IEC 10646"}
17
+ - {code: "006", codeName: 8859part1, description: "ISO/IEC 8859-1, Information technology - 8-bit single byte coded graphic character sets - Part 1 : Latin alphabet No.1"}
18
+ - {code: "007", codeName: 8859part2, description: "ISO/IEC 8859-2, Information technology - 8-bit single byte coded graphic character sets - Part 2 : Latin alphabet No.2"}
19
+ - {code: "008", codeName: 8859part3, description: "ISO/IEC 8859-3, Information technology - 8-bit single byte coded graphic character sets - Part 3 : Latin alphabet No.3"}
20
+ - {code: "009", codeName: 8859part4, description: "ISO/IEC 8859-4, Information technology - 8-bit single byte coded graphic character sets - Part 4 : Latin alphabet No.4"}
21
+ - {code: "010", codeName: 8859part5, description: "ISO/IEC 8859-5, Information technology - 8-bit single byte coded graphic character sets - Part 5 : Latin/Cyrillic alphabet"}
22
+ - {code: "011", codeName: 8859part6, description: "ISO/IEC 8859-6, Information technology - 8-bit single byte coded graphic character sets - Part 6 : Latin/Arabic alphabet"}
23
+ - {code: "012", codeName: 8859part7, description: "ISO/IEC 8859-7, Information technology - 8-bit single byte coded graphic character sets - Part 7 : Latin/Greek alphabet"}
24
+ - {code: "013", codeName: 8859part8, description: "ISO/IEC 8859-8, Information technology - 8-bit single byte coded graphic character sets - Part 8 : Latin/Hebrew alphabet"}
25
+ - {code: "014", codeName: 8859part9, description: "ISO/IEC 8859-9, Information technology - 8-bit single byte coded graphic character sets - Part 9 : Latin alphabet No.5"}
26
+ - {code: "015", codeName: 8859part10, description: "ISO/IEC 8859-10, Information technology - 8-bit single byte coded graphic character sets - Part 10 : Latin alphabet No.6"}
27
+ - {code: "016", codeName: 8859part11, description: "ISO/IEC 8859-11, Information technology - 8-bit single byte coded graphic character sets - Part 11 : Latin/Thai alphabet"}
28
+ - {code: "018", codeName: 8859part13, description: "ISO/IEC 8859-13, Information technology - 8-bit single byte coded graphic character sets - Part 13 : Latin alphabet No.7"}
29
+ - {code: "019", codeName: 8859part14, description: "ISO/IEC 8859-14, Information technology - 8-bit single byte coded graphic character sets - Part 14 : Latin alphabet No.8 (Celtic)"}
30
+ - {code: "020", codeName: 8859part15, description: "ISO/IEC 8859-15, Information technology - 8-bit single byte coded graphic character sets - Part 15 : Latin alphabet No.9"}
31
+ - {code: "021", codeName: 8859part16, description: "ISO/IEC 8859-16, Information technology - 8-bit single byte coded graphic character sets - Part 16 : Latin alphabet No.10"}
32
+ - {code: "022", codeName: jis, description: "japanese code set used for electronic transmission"}
33
+ - {code: "023", codeName: shiftJIS, description: "japanese code set used on MS-DOS machines"}
34
+ - {code: "024", codeName: eucJP, description: "japanese code set used on UNIX based machines"}
35
+ - {code: "025", codeName: usAscii, description: "United States ASCII code set (ISO 646 US)"}
36
+ - {code: "026", codeName: ebcdic, description: "IBM mainframe code set"}
37
+ - {code: "027", codeName: ecuKR, description: "Korean code set"}
38
+ - {code: "028", codeName: big5, description: "traditional Chinese code set used in Taiwan, Hong Kong of China and other areas"}
39
+ - {code: "029", codeName: GB2312, description: "simplified Chinese code set"}
@@ -0,0 +1,20 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+
5
+ codelistType: "staticList"
6
+ codelistName: "iso_classification"
7
+ source: "ISO"
8
+ sourceName: "MD_ClassificationCode"
9
+ extensible: true
10
+ description: "name of the handling restrictions on the dataset"
11
+ codelist:
12
+ - {code: "001", codeName: unclassified, description: "available for general disclosure"}
13
+ - {code: "002", codeName: restricted, description: "not for general disclosure"}
14
+ - {code: "003", codeName: confidential, description: "available for someone who can be entrusted with information"}
15
+ - {code: "004", codeName: secret, description: "kept or meant to be kept private, unknown, or hidden from all but a select group of people"}
16
+ - {code: "005", codeName: topSecret, description: "of the highest secrecy"}
17
+ - {code: "006", codeName: sensitiveButUnclassified, description: "although unclassified, requires strict controls over its distribution"}
18
+ - {code: "007", codeName: forOfficialUseOnly, description: "unclassified information that is to be used only for official purposes determined by the designating body"}
19
+ - {code: "008", codeName: protected, description: "compromise of the information could cause damage"}
20
+ - {code: "009", codeName: limitedDistribution, description: "dissemination limited by designating body"}
@@ -0,0 +1,27 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+
5
+ codelistType: "staticList"
6
+ codelistName: iso_"dataType"
7
+ source: "ISO"
8
+ sourceName: "MD_DatatypeCode"
9
+ extensible: true
10
+ description: "datatype of element or entity"
11
+ codelist:
12
+ - {code: "001", codeName: class, description: "descriptor of a set of objects that share the same attributes, operations, methods, relationships, and behavior"}
13
+ - {code: "002", codeName: codelist, description: "flexible enumeration useful for expressing a long list of values, can be extended"}
14
+ - {code: "003", codeName: enumerations, description: "data type whose instances form a list of named literal values, not extendable"}
15
+ - {code: "004", codeName: codelistElement, description: "permissible value for a codelist or enumeration"}
16
+ - {code: "005", codeName: abstractClass, description: "class that cannot be directly instantiated"}
17
+ - {code: "006", codeName: aggregateClass, description: "class that is composed of classes it is connected to by an aggregate relationship"}
18
+ - {code: "007", codeName: specifiedClass, description: "subclass that may be substituted for its superclass"}
19
+ - {code: "008", codeName: datatypeClass, description: "class with few or no operations whose primary purpose is to hold the abstract state of another class for transmittal, storage, encoding or persistent storage"}
20
+ - {code: "009", codeName: interfaceClass, description: "named set of operations that characterize the behavior of an element"}
21
+ - {code: "010", codeName: unionClass, description: "class describing a selection of one of the specified types"}
22
+ - {code: "011", codeName: metaClass, description: "class whose instances are classes"}
23
+ - {code: "012", codeName: typeClass, description: "class used for specification of a domain of instances (objects), together with the operations applicable to the objects. A type may have attributes and associations"}
24
+ - {code: "013", codeName: characterString, description: "free text field"}
25
+ - {code: "014", codeName: integer, description: "numeric filed"}
26
+ - {code: "015", codeName: association, description: "semantic relationship between two classes that involves connections among their instances"}
27
+ - {code: "016", codeName: typeClass, description: "class used for specification of a domain of instances (objects), together with the operations applicable to the objects. A type may have attributes and associations"}
@@ -0,0 +1,27 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+
5
+ codelistType: "staticList"
6
+ codelistName: "iso_dateType"
7
+ source: "ISO"
8
+ sourceName: "CI_DateTypeCode"
9
+ extensible: true
10
+ description: "identification of when a given event occurred"
11
+ codelist:
12
+ - {code: "001", codeName: creation, description: "date identifies when the resource was brought into existence"}
13
+ - {code: "002", codeName: publication, description: "date identifies when the resource was issued"}
14
+ - {code: "003", codeName: revision, description: "date identifies when the resource was examined or re-examined and improved or amended"}
15
+ - {code: "004", codeName: expiry, description: "date identifies when resource expires"}
16
+ - {code: "005", codeName: lastUpdate, description: "date identifies when resource was last updated"}
17
+ - {code: "006", codeName: lastRevision, description: "date identifies when resource was last reviewed"}
18
+ - {code: "007", codeName: nextUpdate, description: "date identifies when resource will be next updated"}
19
+ - {code: "008", codeName: unavailable, description: "date identifies when resource became not available or obtainable"}
20
+ - {code: "009", codeName: inForce, description: "date identifies when resource became in force"}
21
+ - {code: "010", codeName: adopted, description: "date identifies when resource was adopted"}
22
+ - {code: "011", codeName: depreciated, description: "date identifies when resource was deprecated"}
23
+ - {code: "012", codeName: superseded, description: "date identifies when resource was superseded or replaced by another resource"}
24
+ - {code: "013", codeName: validityBegins, description: "time at which the data are considered to become valid. NOTE: There could be quite a delay between creation and validity begins"}
25
+ - {code: "014", codeName: validityExpires, description: "time at which the data are no longer considered to be valid"}
26
+ - {code: "015", codeName: released, description: "the date that the resource shall be released for public access"}
27
+ - {code: "016", codeName: distribution, description: "date identifies when an instance of the resource was distributed"}
@@ -0,0 +1,26 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+
5
+ codelistType: "staticList"
6
+ codelistName: "iso_initiativeType"
7
+ source: "ISO"
8
+ sourceName: "DS_InitiativeTypeCode"
9
+ extensible: true
10
+ description: "type of initiative under which the resource was produced - the activity that resulted in the resource"
11
+ codelist:
12
+ - {code: "001", codeName: campaign, description: "series of organized planned actions"}
13
+ - {code: "002", codeName: collection, description: "accumulation of datasets assembled for a specific purpose"}
14
+ - {code: "003", codeName: exercise, description: "specific performance of a function or group of functions"}
15
+ - {code: "004", codeName: experiment, description: "process designed to find if something is effective or valid"}
16
+ - {code: "005", codeName: investigation, description: "search or systematic inquiry"}
17
+ - {code: "006", codeName: mission, description: "specific operation of a data collection system"}
18
+ - {code: "007", codeName: sensor, description: "device or piece of equipment which detects or records"}
19
+ - {code: "008", codeName: operation, description: "action that is part of a series of actions"}
20
+ - {code: "009", codeName: platform, description: "vehicle or other support base that holds a sensor"}
21
+ - {code: "010", codeName: process, description: "method of doing something involving a number of steps"}
22
+ - {code: "011", codeName: program, description: "specific planned activity"}
23
+ - {code: "012", codeName: project, description: "organized undertaking, research, or development"}
24
+ - {code: "013", codeName: study, description: "examination or investigation"}
25
+ - {code: "014", codeName: task, description: "piece of work"}
26
+ - {code: "015", codeName: trial, description: "process of testing to discover or demonstrate something"}
@@ -0,0 +1,28 @@
1
+ ---
2
+ # mdJson codelists
3
+ # base codelist for ISO 19115-2, 19115-1
4
+ # extended for ADIwg
5
+
6
+ codelistType: "staticList"
7
+ codelistName: "iso_keywordType"
8
+ source: "ISO"
9
+ sourceName: "MD_KeywordTypeCode"
10
+ extensible: true
11
+ description: "methods used to group similar keywords"
12
+ codelist:
13
+ - {code: "001", codeName: discipline, description: "keyword identifies a branch of instruction or specialized learning"}
14
+ - {code: "002", codeName: place, description: "keyword identifies a location"}
15
+ - {code: "003", codeName: stratum, description: "keyword identifies the layer(s) of any deposited substance"}
16
+ - {code: "004", codeName: temporal, description: "keyword identifies a time period related to the dataset"}
17
+ - {code: "005", codeName: theme, description: "keyword identifies a particular subject or topic"}
18
+ - {code: "006", codeName: dataCentre, description: "keyword identifies a repository or archive that manages and distributes data"}
19
+ - {code: "007", codeName: featureType, description: "keyword identifies a resource containing or about a collection of feature instances with common characteristics"}
20
+ - {code: "008", codeName: instrument, description: "keyword identifies a device used to measure or compare physical properties"}
21
+ - {code: "009", codeName: platform, description: "keyword identifies a structure upon which an instrument is mounted"}
22
+ - {code: "010", codeName: process, description: "keyword identifies a series of actions or natural occurrences"}
23
+ - {code: "011", codeName: project, description: "keyword identifies an endeavour undertaken to create or modify a product or service"}
24
+ - {code: "012", codeName: service, description: "keyword identifies an activity carried out by one party for the benefit of another"}
25
+ - {code: "013", codeName: product, description: "keyword identifies a type of product"}
26
+ - {code: "014", codeName: subTopicCategory, description: "refinement of a topic category for the purpose of geographic data classification"}
27
+ - {code: "015", codeName: taxon, description: "keyword identifies a taxonomy of the resource"}
28
+ - {code: "adiwg001", codeName: region, description: "keyword identifies a known geographic region (such as US Census Area, ecoregion type, etc.)"}