datacite-mapping 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +4 -0
- data/CHANGES.md +15 -0
- data/README.md +8 -3
- data/datacite-mapping.gemspec +2 -3
- data/lib/datacite/mapping.rb +1 -1
- data/lib/datacite/mapping/affiliation.rb +44 -0
- data/lib/datacite/mapping/alternate_identifier.rb +2 -0
- data/lib/datacite/mapping/contributor.rb +32 -6
- data/lib/datacite/mapping/contributor_name.rb +42 -0
- data/lib/datacite/mapping/creator.rb +39 -7
- data/lib/datacite/mapping/creator_name.rb +42 -0
- data/lib/datacite/mapping/date.rb +12 -0
- data/lib/datacite/mapping/date_value.rb +6 -0
- data/lib/datacite/mapping/description.rb +6 -2
- data/lib/datacite/mapping/empty_filtering_nodes.rb +1 -0
- data/lib/datacite/mapping/funding_reference.rb +14 -1
- data/lib/datacite/mapping/geo_location.rb +6 -1
- data/lib/datacite/mapping/geo_location_box.rb +5 -0
- data/lib/datacite/mapping/geo_location_node.rb +4 -2
- data/lib/datacite/mapping/geo_location_point.rb +3 -0
- data/lib/datacite/mapping/geo_location_polygon.rb +10 -1
- data/lib/datacite/mapping/identifier.rb +11 -9
- data/lib/datacite/mapping/module_info.rb +2 -2
- data/lib/datacite/mapping/name_identifier.rb +10 -6
- data/lib/datacite/mapping/name_type.rb +18 -0
- data/lib/datacite/mapping/publisher.rb +42 -0
- data/lib/datacite/mapping/read_only_nodes.rb +4 -0
- data/lib/datacite/mapping/related_identifier.rb +38 -1
- data/lib/datacite/mapping/resource.rb +25 -11
- data/lib/datacite/mapping/resource_type.rb +4 -0
- data/lib/datacite/mapping/rights.rb +33 -6
- data/lib/datacite/mapping/subject.rb +3 -2
- data/lib/datacite/mapping/title.rb +3 -2
- data/spec/data/datacite4/{datacite-example-Box_dateCollected_DataCollector-v4.0.xml → datacite-example-Box_dateCollected_DataCollector-v4.xml} +9 -11
- data/spec/data/datacite4/{datacite-example-GeoLocation-v4.0.xml → datacite-example-GeoLocation-v4.xml} +11 -10
- data/spec/data/datacite4/{datacite-example-HasMetadata-v4.0.xml → datacite-example-HasMetadata-v4.xml} +18 -13
- data/spec/data/datacite4/{datacite-example-ResearchGroup_Methods-v4.0.xml → datacite-example-ResearchGroup_Methods-v4.xml} +14 -12
- data/spec/data/datacite4/{datacite-example-ResourceTypeGeneral_Collection-v4.0.xml → datacite-example-ResourceTypeGeneral_Collection-v4.xml} +9 -9
- data/spec/data/datacite4/datacite-example-affiliation-v4.xml +114 -0
- data/spec/data/datacite4/{datacite-example-complicated-v4.0.xml → datacite-example-complicated-v4.xml} +14 -11
- data/spec/data/datacite4/datacite-example-datapaper-v4.xml +32 -0
- data/spec/data/datacite4/{datacite-example-dataset-v4.0.xml → datacite-example-dataset-v4.xml} +20 -14
- data/spec/data/datacite4/datacite-example-full-v4.xml +114 -0
- data/spec/data/datacite4/{datacite-example-fundingReference-v.4.0.xml → datacite-example-fundingReference-v4.xml} +16 -13
- data/spec/data/datacite4/datacite-example-polygon-advanced-v4.xml +141 -0
- data/spec/data/datacite4/datacite-example-polygon-v4.xml +161 -0
- data/spec/data/datacite4/{datacite-example-relationTypeIsIdenticalTo-v4.0.xml → datacite-example-relationTypeIsIdenticalTo-v4.xml} +17 -17
- data/spec/data/datacite4/datacite-example-software-v4.xml +66 -0
- data/spec/data/datacite4/{datacite-example-video-v4.0.xml → datacite-example-video-v4.xml} +7 -7
- data/spec/data/datacite4/{datacite-example-workflow-v4.0.xml → datacite-example-workflow-v4.xml} +13 -11
- data/spec/data/datacite4/metadata.xsd +102 -57
- data/spec/rspec_custom_matchers.rb +3 -0
- data/spec/unit/datacite/mapping/contributor_spec.rb +7 -1
- data/spec/unit/datacite/mapping/creator_spec.rb +9 -3
- data/spec/unit/datacite/mapping/resource_spec.rb +14 -17
- data/spec/unit/datacite/mapping/rights_spec.rb +0 -13
- metadata +42 -28
- data/spec/data/datacite4/datacite-example-full-v4.0.xml +0 -71
@@ -22,12 +22,14 @@ module Datacite
|
|
22
22
|
|
23
23
|
def value_str(val)
|
24
24
|
return "[ #{val.map(&:to_s).join(', ')} ]" if val.is_a?(Array)
|
25
|
+
|
25
26
|
"'#{val}'"
|
26
27
|
end
|
27
28
|
|
28
29
|
def obj_to_xml(obj, _xml)
|
29
30
|
val = value_from(obj)
|
30
31
|
return unless val
|
32
|
+
|
31
33
|
warn_ignored(val)
|
32
34
|
end
|
33
35
|
|
@@ -47,6 +49,7 @@ module Datacite
|
|
47
49
|
def warn_ignored(val)
|
48
50
|
raise ArgumentError, "Expected string, got #{val}" unless val.respond_to?(:strip)
|
49
51
|
return if val.strip.empty?
|
52
|
+
|
50
53
|
super
|
51
54
|
end
|
52
55
|
include ReadOnlyNodes
|
@@ -57,6 +60,7 @@ module Datacite
|
|
57
60
|
def warn_ignored(val)
|
58
61
|
raise ArgumentError, "Expected array, got #{val}" unless val.respond_to?(:empty?)
|
59
62
|
return if val.empty?
|
63
|
+
|
60
64
|
super
|
61
65
|
end
|
62
66
|
include ReadOnlyNodes
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'xml/mapping_extensions'
|
4
|
+
require 'datacite/mapping/resource_type'
|
4
5
|
|
5
6
|
module Datacite
|
6
7
|
module Mapping
|
@@ -37,6 +38,12 @@ module Datacite
|
|
37
38
|
# @!parse IS_PREVIOUS_VERSION_OF = IsPreviousVersionOf
|
38
39
|
new :IS_PREVIOUS_VERSION_OF, 'IsPreviousVersionOf'
|
39
40
|
|
41
|
+
# @!parse HAS_VERSION = HasVersion
|
42
|
+
new :HAS_VERSION, 'HasVersion'
|
43
|
+
|
44
|
+
# @!parse IS_VERSION_OF = IsVersionOf
|
45
|
+
new :IS_VERSION_OF, 'IsVersionOf'
|
46
|
+
|
40
47
|
# @!parse IS_PART_OF = IsPartOf
|
41
48
|
new :IS_PART_OF, 'IsPartOf'
|
42
49
|
|
@@ -82,6 +89,24 @@ module Datacite
|
|
82
89
|
# @!parse IS_SOURCE_OF = IsSourceOf
|
83
90
|
new :IS_SOURCE_OF, 'IsSourceOf'
|
84
91
|
|
92
|
+
# @!parse IS_OBSOLETED_BY = IsObsoletedBy
|
93
|
+
new :IS_OBSOLETED_BY, 'IsObsoletedBy'
|
94
|
+
|
95
|
+
# @!parse OBSOLETES = Obsoletes
|
96
|
+
new :OBSOLETES, 'Obsoletes'
|
97
|
+
|
98
|
+
# @!parse IS_DESCRIBED_BY = IsDescribedBy
|
99
|
+
new :IS_DESCRIBED_BY, 'IsDescribedBy'
|
100
|
+
|
101
|
+
# @!parse DESCRIBES = Describes
|
102
|
+
new :DESCRIBES, 'Describes'
|
103
|
+
|
104
|
+
# @!parse IS_REQUIRED_BY = IsRequiredBy
|
105
|
+
new :IS_REQUIRED_BY, 'IsRequiredBy'
|
106
|
+
|
107
|
+
# @!parse REQUIRES = Requires
|
108
|
+
new :REQUIRES, 'Requires'
|
109
|
+
|
85
110
|
end
|
86
111
|
|
87
112
|
# Controlled list of related identifier types.
|
@@ -139,11 +164,15 @@ module Datacite
|
|
139
164
|
|
140
165
|
# @!parse IGSN = IGSN
|
141
166
|
new :IGSN, 'IGSN'
|
167
|
+
|
168
|
+
# @!parse W3ID = w3id
|
169
|
+
new :W3ID, 'w3id'
|
142
170
|
end
|
143
171
|
|
144
172
|
class Datacite3RidTypeNode < XML::MappingExtensions::TypesafeEnumNode
|
145
173
|
def to_xml_text(enum_instance)
|
146
174
|
return super unless enum_instance == RelatedIdentifierType::IGSN
|
175
|
+
|
147
176
|
super(RelatedIdentifierType::HANDLE)
|
148
177
|
end
|
149
178
|
end
|
@@ -152,6 +181,7 @@ module Datacite
|
|
152
181
|
class Datacite3RidValueNode < XML::Mapping::TextNode
|
153
182
|
def obj_to_xml(obj, xml)
|
154
183
|
return super unless obj.identifier_type == RelatedIdentifierType::IGSN
|
184
|
+
|
155
185
|
igsn_value = obj.value
|
156
186
|
handle_value = "10273/#{igsn_value}"
|
157
187
|
# TODO: move this somewhere more general
|
@@ -173,7 +203,7 @@ module Datacite
|
|
173
203
|
# @param related_metadata_scheme [String, nil] the name of the metadata scheme. Used only with `HasMetadata`/`IsMetadataFor`. Optional.
|
174
204
|
# @param scheme_uri [URI, nil] the URI of the metadata scheme. Used only with `HasMetadata`/`IsMetadataFor`. Optional.
|
175
205
|
# @param scheme_type [String, nil] the type of the metadata scheme. Used only with `HasMetadata`/`IsMetadataFor`. Optional.
|
176
|
-
def initialize(relation_type:, value:, identifier_type:, related_metadata_scheme: nil, scheme_uri: nil, scheme_type: nil)
|
206
|
+
def initialize(relation_type:, value:, identifier_type:, related_metadata_scheme: nil, scheme_uri: nil, scheme_type: nil)
|
177
207
|
self.relation_type = relation_type
|
178
208
|
self.value = value
|
179
209
|
self.identifier_type = identifier_type
|
@@ -184,16 +214,19 @@ module Datacite
|
|
184
214
|
|
185
215
|
def value=(value)
|
186
216
|
raise ArgumentError, 'Value cannot be empty or nil' unless value && !value.empty?
|
217
|
+
|
187
218
|
@value = value
|
188
219
|
end
|
189
220
|
|
190
221
|
def identifier_type=(value)
|
191
222
|
raise ArgumentError, 'Identifier type cannot be empty or nil' unless value
|
223
|
+
|
192
224
|
@identifier_type = value
|
193
225
|
end
|
194
226
|
|
195
227
|
def relation_type=(value)
|
196
228
|
raise ArgumentError, 'Relation type cannot be nil' unless value
|
229
|
+
|
197
230
|
@relation_type = value
|
198
231
|
end
|
199
232
|
|
@@ -215,6 +248,10 @@ module Datacite
|
|
215
248
|
# @return [String, nil] the name of the metadata scheme. Used only with `HasMetadata`/`IsMetadataFor`. Optional.
|
216
249
|
text_node :related_metadata_scheme, '@relatedMetadataScheme', default_value: nil
|
217
250
|
|
251
|
+
# @!attribute [rw] resource_type_general
|
252
|
+
# @return [ResourceTypeGeneral] the general resource type
|
253
|
+
typesafe_enum_node :resource_type_general, '@resourceTypeGeneral', class: ResourceTypeGeneral, default_value: nil
|
254
|
+
|
218
255
|
# @!attribute [rw] scheme_uri
|
219
256
|
# @return [URI, nil] the URI of the metadata scheme. Used only with `HasMetadata`/`IsMetadataFor`. Optional.
|
220
257
|
uri_node :scheme_uri, '@schemeURI', default_value: nil
|
@@ -46,7 +46,7 @@ module Datacite
|
|
46
46
|
# @param identifier [Identifier] a persistent identifier that identifies a resource.
|
47
47
|
# @param creators [Array<Creator>] the main researchers involved working on the data, or the authors of the publication in priority order.
|
48
48
|
# @param titles [Array<Title>] the names or titles by which a resource is known.
|
49
|
-
# @param publisher [
|
49
|
+
# @param publisher [Publisher] the name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource.
|
50
50
|
# @param publication_year [Integer] year when the resource is made publicly available.
|
51
51
|
# @param subjects [Array<Subject>] subjects, keywords, classification codes, or key phrases describing the resource.
|
52
52
|
# @param funding_references [Array<FundingReference>] information about financial support (funding) for the resource being registered.
|
@@ -62,7 +62,7 @@ module Datacite
|
|
62
62
|
# @param rights_list [Array<Rights>] rights information for this resource.
|
63
63
|
# @param descriptions [Array<Description>] all additional information that does not fit in any of the other categories.
|
64
64
|
# @param geo_locations [Array<GeoLocations>] spatial region or named place where the data was gathered or about which the data is focused.
|
65
|
-
def initialize(identifier:, creators:, titles:, publisher:, publication_year:, subjects: [], contributors: [], dates: [], language: nil, funding_references: [], resource_type: nil, alternate_identifiers: [], related_identifiers: [], sizes: [], formats: [], version: nil, rights_list: [], descriptions: [], geo_locations: []) # rubocop:disable Metrics/MethodLength, Metrics/
|
65
|
+
def initialize(identifier:, creators:, titles:, publisher:, publication_year:, subjects: [], contributors: [], dates: [], language: nil, funding_references: [], resource_type: nil, alternate_identifiers: [], related_identifiers: [], sizes: [], formats: [], version: nil, rights_list: [], descriptions: [], geo_locations: []) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
|
66
66
|
self.identifier = identifier
|
67
67
|
self.creators = creators
|
68
68
|
self.titles = titles
|
@@ -94,27 +94,37 @@ module Datacite
|
|
94
94
|
|
95
95
|
def identifier=(value)
|
96
96
|
raise ArgumentError, 'Resource must have an identifier' unless value
|
97
|
+
|
97
98
|
@identifier = value
|
98
99
|
end
|
99
100
|
|
100
101
|
def creators=(value)
|
101
102
|
raise ArgumentError, 'Resource must have at least one creator' unless value && !value.empty?
|
103
|
+
|
102
104
|
@creators = value
|
103
105
|
end
|
104
106
|
|
105
107
|
def titles=(value)
|
106
108
|
raise ArgumentError, 'Resource must have at least one title' unless value && !value.empty?
|
109
|
+
|
107
110
|
@titles = value
|
108
111
|
end
|
109
112
|
|
113
|
+
# publisher can be entered as a string or a Publisher object, but it will be stored
|
114
|
+
# as a Publisher object
|
110
115
|
def publisher=(value)
|
111
|
-
|
112
|
-
|
113
|
-
@publisher =
|
116
|
+
raise ArgumentError, 'Publisher must have a value' unless value
|
117
|
+
|
118
|
+
@publisher = if value.is_a?(Publisher)
|
119
|
+
value
|
120
|
+
else
|
121
|
+
Publisher.new(value: value)
|
122
|
+
end
|
114
123
|
end
|
115
124
|
|
116
125
|
def publication_year=(value)
|
117
|
-
raise ArgumentError, 'Resource must have a four-digit publication year' unless value
|
126
|
+
raise ArgumentError, 'Resource must have a four-digit publication year' unless value&.to_i&.between?(1000, 9999)
|
127
|
+
|
118
128
|
@publication_year = value.to_i
|
119
129
|
end
|
120
130
|
|
@@ -151,7 +161,7 @@ module Datacite
|
|
151
161
|
end
|
152
162
|
|
153
163
|
def version=(value)
|
154
|
-
new_value = value
|
164
|
+
new_value = value&.to_s
|
155
165
|
@version = new_value&.strip
|
156
166
|
end
|
157
167
|
|
@@ -180,8 +190,12 @@ module Datacite
|
|
180
190
|
array_node :titles, 'titles', 'title', class: Title
|
181
191
|
|
182
192
|
# @!attribute [rw] publisher
|
183
|
-
# @return [
|
184
|
-
|
193
|
+
# @return [Publisher] the name of the entity that holds, archives, publishes prints, distributes, releases, issues, or produces the resource.
|
194
|
+
object_node :publisher, 'publisher', class: Publisher
|
195
|
+
|
196
|
+
# @!attribute [rw] resource_type
|
197
|
+
# @return [ResourceType, nil] the type of the resource
|
198
|
+
object_node :resource_type, 'resourceType', class: ResourceType, default_value: nil
|
185
199
|
|
186
200
|
# @!attribute [rw] publication_year
|
187
201
|
# @return [Integer] year when the resource is made publicly available.
|
@@ -246,14 +260,14 @@ module Datacite
|
|
246
260
|
# Convenience method to get the creators' names.
|
247
261
|
# @return [[Array[String]] An array of the creators' names.
|
248
262
|
def creator_names
|
249
|
-
creators.map
|
263
|
+
creators.map { |c| c&.creator_name&.value }
|
250
264
|
end
|
251
265
|
|
252
266
|
# Convenience method to get the creators' affiliations. (Bear in mind that each creator
|
253
267
|
# can have multiple affiliations.)
|
254
268
|
# @return [Array[Array[String]]] An array containing each creator's array of affiliations.
|
255
269
|
def creator_affiliations
|
256
|
-
creators.map(&:
|
270
|
+
creators.map(&:affiliation_names)
|
257
271
|
end
|
258
272
|
|
259
273
|
# Convenience method to get the funding contributor.
|
@@ -16,6 +16,9 @@ module Datacite
|
|
16
16
|
# @!parse DATASET = Dataset
|
17
17
|
new :DATASET, 'Dataset'
|
18
18
|
|
19
|
+
# @!parse DATA_PAPER = DataPaper
|
20
|
+
new :DATA_PAPER, 'DataPaper'
|
21
|
+
|
19
22
|
# @!parse EVENT = Event
|
20
23
|
new :EVENT, 'Event'
|
21
24
|
|
@@ -65,6 +68,7 @@ module Datacite
|
|
65
68
|
|
66
69
|
def resource_type_general=(val)
|
67
70
|
raise ArgumentError, 'General resource type cannot be nil' unless val
|
71
|
+
|
68
72
|
@resource_type_general = val
|
69
73
|
end
|
70
74
|
|
@@ -12,24 +12,51 @@ module Datacite
|
|
12
12
|
# Initializes a new {Rights} object
|
13
13
|
#
|
14
14
|
# @param uri [URI, nil] a URI for the license. Optional.
|
15
|
-
# @param
|
16
|
-
|
15
|
+
# @param identifier [String, nil] Optional.
|
16
|
+
# @param identifier_scheme [String, nil] Optional.
|
17
|
+
# @param scheme_url [URI, nil] Optional.
|
18
|
+
# @param language [String, nil] Optional.
|
19
|
+
# @param value [String] a rights statement.
|
20
|
+
def initialize(uri: nil, identifier: nil, identifier_scheme: nil, scheme_uri: nil, language: nil, value: nil)
|
17
21
|
self.uri = uri
|
22
|
+
self.identifier = identifier
|
23
|
+
self.identifier_scheme = identifier_scheme
|
24
|
+
self.scheme_uri = scheme_uri
|
25
|
+
self.language = language
|
18
26
|
self.value = value
|
19
27
|
end
|
20
28
|
|
21
|
-
def
|
22
|
-
|
23
|
-
|
29
|
+
def language=(value)
|
30
|
+
@language = value&.strip
|
31
|
+
end
|
32
|
+
|
33
|
+
def value=(new_value)
|
34
|
+
@value = new_value&.strip
|
24
35
|
end
|
25
36
|
|
26
37
|
# @!attribute [rw] uri
|
27
38
|
# @return [URI, nil] a URI for the license. Optional.
|
28
39
|
uri_node :uri, '@rightsURI', default_value: nil
|
29
40
|
|
41
|
+
# @!attribute [rw] language
|
42
|
+
# @return [String, nil] an IETF BCP 47, ISO 639-1 language code identifying the language.
|
43
|
+
text_node :language, '@xml:lang', default_value: nil
|
44
|
+
|
45
|
+
# @!attribute [rw] identifier
|
46
|
+
# @return [String, nil] an identifier for the rights setting. Optional.
|
47
|
+
text_node :identifier, '@rightsIdentifier', default_value: nil
|
48
|
+
|
49
|
+
# @!attribute [rw] identifier_scheme
|
50
|
+
# @return [String, nil] an identifier for the rights scheme. Optional.
|
51
|
+
text_node :identifier_scheme, '@rightsIdentifierScheme', default_value: nil
|
52
|
+
|
53
|
+
# @!attribute [rw] scheme_uri
|
54
|
+
# @return [URI, nil] a URI for the rights scheme. Optional.
|
55
|
+
uri_node :scheme_uri, '@schemeURI', default_value: nil
|
56
|
+
|
30
57
|
# @!attribute [rw] value
|
31
58
|
# @return [String] the rights statement. Cannot be empty or nil.
|
32
|
-
text_node :value, 'text()'
|
59
|
+
text_node :value, 'text()', default_value: nil
|
33
60
|
|
34
61
|
fallback_mapping :datacite_3, :_default
|
35
62
|
end
|
@@ -25,9 +25,10 @@ module Datacite
|
|
25
25
|
@language = value&.strip
|
26
26
|
end
|
27
27
|
|
28
|
-
def value=(
|
29
|
-
new_value =
|
28
|
+
def value=(value)
|
29
|
+
new_value = value&.strip
|
30
30
|
raise ArgumentError, 'Value cannot be empty or nil' unless new_value && !new_value.empty?
|
31
|
+
|
31
32
|
@value = new_value
|
32
33
|
end
|
33
34
|
|
@@ -36,9 +36,10 @@ module Datacite
|
|
36
36
|
@language = value&.strip
|
37
37
|
end
|
38
38
|
|
39
|
-
def value=(
|
40
|
-
new_value =
|
39
|
+
def value=(value)
|
40
|
+
new_value = value&.strip
|
41
41
|
raise ArgumentError, 'Value cannot be empty or nil' unless new_value && !new_value.empty?
|
42
|
+
|
42
43
|
@value = new_value.strip
|
43
44
|
end
|
44
45
|
|
@@ -3,25 +3,23 @@
|
|
3
3
|
<identifier identifierType="DOI">10.5072/DataCollector_dateCollected_geoLocationBox</identifier>
|
4
4
|
<creators>
|
5
5
|
<creator>
|
6
|
-
<creatorName>Peach, A.</creatorName>
|
6
|
+
<creatorName nameType="Personal">Peach, A.</creatorName>
|
7
7
|
</creator>
|
8
8
|
</creators>
|
9
9
|
<titles>
|
10
|
-
<title>
|
11
|
-
Temperature and Humidity in School Classrooms, Ponhook Lake, N.S., 1961-1962
|
12
|
-
</title>
|
10
|
+
<title xml:lang="en">Temperature and Humidity in School Classrooms, Ponhook Lake, N.S., 1961-1962</title>
|
13
11
|
</titles>
|
14
|
-
<publisher>National Research Council Canada</publisher>
|
12
|
+
<publisher xml:lang="en">National Research Council Canada</publisher>
|
15
13
|
<publicationYear>1963</publicationYear>
|
16
14
|
<subjects>
|
17
|
-
<subject schemeURI="http://lccn.loc.gov/sh85062931" subjectScheme="LCCN">Temperature</subject>
|
18
|
-
<subject schemeURI="http://lccn.loc.gov/sh85133712" subjectScheme="LCCN">Humidity</subject>
|
19
|
-
<subject schemeURI="http://lccn.loc.gov/sh88003345" subjectScheme="LCCN">Classrooms</subject>
|
20
|
-
<subject>Ponhook Lake (N.S.)</subject>
|
15
|
+
<subject xml:lang="en" schemeURI="http://lccn.loc.gov/sh85062931" subjectScheme="LCCN">Temperature</subject>
|
16
|
+
<subject xml:lang="en" schemeURI="http://lccn.loc.gov/sh85133712" subjectScheme="LCCN">Humidity</subject>
|
17
|
+
<subject xml:lang="en" schemeURI="http://lccn.loc.gov/sh88003345" subjectScheme="LCCN">Classrooms</subject>
|
18
|
+
<subject xml:lang="en">Ponhook Lake (N.S.)</subject>
|
21
19
|
</subjects>
|
22
20
|
<contributors>
|
23
21
|
<contributor contributorType="DataCollector">
|
24
|
-
<contributorName>Pomegranate, B.</contributorName>
|
22
|
+
<contributorName nameType="Personal">Pomegranate, B.</contributorName>
|
25
23
|
</contributor>
|
26
24
|
</contributors>
|
27
25
|
<dates>
|
@@ -33,7 +31,7 @@
|
|
33
31
|
<size>10 p.</size>
|
34
32
|
</sizes>
|
35
33
|
<descriptions>
|
36
|
-
<description descriptionType="Abstract">
|
34
|
+
<description xml:lang="en" descriptionType="Abstract">
|
37
35
|
The Division has been taking records of temperatures and humidities in groups of houses at various locations in Canada over the past several years. This survey has more recently been extended to include schools. Records obtained from classrooms in
|
38
36
|
six schools in Ponhook Lake, Nova Scotia from June 1, 1961-October 12, 1962 are now reported.
|
39
37
|
</description>
|
@@ -3,32 +3,33 @@
|
|
3
3
|
<identifier identifierType="DOI">10.5072/geoPointExample</identifier>
|
4
4
|
<creators>
|
5
5
|
<creator>
|
6
|
-
<creatorName>Schumann, Kai</creatorName>
|
6
|
+
<creatorName nameType="Personal">Schumann, Kai</creatorName>
|
7
7
|
</creator>
|
8
8
|
<creator>
|
9
|
-
<creatorName>Völker, David</creatorName>
|
9
|
+
<creatorName nameType="Personal">Völker, David</creatorName>
|
10
10
|
</creator>
|
11
11
|
<creator>
|
12
|
-
<creatorName>Weinrebe, Wilhelm Reiber</creatorName>
|
12
|
+
<creatorName nameType="Personal">Weinrebe, Wilhelm Reiber</creatorName>
|
13
13
|
</creator>
|
14
14
|
</creators>
|
15
15
|
<titles>
|
16
|
-
<title>
|
16
|
+
<title xml:lang="en">
|
17
17
|
Gridded results of swath bathymetric mapping of Disko Bay, Western Greenland, 2007-2008
|
18
18
|
</title>
|
19
19
|
</titles>
|
20
|
-
<publisher>
|
20
|
+
<publisher xml:lang="en">
|
21
21
|
PANGAEA - Data Publisher for Earth & Environmental Science
|
22
22
|
</publisher>
|
23
23
|
<publicationYear>2011</publicationYear>
|
24
24
|
<subjects>
|
25
|
-
<subject subjectScheme="DDC">551 Geology, hydrology, meteorology</subject>
|
25
|
+
<subject xml:lang="en" subjectScheme="DDC">551 Geology, hydrology, meteorology</subject>
|
26
26
|
</subjects>
|
27
27
|
<contributors>
|
28
28
|
<contributor contributorType="HostingInstitution">
|
29
|
-
<contributorName>
|
29
|
+
<contributorName nameType="Organizational">
|
30
30
|
IFM-GEOMAR Leibniz-Institute of Marine Sciences, Kiel University
|
31
31
|
</contributorName>
|
32
|
+
<nameIdentifier nameIdentifierScheme="ROR" schemeURI="http://ror.org/">https://ror.org/02h2x0161</nameIdentifier>
|
32
33
|
</contributor>
|
33
34
|
</contributors>
|
34
35
|
<language>en</language>
|
@@ -43,10 +44,10 @@
|
|
43
44
|
<format>application/zip</format>
|
44
45
|
</formats>
|
45
46
|
<rightsList>
|
46
|
-
<rights
|
47
|
-
</rightsList>
|
47
|
+
<rights xml:lang="en-US" schemeURI="https://spdx.org/licenses/" rightsIdentifierScheme="SPDX" rightsIdentifier="
|
48
|
+
CC-BY-3.0" rightsURI="http://creativecommons.org/licenses/by/3.0/deed">Creative Commons Attribution-NoDerivs 2.0 Generic</rights></rightsList>
|
48
49
|
<descriptions>
|
49
|
-
<description descriptionType="Abstract">
|
50
|
+
<description xml:lang="en" descriptionType="Abstract">
|
50
51
|
A ship-based acoustic mapping campaign was conducted at the exit of Ilulissat Ice Fjord and in the sedimentary basin of Disko Bay to the west of the fjord mouth. Submarine landscape and sediment distribution patterns are interpreted in terms of
|
51
52
|
glaciomarine facies types that are related to variations in the past position of the glacier front. In particular, asymmetric ridges that form a curved entity and a large sill at the fjord mouth may represent moraines hat depict at least two
|
52
53
|
relatively stable positions of the ice front in the Disko Bay and at the fjord mouth. In this respect, Ilulissat Glacier shows prominent differences to the East Greenland Kangerlussuaq Glacier which is comparable in present size and present role for
|
@@ -3,24 +3,32 @@
|
|
3
3
|
<identifier identifierType="DOI">10.5072/example</identifier>
|
4
4
|
<creators>
|
5
5
|
<creator>
|
6
|
-
<creatorName>Mari, Bernard</creatorName>
|
6
|
+
<creatorName nameType="Personal">Mari, Bernard</creatorName>
|
7
|
+
<givenName>Bernard</givenName>
|
8
|
+
<familyName>Mari</familyName>
|
7
9
|
</creator>
|
8
10
|
<creator>
|
9
|
-
<creatorName>Puissegur, Marie-Pierre</creatorName>
|
11
|
+
<creatorName nameType="Personal">Puissegur, Marie-Pierre</creatorName>
|
12
|
+
<givenName>Marie-Pierre</givenName>
|
13
|
+
<familyName>Puissegur</familyName>
|
10
14
|
</creator>
|
11
15
|
<creator>
|
12
|
-
<creatorName>Barbry, Pascal</creatorName>
|
16
|
+
<creatorName nameType="Personal">Barbry, Pascal</creatorName>
|
17
|
+
<givenName>Pascal</givenName>
|
18
|
+
<familyName>Barbry</familyName>
|
13
19
|
</creator>
|
14
20
|
<creator>
|
15
|
-
<creatorName>Lebrigand, Kevin</creatorName>
|
21
|
+
<creatorName nameType="Personal">Lebrigand, Kevin</creatorName>
|
22
|
+
<givenName>Kevin</givenName>
|
23
|
+
<familyName>Lebrigand</familyName>
|
16
24
|
</creator>
|
17
25
|
</creators>
|
18
26
|
<titles>
|
19
|
-
<title>
|
27
|
+
<title xml:lang="en">
|
20
28
|
Identification of putative novel specific targets of mir-210 in A549 human adenocarcinoma cells
|
21
29
|
</title>
|
22
30
|
</titles>
|
23
|
-
<publisher>
|
31
|
+
<publisher xml:lang="fr">
|
24
32
|
Institut de Pharmacologie Moleculaire et Cellulaire (IPMC), CNRS UMR6097, Universite de Nice Sophia-Antipolis, 660 route des lucioles, 06560 Valbonne - Sophia-Antipolis, France
|
25
33
|
</publisher>
|
26
34
|
<publicationYear>2010</publicationYear>
|
@@ -33,10 +41,10 @@
|
|
33
41
|
</subjects>
|
34
42
|
<contributors>
|
35
43
|
<contributor contributorType="HostingInstitution">
|
36
|
-
<contributorName>INIST-CNRS</contributorName>
|
44
|
+
<contributorName xml:lang="fr" nameType="Organizational">INIST-CNRS</contributorName>
|
37
45
|
</contributor>
|
38
46
|
</contributors>
|
39
|
-
<language>
|
47
|
+
<language>en</language>
|
40
48
|
<resourceType resourceTypeGeneral="Text">Experiment report</resourceType>
|
41
49
|
<relatedIdentifiers>
|
42
50
|
<relatedIdentifier relatedIdentifierType="URL" relatedMetadataScheme="ISA-Tab" relationType="HasMetadata" schemeType="Text" schemeURI="http://isatab.sourceforge.net/docs/ISA-TAB_release-candidate-1_v1.0_24nov08.pdf">http://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE18695</relatedIdentifier>
|
@@ -49,12 +57,9 @@
|
|
49
57
|
<format>PDF</format>
|
50
58
|
</formats>
|
51
59
|
<rightsList>
|
52
|
-
<rights rightsURI="http://creativecommons.org/licenses/by-nc-nd/3.0/">
|
53
|
-
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
|
54
|
-
</rights>
|
55
|
-
</rightsList>
|
60
|
+
<rights xml:lang="en-US" schemeURI="https://spdx.org/licenses/" rightsIdentifierScheme="SPDX" rightsIdentifier="CC-BY-NC-ND-3.0" rightsURI="http://creativecommons.org/licenses/by-nc-nd/3.0/"/> </rightsList>
|
56
61
|
<descriptions>
|
57
|
-
<description descriptionType="Abstract">
|
62
|
+
<description xml:lang="en" descriptionType="Abstract">
|
58
63
|
To identify putative novel specific targets of mir-210, we overexpressed miR-210 as well as miR-34a and a siRNA targeted against E2F3 in A549 human adenocarcinoma cells by transfecting them with synthetic pre-miRNAs or a synthetic negative pre-miRNA
|
59
64
|
as control (miR-Neg). RNA samples were harvested at 48 hours post-transfection and 2 independent experiments performed in dye-swap: miR-210 versus miR-Neg ; miR-34a versus miR-Neg ; si-E2F3 versus miR-Neg ; si-control versus miR-Neg.
|
60
65
|
</description>
|