From ca2034de5aa933c959e669bb5902ce8bcc336317 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 19:54:19 -0600 Subject: [PATCH 01/16] Add DCAT-US Writer Migrating changes from another branch. Unit tests and writers for most required fields and some if-applicable fileds. --- .../writers/dcat_us/dcat_us_writer.rb | 103 + .../mdtranslator/writers/dcat_us/readme.md | 10 + .../dcat_us/sections/dcat_us_access_level.rb | 30 + .../dcat_us/sections/dcat_us_contact_point.rb | 34 + .../dcat_us/sections/dcat_us_dcat_us.rb | 83 + .../dcat_us/sections/dcat_us_distribution.rb | 60 + .../dcat_us/sections/dcat_us_identifier.rb | 34 + .../dcat_us/sections/dcat_us_keyword.rb | 19 + .../dcat_us/sections/dcat_us_license.rb | 23 + .../dcat_us/sections/dcat_us_modified.rb | 29 + .../dcat_us/sections/dcat_us_publisher.rb | 77 + .../dcat_us/sections/dcat_us_rights.rb | 35 + .../dcat_us/sections/dcat_us_spatial.rb | 37 + .../dcat_us/sections/dcat_us_temporal.rb | 38 + .../mdtranslator/writers/dcat_us/version.rb | 14 + lib/adiwg/mdtranslator_cli.rb | 2 +- test/writers/dcat_us/dcat_us_test_parent.rb | 63 + test/writers/dcat_us/tc_dcat_us_SAMPLE.rb | 24 + .../dcat_us/tc_dcat_us_contact_point.rb | 24 + .../writers/dcat_us/tc_dcat_us_description.rb | 22 + test/writers/dcat_us/tc_dcat_us_identifier.rb | 34 + test/writers/dcat_us/tc_dcat_us_keyword.rb | 24 + test/writers/dcat_us/tc_dcat_us_modified.rb | 34 + test/writers/dcat_us/tc_dcat_us_publisher.rb | 38 + test/writers/dcat_us/tc_dcat_us_title.rb | 22 + test/writers/dcat_us/testData/SAMPLE.json | 3044 +++++++++++++++++ .../dcat_us/testData/contactPoint.json | 1108 ++++++ .../writers/dcat_us/testData/description.json | 141 + test/writers/dcat_us/testData/identifier.json | 93 + .../writers/dcat_us/testData/identifier2.json | 93 + test/writers/dcat_us/testData/keyword.json | 254 ++ test/writers/dcat_us/testData/modified.json | 368 ++ test/writers/dcat_us/testData/modified2.json | 376 ++ test/writers/dcat_us/testData/publisher.json | 177 + test/writers/dcat_us/testData/publisher2.json | 413 +++ test/writers/dcat_us/testData/title.json | 61 + 36 files changed, 7040 insertions(+), 1 deletion(-) create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/readme.md create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/version.rb create mode 100644 test/writers/dcat_us/dcat_us_test_parent.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_SAMPLE.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_contact_point.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_description.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_identifier.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_keyword.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_modified.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_publisher.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_title.rb create mode 100644 test/writers/dcat_us/testData/SAMPLE.json create mode 100644 test/writers/dcat_us/testData/contactPoint.json create mode 100644 test/writers/dcat_us/testData/description.json create mode 100644 test/writers/dcat_us/testData/identifier.json create mode 100644 test/writers/dcat_us/testData/identifier2.json create mode 100644 test/writers/dcat_us/testData/keyword.json create mode 100644 test/writers/dcat_us/testData/modified.json create mode 100644 test/writers/dcat_us/testData/modified2.json create mode 100644 test/writers/dcat_us/testData/publisher.json create mode 100644 test/writers/dcat_us/testData/publisher2.json create mode 100644 test/writers/dcat_us/testData/title.json diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb b/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb new file mode 100644 index 000000000..70233696f --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb @@ -0,0 +1,103 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +require 'jbuilder' +require_relative 'version' +require_relative 'sections/dcat_us_dcat_us' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + + def self.startWriter(intObj, responseObj) + # set the contact array for use by the writer + @contacts = intObj[:contacts] + + # set output flag for null properties + Jbuilder.ignore_nil(!responseObj[:writerShowTags]) + + # set the format of the output file based on the writer specified + responseObj[:writerOutputFormat] = 'json' + responseObj[:writerVersion] = ADIWG::Mdtranslator::Writers::Dcat_us::VERSION + + # write the dcat_us metadata record + metadata = Dcat_us.build(intObj, responseObj) + + # set writer pass to true if no messages + # false or warning state will be set by writer code + responseObj[:writerPass] = true if responseObj[:writerMessages].empty? + + # encode the metadata target as JSON + metadata.target! + end + + # find contact in contact array and return the contact hash + def self.get_contact_by_index(contactIndex) + if @contacts[contactIndex] + return @contacts[contactIndex] + end + {} + end + + # find contact in contact array and return the contact hash + def self.get_contact_by_id(contactId) + @contacts.each do |hContact| + if hContact[:contactId] == contactId + return hContact + end + end + {} + end + + # find contact in contact array and return the contact index + def self.get_contact_index_by_id(contactId) + @contacts.each_with_index do |hContact, index| + if hContact[:contactId] == contactId + return index + end + end + {} + end + + # ignore jBuilder object mapping when array is empty + def self.json_map(collection = [], _class) + if collection.nil? || collection.empty? + return nil + else + collection.map { |item| _class.build(item).attributes! } + end + end + + # find all nested objects in 'obj' that contain the element 'ele' + def self.nested_objs_by_element(obj, ele, excludeList = []) + aCollected = [] + obj.each do |key, value| + skipThisOne = false + excludeList.each do |exclude| + if key == exclude.to_sym + skipThisOne = true + end + end + next if skipThisOne + if key == ele.to_sym + aCollected << obj + elsif obj.is_a?(Array) + if key.respond_to?(:each) + aReturn = nested_objs_by_element(key, ele, excludeList) + aCollected = aCollected.concat(aReturn) unless aReturn.empty? + end + elsif obj[key].respond_to?(:each) + aReturn = nested_objs_by_element(value, ele, excludeList) + aCollected = aCollected.concat(aReturn) unless aReturn.empty? + end + end + aCollected + end + + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/readme.md b/lib/adiwg/mdtranslator/writers/dcat_us/readme.md new file mode 100644 index 000000000..7642647a0 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/readme.md @@ -0,0 +1,10 @@ + +## dcat_us + +### Supported versions + +> 0.0.x (dcat_us is not currently versioned) + +### Writer for Data Catalog Vocabulary (DCAT) v1.1 + + diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb new file mode 100644 index 000000000..9dc52b0b0 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb @@ -0,0 +1,30 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module AccessLevel + + def self.build(intObj) + resourceInfo = intObj[:metadata][:resourceInfo] + legalConstraints = resourceInfo[:constraints]&.select { |constraint| constraint[:type] == 'legal' } + + accessLevel = legalConstraints&.detect do |constraint| + constraint.dig(:legalConstraint, :accessCodes)&.any? { |code| ["public", "restricted public", "non-public"].include?(code) } + end + + accessLevel ? accessLevel : nil + end + + end + end + end + end +end + diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb new file mode 100644 index 000000000..12964f3fc --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb @@ -0,0 +1,34 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module ContactPoint + + def self.build(intObj) + resourceInfo = intObj[:metadata][:resourceInfo] + pointOfContact = resourceInfo[:pointOfContacts][0] + contactId = pointOfContact[:parties][0][:contactId] + + contact = Dcat_us.get_contact_by_id(contactId) + fn = contact[:name] + hasEmail = contact[:eMailList][0] + + Jbuilder.new do |json| + json.set!('@type', 'vcard:Contact') + json.set!('fn', fn) + json.set!('hasEmail', hasEmail) + end + + end + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb new file mode 100644 index 000000000..2b8b8100c --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb @@ -0,0 +1,83 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +require 'jbuilder' +require_relative 'dcat_us_keyword' +require_relative 'dcat_us_publisher' +require_relative 'dcat_us_contact_point' +require_relative 'dcat_us_identifier' +require_relative 'dcat_us_distribution' +require_relative 'dcat_us_spatial' +require_relative 'dcat_us_temporal' +require_relative 'dcat_us_modified' +require_relative 'dcat_us_access_level' +require_relative 'dcat_us_rights' +require_relative 'dcat_us_license' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + + def self.build(intObj, responseObj) + metadataInfo = intObj[:metadata][:metadataInfo] + resourceInfo = intObj[:metadata][:resourceInfo] + citation = resourceInfo[:citation] + + title = citation[:title] + description = citation[:abstract] + keyword = Keyword.build(intObj) + modified = Modified.build(intObj) + publisher = Publisher.build(intObj) + contactPoint = ContactPoint.build(intObj) + accessLevel = AccessLevel.build(intObj) + identifier = Identifier.build(intObj) + distribution = Distribution.build(intObj) + rights = Rights.build(intObj) + spatial = Spatial.build(intObj) + temporal = Temporal.build(intObj) + license = License.build(intObj) + + + @Namespace = ADIWG::Mdtranslator::Writers::Dcat_us + + Jbuilder.new do |json| + json.set!('@type', 'dcat:Dataset') + json.set!('dcat:title', title) + json.set!('dcat:description', description) + json.set!('dcat:keyword', keyword) + json.set!('dcat:modified', modified) + json.set!('dcat:publisher', publisher) + json.set!('dcat:contactPoint', contactPoint) + json.set!('dcat:identifier', identifier) + json.set!('dcat:accessLevel', accessLevel) + # json.set!('dcat:bureauCode', 'ToDo') + # json.set!('dcat:programCode', 'ToDo') + json.set!('dcat:distribution', distribution) + + json.set!('dcat:license', license) + json.set!('dcat:rights', rights) + json.set!('dcat:spatial', spatial) + json.set!('dcat:temporal', temporal) + + # json.set!('dcat:issued', metadataInfo[:metadataDates][0][:date]) + # json.set!('dcat:accrualPeriodicity', metadataInfo[:metadataMaintenance][:maintenanceFrequency]) + # json.set!('dcat:language', metadataInfo[:metadataLocales][0][:languageCode]) + # json.set!('dcat:dataQuality', metadataInfo[:metadataMaintenance][:maintenanceNote]) + # json.set!('dcat:theme', metadataInfo[:metadataTopics][0][:topicCategory]) + # json.set!('dcat:references', metadataInfo[:metadataCitation]) + # json.set!('dcat:landingPage', metadataInfo[:metadataOnlineOptions][0][:olResURI]) + # json.set!('dcat:isPartOf', metadataInfo[:metadataHierarchy][0][:parentMetadata][:metadataId]) + # json.set!('dcat:systemOfRecords', metadataInfo[:metadataHierarchy][0][:parentMetadata][:metadataId]) + # json.set!('dcat:primaryITInvestmentUII', metadataInfo[:metadataId]) + # json.set!('dcat:describedBy', metadataInfo[:metadataOnlineOptions][0][:olResURI]) + # json.set!('dcat:describedByType', metadataInfo[:metadataOnlineOptions][0][:olResProtocol]) + # json.set!('dcat:conformsTo', metadataInfo[:metadataStandards][0][:standardName]) + end + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb new file mode 100644 index 000000000..2736a5ebc --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb @@ -0,0 +1,60 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Distribution + + def self.build(intObj) + resourceDistributions = intObj.dig(:metadata, :distributorInfo) + distributions = [] + + resourceDistributions&.each do |resource| + description = resource[:description] || '' + break_flag = false # Flag to control nested loop breaks + + resource[:distributor]&.each do |distributor| + break if break_flag + + distributor[:transferOptions]&.each do |transfer| + break if break_flag + + mediaType = transfer.dig(:distributionFormats)&.find { |format| format.dig(:formatSpecification, :title) }&.dig(:formatSpecification, :title) || '' + + transfer[:onlineOptions]&.each do |option| + next unless option[:olResURI] + + accessURL = option[:olResURI] unless option[:olResURI].end_with?('.html') + downloadURL = option[:olResURI] if option[:olResURI].end_with?('.html') + title = option[:olResName] || '' + + distribution = Jbuilder.new do |json| + json.set!('@type', 'dcat:Distribution') + json.set!('dcat:description', description) + json.set!('dcat:accessURL', accessURL) if accessURL + json.set!('dcat:downloadURL', downloadURL) if downloadURL + json.set!('dcat:mediaType', mediaType) + json.set!('dcat:title', title) + end + + distributions << distribution.attributes! + break_flag = true + break + end + end + end + end + distributions + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb new file mode 100644 index 000000000..0ccb798ca --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb @@ -0,0 +1,34 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Identifier + + def self.build(intObj) + citation = intObj.dig(:metadata, :resourceInfo, :citation) + identifiers = citation&.dig(:identifiers) + onlineResources = citation&.dig(:onlineResources) + uri = onlineResources.dig(0, :olResURI) + + namespace_is_doi = identifiers&.any? { |identifier| identifier[:namespace]&.casecmp?("DOI") } + + if namespace_is_doi + return uri + elsif uri && uri.downcase.include?("doi") + return uri + end + + nil + end + + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb new file mode 100644 index 000000000..d301d96a2 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_keyword.rb @@ -0,0 +1,19 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Keyword + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + keywords = resourceInfo&.dig(:keywords) + + return keywords&.flat_map { |keyword| keyword[:keywords]&.map { |kw| kw[:keyword] } } || [] + end + + end + end + end + end +end + \ No newline at end of file diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb new file mode 100644 index 000000000..223e5ea09 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb @@ -0,0 +1,23 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-08-26 original script + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module License + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + title = resourceInfo.dig(:constraints, 0, :reference, 0, :title) + license = title || 'https://creativecommons.org/publicdomain/zero/1.0/' + license + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb new file mode 100644 index 000000000..a3b6dac83 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_modified.rb @@ -0,0 +1,29 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Modified + + def self.build(intObj) + resourceInfo = intObj[:metadata][:resourceInfo] + citation = resourceInfo[:citation] + dates = citation[:dates] + + mostRecentDate = nil + + dates.each do |date| + if date[:dateType] == "lastUpdated" || date[:dateType] == "lastRevised" || date[:dateType] == "revision" + if mostRecentDate.nil? || date[:date] > mostRecentDate + mostRecentDate = date[:date] + end + end + end + + return mostRecentDate + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb new file mode 100644 index 000000000..4aa0d50df --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb @@ -0,0 +1,77 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Publisher + def self.build(intObj) + contacts = intObj.dig(:contacts) + metadata = intObj.dig(:metadata) + responsible_parties = metadata&.dig(:resourceInfo, :citation, :responsibleParties) + resource_distributions = metadata&.dig(:distributorInfo) + + publisher = find_publisher(responsible_parties) || find_distributions_publisher(intObj) + + return if publisher.nil? + + name, org_name = extract_names(publisher, contacts) + + return if name.nil? + + build_json(name, org_name) + end + + private + + def self.find_publisher(responsible_parties) + responsible_parties&.detect do |party| + party[:roleName] == 'publisher' && party.dig(:parties)&.first&.dig(:contactType) == 'organization' + end + end + + def self.find_distributions_publisher(intObj) + distributor_info = intObj.dig(:metadata, :distributorInfo) || [] + distributor_info.each do |distribution| + distributors = distribution[:distributor] || [] + distributors.each do |dist| + contact_type = dist.dig(:contact, :parties, 0, :contactType) + return dist[:contact] if contact_type == 'organization' + end + end + nil + end + + def self.extract_names(publisher, contacts) + contact_id = publisher.dig(:parties)&.first&.dig(:contactId) || publisher[:contactId] + related_contact = contacts&.detect { |contact| contact[:contactId] == contact_id } + org_name = nil + if related_contact + member_of_org_ids = related_contact[:memberOfOrgs] + member_of_orgs = contacts.select { |contact| member_of_org_ids&.include?(contact[:contactId]) && contact[:isOrganization] } + org_name = member_of_orgs.first&.dig(:name) + end + name = publisher.dig(:parties)&.first&.dig(:contactName) || publisher[:contactName] + [name, org_name] + end + + def self.build_json(name, org_name) + Jbuilder.new do |json| + json.set!('@type', 'org:Organization') + json.set!('name', name) + + if org_name + json.subOrganizationOf do |json_sub| + json_sub.set!('@type', 'org:Organization') + json_sub.set!('name', org_name) + end + end + end + end + + + + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb new file mode 100644 index 000000000..7632c35d2 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb @@ -0,0 +1,35 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-08-26 original script + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Rights + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + constraint = resourceInfo&.dig(:constraint) + accessLevel = constraint&.dig(:accessLevel) + + if accessLevel && ["restricted public", "non-public"].include?(accessLevel) + statement = constraint.dig(:releasibility, :statement) + disseminationConstraints = constraint.dig(:releasibility, :disseminationConstraint) + + if disseminationConstraints + combinedConstraints = disseminationConstraints.join(" ") + end + + return "#{statement} #{combinedConstraints}".strip + end + + nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb new file mode 100644 index 000000000..748a3d941 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb @@ -0,0 +1,37 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Spatial + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + extent = resourceInfo&.dig(:extents, 0) + geographicExtent = extent&.dig(:geographicExtents, 0) + boundingBox = geographicExtent&.dig(:boundingBox) + + if boundingBox + return [ + boundingBox[:eastLongitude], + boundingBox[:southLatitude], + boundingBox[:westLongitude], + boundingBox[:northLatitude] + ].join(',') + elsif geographicExtent&.dig(:geographicElement, 0, :type) == 'point' + point = geographicExtent.dig(:geographicElement, 0, :coordinate) + return "#{point[1]},#{point[0]}" if point&.length == 2 + end + + nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb new file mode 100644 index 000000000..66625b3eb --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb @@ -0,0 +1,38 @@ +# dcat_us 1.0 writer + +# History: +# Johnathan Aspinwall 2023-06-22 original script + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Temporal + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + extent = resourceInfo&.dig(:extents, 0) + temporalExtent = extent&.dig(:temporalExtents, 0) + timePeriod = temporalExtent&.dig(:timePeriod) + + if timePeriod + startDate = timePeriod[:startDateTime] + endDate = timePeriod[:endDateTime] + + if startDate && endDate + return "#{startDate}/#{endDate}" + elsif startDate + return startDate + elsif endDate + return endDate + end + end + + nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/version.rb b/lib/adiwg/mdtranslator/writers/dcat_us/version.rb new file mode 100644 index 000000000..f5f8fb97c --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/version.rb @@ -0,0 +1,14 @@ +# dcat_us version history +# Johnathan Aspinwall 2023-06-22 created for mdJson/mdTranslator 2.0 + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + + VERSION = '1.0.0' + + end + end + end +end diff --git a/lib/adiwg/mdtranslator_cli.rb b/lib/adiwg/mdtranslator_cli.rb index 7926b0b43..09af0ddc5 100755 --- a/lib/adiwg/mdtranslator_cli.rb +++ b/lib/adiwg/mdtranslator_cli.rb @@ -39,7 +39,7 @@ def self.exit_on_failure? :enum => %w{mdJson sbJson fgdc}, :required => true method_option :writer, :aliases => '-w', :desc => 'Writer to create your output metadata file, leave blank to validate input only', - :enum => %w{fgdc html iso19110 iso19115_1 iso19115_2 mdJson sbJson simple_html } + :enum => %w{fgdc html iso19110 iso19115_1 iso19115_2 mdJson sbJson simple_html dcat_us} method_option :validate, :aliases => '-v', :desc => 'Specify level of validation to be performed', :enum => %w{none normal strict}, :default => 'normal' method_option :forceValid, :aliases => '-f', :desc => 'Insert tags for required elements missing from input', diff --git a/test/writers/dcat_us/dcat_us_test_parent.rb b/test/writers/dcat_us/dcat_us_test_parent.rb new file mode 100644 index 000000000..9286fd5d9 --- /dev/null +++ b/test/writers/dcat_us/dcat_us_test_parent.rb @@ -0,0 +1,63 @@ +# MdTranslator - minitest of +# parent class for all tc_dcat_us tests + +# History: +# + +require 'minitest/autorun' +require 'json' +require 'json-schema' + +class TestWriterDcatUsParent < MiniTest::Test + + # get json file for tests from examples folder + def self.getJson(fileName) + + file = File.join(File.dirname(__FILE__), 'testData', fileName) + file = File.open(file, 'r') + jsonFile = file.read + file.close + return jsonFile + + end + +end + +class Hash + def deep_diff(other) + (self.keys + other.keys).uniq.inject({}) do |memo, key| + left = self[key] + right = other[key] + + next memo if left == right + + if left.respond_to?(:deep_diff) && right.respond_to?(:deep_diff) + memo[key] = left.deep_diff(right) + else + memo[key] = [left, right] + end + + memo + end + end +end + +class Array + def deep_diff(array) + largest = [self.count, array.count].max + memo = {} + + 0.upto(largest - 1) do |index| + left = self[index] + right = array[index] + + next if left == right + + if left.respond_to?(:deep_diff) && right.respond_to?(:deep_diff) + memo[index] = left.deep_diff(right) + else + memo[index] = [left, right] + end + end + end +end diff --git a/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb b/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb new file mode 100644 index 000000000..c577675eb --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsSAMPLE < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('SAMPLE.json') + + def test_sample + # metadata = ADIWG::Mdtranslator.translate( + # file: @@jsonIn, reader: 'mdJson', validate: 'normal', + # writer: 'dcat_us', showAllTags: false) + + # hJsonOut = JSON.parse(metadata[:writerOutput]) + # got = hJsonOut['dcat:SAMPLE'] + + # assert_equal '', got + + assert true + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_contact_point.rb b/test/writers/dcat_us/tc_dcat_us_contact_point.rb new file mode 100644 index 000000000..b4411a6e5 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_contact_point.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsContactPoint < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('ContactPoint.json') + + def test_sample + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:contactPoint'] + + expect = {"@type"=>"vcard:Contact", "fn"=>"Stan Smith", "hasEmail"=>"e.mail@address.com1"} + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_description.rb b/test/writers/dcat_us/tc_dcat_us_description.rb new file mode 100644 index 000000000..0f3479492 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_description.rb @@ -0,0 +1,22 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsTitle < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('description.json') + + def test_title + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:description'] + + assert_equal 'myBody', got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_identifier.rb b/test/writers/dcat_us/tc_dcat_us_identifier.rb new file mode 100644 index 000000000..b19f7dadf --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_identifier.rb @@ -0,0 +1,34 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsIdentifier < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('identifier.json') + @@jsonIn2 = TestWriterDcatUsParent.getJson('identifier2.json') + + def test_identifier_namespace + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:identifier'] + + assert_equal 'http://myOnlineResource-namespace.com', got + end + + def test_identifier_url + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn2, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:identifier'] + + assert_equal 'http://myOnlineResource-doi.com', got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_keyword.rb b/test/writers/dcat_us/tc_dcat_us_keyword.rb new file mode 100644 index 000000000..e2962ce1e --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_keyword.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsKeyword < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('keyword.json') + + def test_keyword + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:keyword'] + + expect = ["Barrow", "Prudhoe Bay", "Kaparuk", "Brown Bear", "Polar Bear", "Black Bear", "Cinnamon Bear", "Teddy Bear", "butter", "sugar", "eggs", "inlandWaters", "location", "climatologyMeteorologyAtmosphere", "carbon dating", "ionization"] + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_modified.rb b/test/writers/dcat_us/tc_dcat_us_modified.rb new file mode 100644 index 000000000..78f65c24c --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_modified.rb @@ -0,0 +1,34 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsModified < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('modified.json') + @@jsonIn2 = TestWriterDcatUsParent.getJson('modified2.json') + + def test_modified_basic + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:modified'] + + assert_equal '2017-06-22T16:15:14+00:00', got + end + + def test_modified_out_of_order + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn2, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:modified'] + + assert_equal '2022-06-22T16:15:14+00:00', got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_publisher.rb b/test/writers/dcat_us/tc_dcat_us_publisher.rb new file mode 100644 index 000000000..ba0795def --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_publisher.rb @@ -0,0 +1,38 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsPublisher < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('publisher.json') + @@jsonIn2 = TestWriterDcatUsParent.getJson('publisher2.json') + + def test_publisher_responsible_party + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:publisher'] + + expect = {"@type"=>"org:Organization", "name"=>"US Geological Survey", "subOrganizationOf"=>{"@type"=>"org:Organization", "name"=>"US Department of the Interior"}} + + assert_equal expect, got + end + + def test_publisher_resource_distribution + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn2, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:publisher'] + + expect = {"@type"=>"org:Organization", "name"=>"Arctic Landscape Conservation Cooperative"} + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_title.rb b/test/writers/dcat_us/tc_dcat_us_title.rb new file mode 100644 index 000000000..0ea2b8aed --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_title.rb @@ -0,0 +1,22 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsTitle < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('title.json') + + def test_title + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:title'] + + assert_equal 'myCitationTitle', got + end + +end diff --git a/test/writers/dcat_us/testData/SAMPLE.json b/test/writers/dcat_us/testData/SAMPLE.json new file mode 100644 index 000000000..6c5a55402 --- /dev/null +++ b/test/writers/dcat_us/testData/SAMPLE.json @@ -0,0 +1,3044 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "description": "ground condition", + "startDateTime": "2016-06-01", + "endDateTime": "2016-08-15" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + } + }, + { + "referenceSystemType": "referenceSystemType1" + }, + { + "referenceSystemIdentifier": { + "identifier": "identifier2" + } + }, + { + "referenceSystemType": "projected", + "referenceSystemIdentifier": { + "identifier": "Zone 10", + "namespace": "UTM", + "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" + } + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemIdentifier": { + "identifier": "4326", + "namespace": "urn:ogc:def:crs:EPSG", + "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", + "authority": { + "title": "European Petroleum Survey Group" + } + } + }, + { + "referenceSystemType": "projected", + "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemParameterSet": { + "geodetic": { + "datumIdentifier": { + "identifier": "identifier" + }, + "ellipsoidIdentifier": { + "identifier": "identifier" + }, + "semiMajorAxis": 9.9, + "axisUnits": "axisUnits", + "denominatorOfFlatteningRatio": 9.9 + } + } + } + ], + "spatialRepresentationType": [ + "vector", + "stereoModel" + ], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [{ + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ] + ], + "centerPoint": [ + 0.5, + 0.5 + ], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [{ + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 99999 + }, { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "levelOfDetail": "levelOfDetail" + }, { + "geographicResolution": { + "latitudeResolution": 9.9, + "longitudeResolution": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "bearingDistanceResolution": { + "distanceResolution": 9.9, + "distanceUnitOfMeasure": "distanceUnitOfMeasure", + "bearingResolution": 9.9, + "bearingUnitOfMeasure": "bearingUnitOfMeasure", + "bearingReferenceDirection": "north", + "bearingReferenceMeridian": "assumed" + } + }, { + "coordinateResolution": { + "abscissaResolutionX": 9.9, + "ordinateResolutionY": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "place", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "taxon", + "thesaurus": { + "title": "ITIS - Integrated Taxonomic Information System" + } + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ], + "keywordType": "theme", + "thesaurus": { + "title": "Exploring Cookies" + } + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory", + "thesaurus": { + "title": "ISO Topic Categories" + } + }, + { + "keyword": [ + { + "keyword": "carbon dating" + }, + { + "keyword": "ionization" + } + ], + "keywordType": "method", + "thesaurus": { + "title": "Lineage Methodology keyword set" + } + } + ], + "taxonomy": [ + { + "taxonomicSystem": [{ + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": [ + "Citation for ITIS" + ], + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [{ + "title": "citation", + "identifier": [{ + "identifier": "identifier0", + "namespace": "namespace0", + "version": "version0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title0", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + }, + { + "title": "citation1", + "identifier": [{ + "identifier": "identifier1", + "namespace": "namespace1", + "version": "version1", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title1", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + } + ], + "observer": [{ + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [{ + "contactId": "CID001" + }] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [{ + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + } + ], + "taxonomicClassification": [{ + "taxonomicLevel": "taxonomicLevel0", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicLevel": "taxonomicLevel00", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel000", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId0000.1", + "taxonomicLevel": "taxonomicLevel0000.1", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }, + { + "taxonomicSystemId": "taxonomicSystemId0000.2", + "taxonomicLevel": "taxonomicLevel0000.2", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + }] + }, + { + "taxonomicLevel": "taxonomicLevel01", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel010", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }] + } + ] + }, + { + "taxonomicLevel": "taxonomicLevel0201", + "taxonomicName": "taxonomicName" + } + ] + }], + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/1" + }] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [{ + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [{ + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [{ + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [{ + "identifier": "identifier" + }], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": [ + "modelResult" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [{ + "attributeContentType": [ + "attributeContentType" + ] + }, + { + "attributeContentType": [ + "attributeContentType" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [{ + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": [ + "note0", + "note1" + ], + "contact": [{ + "role": "custodian", + "party": [{ + "contactId": "CID005" + }] + }] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "geographic extent description", + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-10.0, 50.0], + [90.0, 50.0], + [90.0, 25.0], + [-10.0, 25.0], + [-10.0, 50.0] + ] + ] + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [140, 65], + [-170, 65], + [-170, 55], + [140, 55], + [140, 65] + ] + ] + }] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-162, 65], + [-161, 65], + [-161, 60], + [-162, 60], + [-162, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [100, 55], + [102, 55], + [102, 50], + [100, 50], + [100, 55] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timeInstant": { + "id": "id", + "description": "description", + "identifier": { + "identifier": "identifier", + "namespace": "namespace" + }, + "instantName": [ + "instantName0", + "instantName1" + ], + "geologicAge": { + "ageTimeScale": "ageTimeScale", + "ageEstimate": "ageEstimate", + "ageUncertainty": "ageUncertainty", + "ageExplanation": "ageExplanation", + "ageReference": [{ + "title": "citation title" + }] + } + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startGeologicAge": { + "ageTimeScale": "International Chronostratigraphic Chart", + "ageEstimate": "13.82" + } + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-30, 25], + [-20, 25], + [-20, 20], + [-30, 20], + [-30, 25] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "FeatureCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "features": [{ + "type": "Feature", + "id": "ALCC-BH55", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Point", + "coordinates": [102.0, 0.5] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "featureName": [ + "fake name" + ] + } + }, + { + "type": "Feature", + "id": "ALCC-BH56", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "LineString", + "coordinates": [ + [102.0, 0.0], + [103.0, 1.0], + [104.0, 0.0], + [105.0, 1.0] + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + }, + { + "type": "Feature", + "id": "ALCC-Co81", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + }] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [{ + "title": "Lineage Title 1", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + { + "title": "Lineage Title 2", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + ], + "source": [{ + "sourceId": "SRC001", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title SRC001", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "metadataCitation": [{ + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [{ + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:15" + } + }, + { + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:16" + } + } + ], + "scope": { + "scopeCode": "scopeCode SRC001", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-01" + } + }] + }] + } + }, + { + "sourceId": "SRC002", + "description": "description", + "sourceCitation": { + "title": "Source Citation Title SRC002", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "scope": { + "scopeCode": "scopeCode SRC002", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-02" + } + }] + }] + } + } + ], + "processStep": [{ + "stepId": "stepId", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "id": "TimePeriod001", + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [{ + "role": "processor", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "reviewer", + "party": [{ + "contactId": "CID004" + }] + } + ], + "reference": [{ + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "endDateTime": "2017-12-28T15:28" + } + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID002" + }] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": [ + "mediumFormat0", + "mediumFormat1" + ], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp", + "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "transferSize": 10.9, + "onlineOption": [{ + "uri": "http://ISO.uri/adiwg/3" + }], + "distributionFormat": [{ + "formatSpecification": { + "title": "Microsoft Excel" + } + }] + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID003" + }] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [{ + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [{ + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [{ + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [{ + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [{ + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [{ + "title": "A Much Mo Betha Additional Document" + }] + } + ], + "funding": [ + { + "allocation": [{ + "sourceAllocationId": "A123FW009", + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "matching": true, + "onlineResource": [{ + "uri": "http://adiwg.org" + }], + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [{ + "amount": 9999.99, + "currency": "EUR" + }], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "citation": { + "title": "title" + }, + "subject": [ + "subject0", + "subject1" + ], + "recommendedUse": [ + "use0", + "use1" + ], + "locale": [{ + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID001" + }] + }, + "dictionaryFunctionalLanguage": "UML", + "dictionaryIncludedWithResource": true, + "domain": [{ + "domainId": "DID001", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name1", + "value": "value1", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name2", + "value": "value2", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "DID002", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }] + } + ], + "entity": [{ + "entityId": "entityId0", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 0" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [{ + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": [ + "attributeCodeName1" + ] + } + ], + "attribute": [{ + "commonName": "Department ID", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation Department ID" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for Employee ID" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [{ + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": [ + "employeeID" + ], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": [ + "employeeID" + ] + } + ] + }, + { + "entityId": "entityId1", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 1" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute" + ], + "attribute": [{ + "commonName": "Supervisor", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation for supervisor" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Grade", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for grade" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [{ + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID006" + }] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "USGS ScienceBase", + "metadataStandard": "FGDC" + }, + { + "repository": "data.gov", + "metadataStandard": "iso19115_2" + } + ] + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/contactPoint.json b/test/writers/dcat_us/testData/contactPoint.json new file mode 100644 index 000000000..e3aa1af80 --- /dev/null +++ b/test/writers/dcat_us/testData/contactPoint.json @@ -0,0 +1,1108 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/description.json b/test/writers/dcat_us/testData/description.json new file mode 100644 index 000000000..bc2d3640f --- /dev/null +++ b/test/writers/dcat_us/testData/description.json @@ -0,0 +1,141 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Person 001" + }, + { + "contactId": "CID002", + "isOrganization": false, + "name": "Person 002" + }, + { + "contactId": "CID003", + "isOrganization": false, + "name": "Person 003" + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Person 004" + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "Organization 001" + } + ], + "metadata": { + "metadataInfo": { + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "type", + "name": "name" + } + ], + "citation": { + "title": "myCitationTitle", + "responsibleParty": [ + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID002" + } + ] + }, + { + "role": "funder", + "party": [ + { + "contactId": "CID005", + "organizationMembers": [ + "CID003", + "CID004", + "CID001" + ] + } + ] + }, + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "date": [ + { + "date": "2020", + "dateType": "expiry" + }, + { + "date": "2017-05", + "dateType": "creation" + }, + { + "date": "2017-05-16", + "dateType": "publication" + }, + { + "date": "2017-05-16T16:10:00-09:00", + "dateType": "revision" + } + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ] + }, + "abstract": "myBody", + "status": [ + "status" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } +} diff --git a/test/writers/dcat_us/testData/identifier.json b/test/writers/dcat_us/testData/identifier.json new file mode 100644 index 000000000..fff11049b --- /dev/null +++ b/test/writers/dcat_us/testData/identifier.json @@ -0,0 +1,93 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Person 001" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog", + "description": "metadata identifier" + }, + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "type", + "name": "name" + } + ], + "citation": { + "title": "myCitationTitle", + "identifier": [ + { + "identifier": "myDoiIdentifier0", + "namespace": "DOI", + "description": "myDescription0" + }, + { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog" + }, + { + "identifier": "myIdentifier1", + "namespace": "mySchema1", + "description": "myDescription1" + }, + { + "identifier": "myIdentifier1", + "namespace": "mySchema1", + "description": "myDescription1" + }, + { + "identifier": "myIdentifier0", + "namespace": "mySchema0", + "description": "myDescription1" + } + ], + "onlineResource": [ + { + "uri": "http://myOnlineResource-namespace.com" + } + ] + }, + "abstract": "myBody", + "status": [ + "status" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } +} diff --git a/test/writers/dcat_us/testData/identifier2.json b/test/writers/dcat_us/testData/identifier2.json new file mode 100644 index 000000000..72df8d0ee --- /dev/null +++ b/test/writers/dcat_us/testData/identifier2.json @@ -0,0 +1,93 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Person 001" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog", + "description": "metadata identifier" + }, + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "type", + "name": "name" + } + ], + "citation": { + "title": "myCitationTitle", + "identifier": [ + { + "identifier": "myDoiIdentifier0", + "namespace": "ISBN", + "description": "myDescription0" + }, + { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog" + }, + { + "identifier": "myIdentifier1", + "namespace": "mySchema1", + "description": "myDescription1" + }, + { + "identifier": "myIdentifier1", + "namespace": "mySchema1", + "description": "myDescription1" + }, + { + "identifier": "myIdentifier0", + "namespace": "mySchema0", + "description": "myDescription1" + } + ], + "onlineResource": [ + { + "uri": "http://myOnlineResource-doi.com" + } + ] + }, + "abstract": "myBody", + "status": [ + "status" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } +} diff --git a/test/writers/dcat_us/testData/keyword.json b/test/writers/dcat_us/testData/keyword.json new file mode 100644 index 000000000..02c7d53d2 --- /dev/null +++ b/test/writers/dcat_us/testData/keyword.json @@ -0,0 +1,254 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Person 001" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog", + "description": "metadata identifier" + }, + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "party": [ + { + "contactId": "CID001" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID001" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "place", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "taxon", + "thesaurus": { + "title": "ITIS - Integrated Taxonomic Information System" + } + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ], + "keywordType": "theme", + "thesaurus": { + "title": "Exploring Cookies" + } + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory", + "thesaurus": { + "title": "ISO Topic Categories" + } + }, + { + "keyword": [ + { + "keyword": "carbon dating" + }, + { + "keyword": "ionization" + } + ], + "keywordType": "method", + "thesaurus": { + "title": "Lineage Methodology keyword set" + } + } + ] + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/modified.json b/test/writers/dcat_us/testData/modified.json new file mode 100644 index 000000000..11b748905 --- /dev/null +++ b/test/writers/dcat_us/testData/modified.json @@ -0,0 +1,368 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/modified2.json b/test/writers/dcat_us/testData/modified2.json new file mode 100644 index 000000000..9109ad356 --- /dev/null +++ b/test/writers/dcat_us/testData/modified2.json @@ -0,0 +1,376 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2019-06-22T16:15:14", + "dateType": "revision" + }, + { + "date": "2022-06-22T16:15:14", + "dateType": "revision" + }, + { + "date": "2018-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/publisher.json b/test/writers/dcat_us/testData/publisher.json new file mode 100644 index 000000000..e6f204a70 --- /dev/null +++ b/test/writers/dcat_us/testData/publisher.json @@ -0,0 +1,177 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal" + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual" + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog", + "description": "metadata identifier" + }, + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "person", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "publisher", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/publisher2.json b/test/writers/dcat_us/testData/publisher2.json new file mode 100644 index 000000000..287f6bb3d --- /dev/null +++ b/test/writers/dcat_us/testData/publisher2.json @@ -0,0 +1,413 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": ["CID002", "CID003"], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [ + { + "type": "use", + "useLimitation": ["useLimitation0", "useLimitation1"] + }, + { + "type": "legal", + "legal": { + "useConstraint": ["useConstraint0", "useConstraint1"], + "accessConstraint": ["accessConstraint0", "accessConstraint1"], + "otherConstraint": ["otherConstraint0", "otherConstraint1"] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": ["voice", "sms", "message"] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": ["voice", "message"] + } + ], + "address": [ + { + "addressType": ["mailing", "physical"], + "description": "work location", + "deliveryPoint": ["address line 1", "address line 2"], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": ["mailing"], + "description": "telework location", + "deliveryPoint": ["address line 3"], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": ["e.mail@address.com1", "e.mail@address.com2"], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": ["hoursOfService1", "hoursOfService2"], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": ["CID005"], + "logoGraphic": [ + { + "fileName": "fileName" + } + ], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": ["voice"] + } + ], + "address": [ + { + "addressType": ["addressType"], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + } + ], + "electronicMailAddress": ["e.mail@address.com2"], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": ["hoursOfService"], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": ["voice"] + } + ], + "address": [ + { + "addressType": ["addressType"], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + } + ] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": ["CID003"], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": ["voice"] + } + ], + "address": [ + { + "addressType": ["addressType"], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + } + ] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": ["CID002"], + "contactType": "individual", + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": ["voice"] + } + ], + "address": [ + { + "addressType": ["addressType"], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + } + ] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "myMetadataIdentifierID", + "namespace": "gov.sciencebase.catalog", + "description": "metadata identifier" + }, + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "person", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": true, + "geographicElement": [ + { + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": ["Agashashok River", "Camp Mosquito"], + "identifier": [ + { + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": ["string 1", "string 2"] + } + } + ] + } + ] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funding", + "party": [ + { + "contactId": "CID003", + "organizationMembers": ["CID004", "CID001"] + } + ] + }, + { + "role": "originator", + "party": [ + { + "contactId": "CID004" + } + ] + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "status": ["incomplete", "suspended"], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [ + { + "contactId": "CID004" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + }, + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID002" + } + ] + } + }, + { + "contact": { + "role": "distributor", + "party": [ + { + "contactId": "CID003" + } + ] + } + } + ] + } + ] + } +} diff --git a/test/writers/dcat_us/testData/title.json b/test/writers/dcat_us/testData/title.json new file mode 100644 index 000000000..2336d0f1f --- /dev/null +++ b/test/writers/dcat_us/testData/title.json @@ -0,0 +1,61 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.0.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "name" + } + ], + "metadata": { + "metadataInfo": { + "metadataContact": [ + { + "role": "metadataContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ] + }, + "resourceInfo": { + "resourceType": [ + { + "type": "type", + "name": "name" + } + ], + "citation": { + "title": "myCitationTitle", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + }, + "abstract": "abstract", + "status": [ + "status" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [ + { + "contactId": "CID001" + } + ] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + } + } + } +} From f28bd21ad9f7fe01b5359959022935cc3026ee14 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 21:19:15 -0600 Subject: [PATCH 02/16] Add DCAT-US.md --- DCAT-US.md | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 DCAT-US.md diff --git a/DCAT-US.md b/DCAT-US.md new file mode 100644 index 000000000..f07e8416d --- /dev/null +++ b/DCAT-US.md @@ -0,0 +1,67 @@ +# DCAT-US - mdTranslator proposed mappings +## Quick references + - DCAT-US [element definitions](https://resources.data.gov/resources/dcat-us/) + - DCAT-US v1.1 [catalog.json schema](https://resources.data.gov/schemas/dcat-us/v1.1/schema/catalog.json) + - DCAT-US v1.1 [dataset.json schema](https://resources.data.gov/schemas/dcat-us/v1.1/schema/dataset.json) + - DCAT-US v1.1 [JSON-LD catalog.json schema](https://resources.data.gov/schemas/dcat-us/v1.1/schema/catalog.jsonld) + - [Element crosswalks](https://resources.data.gov/resources/podm-field-mapping/#field-mappings) to other standards + +## DCAT-US - mdTranslator + +### Always (always required) + +| Field Name | DCAT Name | Condition | mdJson Source | +| --- | --- | --- | --- | +| Title | dcat:title | exists | citation.title | +| Description | dcat:description | exists | citation.abstract | +| Tags | dcat:keyword | exists | [resourceInfo.keyword.keyword[0, n] *flatten*] | +| Last Update | dcat:modified | if resourceInfo.citation.date[any].dateType = "lastUpdated" or "lastRevised" or "revision" | resourceInfo.citation.date[most recent] | +| Publisher | dcat:publisher{name} | if citation.responsibleParty.[any].role = "publisher" | contactId -> contact.name where isOrganization IS TRUE | +| | | if exists resourceDistribution.distributor.contact | [first contact] contactId -> contact.name where isOrganization IS TRUE | +| Publisher Parent Organization | dcat:publisher{subOrganizationOf} | if citation.responsibleParty[any].role = "publisher" and exists contactId -> memberOfOrganization[0] and isOrganization is true | contactId -> contact.name | +| | | if exists resourceDistribution.distributor.contact and exists contactId -> memberOfOrganization[0] and isOrganization IS TRUE | contactId -> contact.name | +| Contact Name | dcat:contactPoint{fn} | exists | resourceInfo.pointOfContact.parties[0].contactId -> contact.name | +| Contact Email | dcat:contactPoint{email} | exists | resourceInfo.pointOfContact.parties[0].contactId -> contact.eMailList[0] | +| Unique Identifier | dcat:identifier | if resourceInfo.citation.identifier.namespace = "DOI" | resourceInfo.citation.onlineResource.uri | +| | | if "DOI" within resourceInfo.citation.onlineResource.uri | resourceInfo.citation.onlineResource.uri | +| Public Access Level | dcat:accessLevel | [*extend codelist MD_RestrictionCode to include "public", "restricted public", "non-public"*]
if resourceInfo.constraints.legal[any] one of {"public", "restricted public", "non-public"} | resourceInfo.constraints.legal[first]. Also resourceInfo.constraint.security.classification [[MD_ClassificationCode](https://mdtools.adiwg.org/#codes-page?c=iso_classification)] | +| Bureau Code | dcat:bureauCode | | [*extend role codelist to include "bureau", extend namespace codelist to include "bureauCode"*]
for each resourceInfo.citation.responsibleParty[any] role = "bureau"
contactId -> contact.identifier [*identifier must conform to https://resources.data.gov/schemas/dcat-us/v1.1/omb_bureau_codes.csv*] | +| Program Code | dcat:programCode | | [*add new element of program resourceInfo.programCode, add new codelist of programCode*]
resourceInfo.program[0,n] | + +### If-Applicable (required if it exists) + +| Field Name | DCAT Name | Condition | mdJson Source | +| --- | --- | --- | --- | +| Distribution | dcat:distribution | if exists resourceDistribution[any] and if exists resourceDistribution.distributor[any].transferOption[any].onlineOption[any].uri
for each resourceDistribution[0, n] where exists resourceDistribution.distributor.transferOption.onlineOption.uri then
{description, accessURL, downloadURL, mediaType, title} | +| - Description | dcat:distribution.description | exists | resourceDistribution.description | +| - AccessURL | dcat:distribution.accessURL | if citation.onlineResources[first occurence].uri [path ends in ".html"] [*required if applicable*] | resourceDistribution.distributor.transferOption.onlineOption.uri | +| - DownloadURL | dcat.distribution.downloadURL | if citation.onlineResources[first occurence].uri [path does not end in ".html"] [*required if applicable*] |resourceDistribution.distributor.transferOption.onlineOption.uri | +| - MediaType | dcat:distribution.mediaType | [*add codelist of "dataFormat"*]
transferOption.distributionFormat.formatSpecification.title [dataFormat] [*dataFormat should conform to: https://www.iana.org/assignments/media-types/media-types.xhtml*] | +| - Title | dcat:distribution.title | exists | resourceDistribution.distributor.transferOption.onlineOption.name | +| License | dcat:license | [*add resourceInfo.constraint.reference to mdEditor*]
if exists resourceInfo.constraint.reference[0] | resourceInfo.constraint.reference[0]
| +| | | else | https://creativecommons.org/publicdomain/zero/1.0/
[*allows author to identify a license to use, or default to CC0 if none provided, CC0 would cover international usage as opposed to publicdomain*]
[*others: http://www.usa.gov/publicdomain/label/1.0/, http://opendatacommons.org/licenses/pddl/1.0*] | +| Rights | dcat:rights | if constraint.accessLevel in {"restricted public", "non-public"} | resourceInfo.constraint.releasibility.statement + " " + each constraint.releasibility.dessiminationConstraint[0, n] | +| Endpoint | *removed* | *ignored* | *ignored* | +| Spatial | dcat:spatial | if exists resourceInfo.extents[0].geographicExtents[0].boundingBox | boundingBox.eastLongitude + "," + boundingBox.southLatitude + "," + boundingBox.westLongitude + "," + boundingBox.northLatitude [*decimal degrees*] | +| | | else | if exists resourceInfo.extents[0].geographicExtents[0].geographicElement[0].type = "point" then
geographicElement[0].coordinate[1] + "," + geographicElement[0].coordinate[0] [*lat, long decimal degrees*] | +| Temporal | dcat:temporal | if exists resourceInfo.extent[0].temporalExtent[0] then
if exists tempororalExtent[0].timePeriod.startDate and exists temporaralExtent[0].timePeriod.endDate | timePeriod[0].startDate + "/" + timePeriod.endDate | +| | | if exists tempororalExtent[0].timePeriod.startDate and not exists temporaralExtent[0].timePeriod.endDate | tempororalExtent[0].timePeriod.startDate | +| | | if not exists temporalExtent[0].timePeriod.startDate and exists temporaralExtent[0].timePeriod.endDate | tempororalExtent[0].timePeriod.endDate
[*may need revisiting relative to decision on date only formatting*] | + +### No (not required) + +| Field Name | DCAT Name | Condition | mdJson Source | +| --- | --- | --- | --- | +| Release Date | dcat:issued | if resourceInfo.citation.date[any].dateType = "publication" or "distributed" | resourceInfo.citation.date[earliest] | +| Frequency | dcat:accrualPeriodicity | | [*ISO codelist MD_maintenanceFrequency can be used and several codes intersect with accrualPeriod codelist they are partially corresponding. A column of ISO8601 code equivalents could be added to MD_maintenanceFrequency to provide the coding expected https://resources.data.gov/schemas/dcat-us/v1.1/iso8601_guidance/#accrualperiodicity, community valuation should be determined*] | +| Language | dcat:language | | [*language codelist could be used but needs to be bound with country corresponding to the RFC 5646 format https://datatracker.ietf.org/doc/html/rfc5646, such as "en-US", community valuation should be determined* | +| Data Quality | dcat:dataQuality | | [*this is a boolean to indicate whether data "conforms" to agency standards, value seems negligble*] | +| Category | dcat:theme | where resourceInfo.keyword[any].thesaurus.title = "ISO Topic Category" | [resourceInfo.keyword.keyword[0, n] *flatten*] | +| Related Documents | dcat:references | | associatedResource[all].resourceCitation.onlineResource[all].uri + additionalDocumentation[all].citation[all].onlineResource[all].uri [*comma separated*]| +| Homepage URL | dcat:landingPage | [*Add code "landingPage" to CI_OnlineFunctionCode*]
if resourceInfo.citation.onlineResource[any].function = "landingPage" | resourceInfo.citation.onlineResource.uri | +| Collection | dcat:isPartOf | for each associatedResource[0, n].initiativeType = "collection" and associatedResource.associationType = "collectiveTitle" | associatedResource.resourceCitation[0].uri | +| System of Records | dcat:systemOfRecords | [*Add code "sorn" to DS_InitiativeTypeCode*]
for each associatedResource[0, n].initiativeType = "sorn" | associatedResource.resourceCitation[0].uri | +| Primary IT Investment | dcat:primaryITInvestmentUII | | [*Links data to an IT investment identifier relative to Exhibit 53 docs, community valuation should be determined*] | +| Data Dictionary | dcat:describedBy | if dataDictionary.dictionaryIncludedWithResource IS NOT TRUE and citation[0].onlineResource[0].uri exists | dataDictionary.citation[0].onlineResource[0].uri | +| Data Dictionary Type | dcat:describedByType | | [*For simplicity, leave blank implying html page, community decision needed whether to support other format types using mime type and in the form of "application/pdf"*]| +| Data Standard | dcat:conformsTo | | [*Currently not able to identify the schema standard the data conforms to, though this has been proposed. Should this be built and there is community decision to support it, then it can be mapped*] | From 973a612d57d4d2c7abbffd42fa09f5bfd66147af Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 21:57:53 -0600 Subject: [PATCH 03/16] Remove Whitespace --- .../mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb index 4aa0d50df..802308931 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb @@ -66,10 +66,7 @@ def self.build_json(name, org_name) end end end - - - end end end From 4663352a7216fb0c0427128eeee954bdb3880b65 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 21:59:05 -0600 Subject: [PATCH 04/16] New Access Level Unit Test Fix accessLevel writer. --- .../dcat_us/sections/dcat_us_access_level.rb | 5 +- .../dcat_us/tc_dcat_us_access_level.rb | 24 + .../writers/dcat_us/testData/accessLevel.json | 1216 +++++++++++++++++ 3 files changed, 1243 insertions(+), 2 deletions(-) create mode 100644 test/writers/dcat_us/tc_dcat_us_access_level.rb create mode 100644 test/writers/dcat_us/testData/accessLevel.json diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb index 9dc52b0b0..a05770230 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb @@ -16,8 +16,9 @@ def self.build(intObj) legalConstraints = resourceInfo[:constraints]&.select { |constraint| constraint[:type] == 'legal' } accessLevel = legalConstraints&.detect do |constraint| - constraint.dig(:legalConstraint, :accessCodes)&.any? { |code| ["public", "restricted public", "non-public"].include?(code) } - end + codes = constraint.dig(:legalConstraint, :accessCodes) + codes&.any? { |code| ["public", "restricted public", "non-public"].include?(code) } + end&.dig(:legalConstraint, :accessCodes)&.find { |code| ["public", "restricted public", "non-public"].include?(code) } accessLevel ? accessLevel : nil end diff --git a/test/writers/dcat_us/tc_dcat_us_access_level.rb b/test/writers/dcat_us/tc_dcat_us_access_level.rb new file mode 100644 index 000000000..bb64cb2e6 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_access_level.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsAccessLevel < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('accessLevel.json') + + def test_sample + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:accessLevel'] + + expect = 'non-public' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/accessLevel.json b/test/writers/dcat_us/testData/accessLevel.json new file mode 100644 index 000000000..cc2b7fd94 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel.json @@ -0,0 +1,1216 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "non-public", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + } + } + \ No newline at end of file From 4ea3ffabc171780be6947118980c2088514759f7 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 22:14:26 -0600 Subject: [PATCH 05/16] Add Unit Tests Access Level New tests for public and restricted public. --- .../dcat_us/tc_dcat_us_access_level.rb | 34 +- ...cessLevel.json => accessLevel_nonPub.json} | 0 .../dcat_us/testData/accessLevel_pub.json | 1216 +++++++++++++++++ .../dcat_us/testData/accessLevel_resPub.json | 1216 +++++++++++++++++ 4 files changed, 2463 insertions(+), 3 deletions(-) rename test/writers/dcat_us/testData/{accessLevel.json => accessLevel_nonPub.json} (100%) create mode 100644 test/writers/dcat_us/testData/accessLevel_pub.json create mode 100644 test/writers/dcat_us/testData/accessLevel_resPub.json diff --git a/test/writers/dcat_us/tc_dcat_us_access_level.rb b/test/writers/dcat_us/tc_dcat_us_access_level.rb index bb64cb2e6..39092f42b 100644 --- a/test/writers/dcat_us/tc_dcat_us_access_level.rb +++ b/test/writers/dcat_us/tc_dcat_us_access_level.rb @@ -6,11 +6,39 @@ class TestWriterDcatUsAccessLevel < TestWriterDcatUsParent # get input JSON for test - @@jsonIn = TestWriterDcatUsParent.getJson('accessLevel.json') + @@jsonInPub = TestWriterDcatUsParent.getJson('accessLevel_pub.json') + @@jsonInResPub = TestWriterDcatUsParent.getJson('accessLevel_resPub.json') + @@jsonInNonPub = TestWriterDcatUsParent.getJson('accessLevel_nonPub.json') - def test_sample + def test_accessLevel_public metadata = ADIWG::Mdtranslator.translate( - file: @@jsonIn, reader: 'mdJson', validate: 'normal', + file: @@jsonInPub, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:accessLevel'] + + expect = 'public' + + assert_equal expect, got + end + + def test_accessLevel_restricted_public + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInResPub, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:accessLevel'] + + expect = 'restricted public' + + assert_equal expect, got + end + + def test_accessLevel_non_public + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInNonPub, reader: 'mdJson', validate: 'normal', writer: 'dcat_us', showAllTags: false) hJsonOut = JSON.parse(metadata[:writerOutput]) diff --git a/test/writers/dcat_us/testData/accessLevel.json b/test/writers/dcat_us/testData/accessLevel_nonPub.json similarity index 100% rename from test/writers/dcat_us/testData/accessLevel.json rename to test/writers/dcat_us/testData/accessLevel_nonPub.json diff --git a/test/writers/dcat_us/testData/accessLevel_pub.json b/test/writers/dcat_us/testData/accessLevel_pub.json new file mode 100644 index 000000000..edd676968 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_pub.json @@ -0,0 +1,1216 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "public", + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/accessLevel_resPub.json b/test/writers/dcat_us/testData/accessLevel_resPub.json new file mode 100644 index 000000000..d143f3c02 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_resPub.json @@ -0,0 +1,1216 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence", + "restricted public" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + } + } + \ No newline at end of file From 12052afd8472c56ee68abe2adc982af03336e111 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 22:20:32 -0600 Subject: [PATCH 06/16] New Unit Test For License --- test/writers/dcat_us/tc_dcat_us_license.rb | 24 + test/writers/dcat_us/testData/license.json | 1217 ++++++++++++++++++++ 2 files changed, 1241 insertions(+) create mode 100644 test/writers/dcat_us/tc_dcat_us_license.rb create mode 100644 test/writers/dcat_us/testData/license.json diff --git a/test/writers/dcat_us/tc_dcat_us_license.rb b/test/writers/dcat_us/tc_dcat_us_license.rb new file mode 100644 index 000000000..837acc372 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_license.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsLicense < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('license.json') + + def test_license + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:license'] + + expect = 'title0' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/license.json b/test/writers/dcat_us/testData/license.json new file mode 100644 index 000000000..8d062caea --- /dev/null +++ b/test/writers/dcat_us/testData/license.json @@ -0,0 +1,1217 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [ + { + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [ + { + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + } + } + \ No newline at end of file From 9aba28bb89eeca9c5462ce9e9ca94fdd5ef9bd6f Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Wed, 6 Sep 2023 22:26:18 -0600 Subject: [PATCH 07/16] New Unit Test Spatial --- test/writers/dcat_us/tc_dcat_us_spatial.rb | 24 + test/writers/dcat_us/testData/spatial.json | 3044 ++++++++++++++++++++ 2 files changed, 3068 insertions(+) create mode 100644 test/writers/dcat_us/tc_dcat_us_spatial.rb create mode 100644 test/writers/dcat_us/testData/spatial.json diff --git a/test/writers/dcat_us/tc_dcat_us_spatial.rb b/test/writers/dcat_us/tc_dcat_us_spatial.rb new file mode 100644 index 000000000..84870bced --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_spatial.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsSpatial < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('spatial.json') + + def test_spatial + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:spatial'] + + expect = '-120.0,49.0,-140.0,70.0' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/spatial.json b/test/writers/dcat_us/testData/spatial.json new file mode 100644 index 000000000..6c5a55402 --- /dev/null +++ b/test/writers/dcat_us/testData/spatial.json @@ -0,0 +1,3044 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "description": "ground condition", + "startDateTime": "2016-06-01", + "endDateTime": "2016-08-15" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + } + }, + { + "referenceSystemType": "referenceSystemType1" + }, + { + "referenceSystemIdentifier": { + "identifier": "identifier2" + } + }, + { + "referenceSystemType": "projected", + "referenceSystemIdentifier": { + "identifier": "Zone 10", + "namespace": "UTM", + "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" + } + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemIdentifier": { + "identifier": "4326", + "namespace": "urn:ogc:def:crs:EPSG", + "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", + "authority": { + "title": "European Petroleum Survey Group" + } + } + }, + { + "referenceSystemType": "projected", + "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemParameterSet": { + "geodetic": { + "datumIdentifier": { + "identifier": "identifier" + }, + "ellipsoidIdentifier": { + "identifier": "identifier" + }, + "semiMajorAxis": 9.9, + "axisUnits": "axisUnits", + "denominatorOfFlatteningRatio": 9.9 + } + } + } + ], + "spatialRepresentationType": [ + "vector", + "stereoModel" + ], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [{ + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ] + ], + "centerPoint": [ + 0.5, + 0.5 + ], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [{ + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 99999 + }, { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "levelOfDetail": "levelOfDetail" + }, { + "geographicResolution": { + "latitudeResolution": 9.9, + "longitudeResolution": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "bearingDistanceResolution": { + "distanceResolution": 9.9, + "distanceUnitOfMeasure": "distanceUnitOfMeasure", + "bearingResolution": 9.9, + "bearingUnitOfMeasure": "bearingUnitOfMeasure", + "bearingReferenceDirection": "north", + "bearingReferenceMeridian": "assumed" + } + }, { + "coordinateResolution": { + "abscissaResolutionX": 9.9, + "ordinateResolutionY": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "place", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "taxon", + "thesaurus": { + "title": "ITIS - Integrated Taxonomic Information System" + } + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ], + "keywordType": "theme", + "thesaurus": { + "title": "Exploring Cookies" + } + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory", + "thesaurus": { + "title": "ISO Topic Categories" + } + }, + { + "keyword": [ + { + "keyword": "carbon dating" + }, + { + "keyword": "ionization" + } + ], + "keywordType": "method", + "thesaurus": { + "title": "Lineage Methodology keyword set" + } + } + ], + "taxonomy": [ + { + "taxonomicSystem": [{ + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": [ + "Citation for ITIS" + ], + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [{ + "title": "citation", + "identifier": [{ + "identifier": "identifier0", + "namespace": "namespace0", + "version": "version0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title0", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + }, + { + "title": "citation1", + "identifier": [{ + "identifier": "identifier1", + "namespace": "namespace1", + "version": "version1", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title1", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + } + ], + "observer": [{ + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [{ + "contactId": "CID001" + }] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [{ + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + } + ], + "taxonomicClassification": [{ + "taxonomicLevel": "taxonomicLevel0", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicLevel": "taxonomicLevel00", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel000", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId0000.1", + "taxonomicLevel": "taxonomicLevel0000.1", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }, + { + "taxonomicSystemId": "taxonomicSystemId0000.2", + "taxonomicLevel": "taxonomicLevel0000.2", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + }] + }, + { + "taxonomicLevel": "taxonomicLevel01", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel010", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }] + } + ] + }, + { + "taxonomicLevel": "taxonomicLevel0201", + "taxonomicName": "taxonomicName" + } + ] + }], + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/1" + }] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [{ + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [{ + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [{ + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [{ + "identifier": "identifier" + }], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": [ + "modelResult" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [{ + "attributeContentType": [ + "attributeContentType" + ] + }, + { + "attributeContentType": [ + "attributeContentType" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [{ + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": [ + "note0", + "note1" + ], + "contact": [{ + "role": "custodian", + "party": [{ + "contactId": "CID005" + }] + }] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "geographic extent description", + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-10.0, 50.0], + [90.0, 50.0], + [90.0, 25.0], + [-10.0, 25.0], + [-10.0, 50.0] + ] + ] + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [140, 65], + [-170, 65], + [-170, 55], + [140, 55], + [140, 65] + ] + ] + }] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-162, 65], + [-161, 65], + [-161, 60], + [-162, 60], + [-162, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [100, 55], + [102, 55], + [102, 50], + [100, 50], + [100, 55] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timeInstant": { + "id": "id", + "description": "description", + "identifier": { + "identifier": "identifier", + "namespace": "namespace" + }, + "instantName": [ + "instantName0", + "instantName1" + ], + "geologicAge": { + "ageTimeScale": "ageTimeScale", + "ageEstimate": "ageEstimate", + "ageUncertainty": "ageUncertainty", + "ageExplanation": "ageExplanation", + "ageReference": [{ + "title": "citation title" + }] + } + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startGeologicAge": { + "ageTimeScale": "International Chronostratigraphic Chart", + "ageEstimate": "13.82" + } + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-30, 25], + [-20, 25], + [-20, 20], + [-30, 20], + [-30, 25] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "FeatureCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "features": [{ + "type": "Feature", + "id": "ALCC-BH55", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Point", + "coordinates": [102.0, 0.5] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "featureName": [ + "fake name" + ] + } + }, + { + "type": "Feature", + "id": "ALCC-BH56", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "LineString", + "coordinates": [ + [102.0, 0.0], + [103.0, 1.0], + [104.0, 0.0], + [105.0, 1.0] + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + }, + { + "type": "Feature", + "id": "ALCC-Co81", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + }] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [{ + "title": "Lineage Title 1", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + { + "title": "Lineage Title 2", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + ], + "source": [{ + "sourceId": "SRC001", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title SRC001", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "metadataCitation": [{ + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [{ + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:15" + } + }, + { + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:16" + } + } + ], + "scope": { + "scopeCode": "scopeCode SRC001", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-01" + } + }] + }] + } + }, + { + "sourceId": "SRC002", + "description": "description", + "sourceCitation": { + "title": "Source Citation Title SRC002", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "scope": { + "scopeCode": "scopeCode SRC002", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-02" + } + }] + }] + } + } + ], + "processStep": [{ + "stepId": "stepId", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "id": "TimePeriod001", + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [{ + "role": "processor", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "reviewer", + "party": [{ + "contactId": "CID004" + }] + } + ], + "reference": [{ + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "endDateTime": "2017-12-28T15:28" + } + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID002" + }] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": [ + "mediumFormat0", + "mediumFormat1" + ], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp", + "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "transferSize": 10.9, + "onlineOption": [{ + "uri": "http://ISO.uri/adiwg/3" + }], + "distributionFormat": [{ + "formatSpecification": { + "title": "Microsoft Excel" + } + }] + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID003" + }] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [{ + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [{ + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [{ + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [{ + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [{ + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [{ + "title": "A Much Mo Betha Additional Document" + }] + } + ], + "funding": [ + { + "allocation": [{ + "sourceAllocationId": "A123FW009", + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "matching": true, + "onlineResource": [{ + "uri": "http://adiwg.org" + }], + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [{ + "amount": 9999.99, + "currency": "EUR" + }], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "citation": { + "title": "title" + }, + "subject": [ + "subject0", + "subject1" + ], + "recommendedUse": [ + "use0", + "use1" + ], + "locale": [{ + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID001" + }] + }, + "dictionaryFunctionalLanguage": "UML", + "dictionaryIncludedWithResource": true, + "domain": [{ + "domainId": "DID001", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name1", + "value": "value1", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name2", + "value": "value2", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "DID002", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }] + } + ], + "entity": [{ + "entityId": "entityId0", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 0" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [{ + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": [ + "attributeCodeName1" + ] + } + ], + "attribute": [{ + "commonName": "Department ID", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation Department ID" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for Employee ID" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [{ + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": [ + "employeeID" + ], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": [ + "employeeID" + ] + } + ] + }, + { + "entityId": "entityId1", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 1" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute" + ], + "attribute": [{ + "commonName": "Supervisor", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation for supervisor" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Grade", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for grade" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [{ + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID006" + }] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "USGS ScienceBase", + "metadataStandard": "FGDC" + }, + { + "repository": "data.gov", + "metadataStandard": "iso19115_2" + } + ] + } + \ No newline at end of file From 71475e882dc0d03275c7bf1bcf759bc1995c3c35 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 08:36:04 -0600 Subject: [PATCH 08/16] Remove Comment Headers --- lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb | 5 ----- .../writers/dcat_us/sections/dcat_us_access_level.rb | 5 ----- .../writers/dcat_us/sections/dcat_us_contact_point.rb | 5 ----- .../mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb | 5 ----- .../writers/dcat_us/sections/dcat_us_distribution.rb | 5 ----- .../writers/dcat_us/sections/dcat_us_identifier.rb | 5 ----- .../mdtranslator/writers/dcat_us/sections/dcat_us_license.rb | 5 ----- .../mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb | 5 ----- .../mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb | 5 ----- .../writers/dcat_us/sections/dcat_us_temporal.rb | 5 ----- 10 files changed, 50 deletions(-) diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb b/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb index 70233696f..ae96bad09 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - require 'jbuilder' require_relative 'version' require_relative 'sections/dcat_us_dcat_us' diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb index a05770230..62e44f98d 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - require 'jbuilder' module ADIWG diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb index 12964f3fc..cdd091432 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - require 'jbuilder' module ADIWG diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb index 2b8b8100c..dc6b10704 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - require 'jbuilder' require_relative 'dcat_us_keyword' require_relative 'dcat_us_publisher' diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb index 2736a5ebc..ac8eca89d 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - require 'jbuilder' module ADIWG diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb index 0ccb798ca..f324801c2 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - module ADIWG module Mdtranslator module Writers diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb index 223e5ea09..79237e769 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-08-26 original script - module ADIWG module Mdtranslator module Writers diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb index 7632c35d2..b41cb557f 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-08-26 original script - module ADIWG module Mdtranslator module Writers diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb index 748a3d941..34178fe86 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - module ADIWG module Mdtranslator module Writers diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb index 66625b3eb..a34060782 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb @@ -1,8 +1,3 @@ -# dcat_us 1.0 writer - -# History: -# Johnathan Aspinwall 2023-06-22 original script - module ADIWG module Mdtranslator module Writers From 15c72d939f90a06b83e447a504fba2cbf1f146ec Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 08:42:15 -0600 Subject: [PATCH 09/16] New Temporal Unit Test --- test/writers/dcat_us/tc_dcat_us_temporal.rb | 24 + test/writers/dcat_us/testData/temporal.json | 3044 +++++++++++++++++++ 2 files changed, 3068 insertions(+) create mode 100644 test/writers/dcat_us/tc_dcat_us_temporal.rb create mode 100644 test/writers/dcat_us/testData/temporal.json diff --git a/test/writers/dcat_us/tc_dcat_us_temporal.rb b/test/writers/dcat_us/tc_dcat_us_temporal.rb new file mode 100644 index 000000000..822160a35 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_temporal.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsTemporal < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('temporal.json') + + def test_Temporal + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:temporal'] + + expect = 'Temporal' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/temporal.json b/test/writers/dcat_us/testData/temporal.json new file mode 100644 index 000000000..6c5a55402 --- /dev/null +++ b/test/writers/dcat_us/testData/temporal.json @@ -0,0 +1,3044 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "description": "ground condition", + "startDateTime": "2016-06-01", + "endDateTime": "2016-08-15" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + } + }, + { + "referenceSystemType": "referenceSystemType1" + }, + { + "referenceSystemIdentifier": { + "identifier": "identifier2" + } + }, + { + "referenceSystemType": "projected", + "referenceSystemIdentifier": { + "identifier": "Zone 10", + "namespace": "UTM", + "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" + } + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemIdentifier": { + "identifier": "4326", + "namespace": "urn:ogc:def:crs:EPSG", + "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", + "authority": { + "title": "European Petroleum Survey Group" + } + } + }, + { + "referenceSystemType": "projected", + "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemParameterSet": { + "geodetic": { + "datumIdentifier": { + "identifier": "identifier" + }, + "ellipsoidIdentifier": { + "identifier": "identifier" + }, + "semiMajorAxis": 9.9, + "axisUnits": "axisUnits", + "denominatorOfFlatteningRatio": 9.9 + } + } + } + ], + "spatialRepresentationType": [ + "vector", + "stereoModel" + ], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [{ + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ] + ], + "centerPoint": [ + 0.5, + 0.5 + ], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [{ + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 99999 + }, { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "levelOfDetail": "levelOfDetail" + }, { + "geographicResolution": { + "latitudeResolution": 9.9, + "longitudeResolution": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "bearingDistanceResolution": { + "distanceResolution": 9.9, + "distanceUnitOfMeasure": "distanceUnitOfMeasure", + "bearingResolution": 9.9, + "bearingUnitOfMeasure": "bearingUnitOfMeasure", + "bearingReferenceDirection": "north", + "bearingReferenceMeridian": "assumed" + } + }, { + "coordinateResolution": { + "abscissaResolutionX": 9.9, + "ordinateResolutionY": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "place", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "taxon", + "thesaurus": { + "title": "ITIS - Integrated Taxonomic Information System" + } + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ], + "keywordType": "theme", + "thesaurus": { + "title": "Exploring Cookies" + } + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory", + "thesaurus": { + "title": "ISO Topic Categories" + } + }, + { + "keyword": [ + { + "keyword": "carbon dating" + }, + { + "keyword": "ionization" + } + ], + "keywordType": "method", + "thesaurus": { + "title": "Lineage Methodology keyword set" + } + } + ], + "taxonomy": [ + { + "taxonomicSystem": [{ + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": [ + "Citation for ITIS" + ], + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [{ + "title": "citation", + "identifier": [{ + "identifier": "identifier0", + "namespace": "namespace0", + "version": "version0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title0", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + }, + { + "title": "citation1", + "identifier": [{ + "identifier": "identifier1", + "namespace": "namespace1", + "version": "version1", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title1", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + } + ], + "observer": [{ + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [{ + "contactId": "CID001" + }] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [{ + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + } + ], + "taxonomicClassification": [{ + "taxonomicLevel": "taxonomicLevel0", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicLevel": "taxonomicLevel00", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel000", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId0000.1", + "taxonomicLevel": "taxonomicLevel0000.1", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }, + { + "taxonomicSystemId": "taxonomicSystemId0000.2", + "taxonomicLevel": "taxonomicLevel0000.2", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + }] + }, + { + "taxonomicLevel": "taxonomicLevel01", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel010", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }] + } + ] + }, + { + "taxonomicLevel": "taxonomicLevel0201", + "taxonomicName": "taxonomicName" + } + ] + }], + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/1" + }] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [{ + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [{ + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [{ + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [{ + "identifier": "identifier" + }], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": [ + "modelResult" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [{ + "attributeContentType": [ + "attributeContentType" + ] + }, + { + "attributeContentType": [ + "attributeContentType" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [{ + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": [ + "note0", + "note1" + ], + "contact": [{ + "role": "custodian", + "party": [{ + "contactId": "CID005" + }] + }] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "geographic extent description", + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-10.0, 50.0], + [90.0, 50.0], + [90.0, 25.0], + [-10.0, 25.0], + [-10.0, 50.0] + ] + ] + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [140, 65], + [-170, 65], + [-170, 55], + [140, 55], + [140, 65] + ] + ] + }] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-162, 65], + [-161, 65], + [-161, 60], + [-162, 60], + [-162, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [100, 55], + [102, 55], + [102, 50], + [100, 50], + [100, 55] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timeInstant": { + "id": "id", + "description": "description", + "identifier": { + "identifier": "identifier", + "namespace": "namespace" + }, + "instantName": [ + "instantName0", + "instantName1" + ], + "geologicAge": { + "ageTimeScale": "ageTimeScale", + "ageEstimate": "ageEstimate", + "ageUncertainty": "ageUncertainty", + "ageExplanation": "ageExplanation", + "ageReference": [{ + "title": "citation title" + }] + } + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startGeologicAge": { + "ageTimeScale": "International Chronostratigraphic Chart", + "ageEstimate": "13.82" + } + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-30, 25], + [-20, 25], + [-20, 20], + [-30, 20], + [-30, 25] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "FeatureCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "features": [{ + "type": "Feature", + "id": "ALCC-BH55", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Point", + "coordinates": [102.0, 0.5] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "featureName": [ + "fake name" + ] + } + }, + { + "type": "Feature", + "id": "ALCC-BH56", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "LineString", + "coordinates": [ + [102.0, 0.0], + [103.0, 1.0], + [104.0, 0.0], + [105.0, 1.0] + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + }, + { + "type": "Feature", + "id": "ALCC-Co81", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + }] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [{ + "title": "Lineage Title 1", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + { + "title": "Lineage Title 2", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + ], + "source": [{ + "sourceId": "SRC001", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title SRC001", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "metadataCitation": [{ + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [{ + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:15" + } + }, + { + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:16" + } + } + ], + "scope": { + "scopeCode": "scopeCode SRC001", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-01" + } + }] + }] + } + }, + { + "sourceId": "SRC002", + "description": "description", + "sourceCitation": { + "title": "Source Citation Title SRC002", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "scope": { + "scopeCode": "scopeCode SRC002", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-02" + } + }] + }] + } + } + ], + "processStep": [{ + "stepId": "stepId", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "id": "TimePeriod001", + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [{ + "role": "processor", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "reviewer", + "party": [{ + "contactId": "CID004" + }] + } + ], + "reference": [{ + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "endDateTime": "2017-12-28T15:28" + } + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID002" + }] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": [ + "mediumFormat0", + "mediumFormat1" + ], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp", + "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "transferSize": 10.9, + "onlineOption": [{ + "uri": "http://ISO.uri/adiwg/3" + }], + "distributionFormat": [{ + "formatSpecification": { + "title": "Microsoft Excel" + } + }] + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID003" + }] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [{ + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [{ + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [{ + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [{ + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [{ + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [{ + "title": "A Much Mo Betha Additional Document" + }] + } + ], + "funding": [ + { + "allocation": [{ + "sourceAllocationId": "A123FW009", + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "matching": true, + "onlineResource": [{ + "uri": "http://adiwg.org" + }], + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [{ + "amount": 9999.99, + "currency": "EUR" + }], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "citation": { + "title": "title" + }, + "subject": [ + "subject0", + "subject1" + ], + "recommendedUse": [ + "use0", + "use1" + ], + "locale": [{ + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID001" + }] + }, + "dictionaryFunctionalLanguage": "UML", + "dictionaryIncludedWithResource": true, + "domain": [{ + "domainId": "DID001", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name1", + "value": "value1", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name2", + "value": "value2", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "DID002", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }] + } + ], + "entity": [{ + "entityId": "entityId0", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 0" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [{ + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": [ + "attributeCodeName1" + ] + } + ], + "attribute": [{ + "commonName": "Department ID", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation Department ID" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for Employee ID" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [{ + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": [ + "employeeID" + ], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": [ + "employeeID" + ] + } + ] + }, + { + "entityId": "entityId1", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 1" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute" + ], + "attribute": [{ + "commonName": "Supervisor", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation for supervisor" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Grade", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for grade" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [{ + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID006" + }] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "USGS ScienceBase", + "metadataStandard": "FGDC" + }, + { + "repository": "data.gov", + "metadataStandard": "iso19115_2" + } + ] + } + \ No newline at end of file From efc4e31c663ec1d9bbd8a5be4a2edbac5a1a87ca Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 09:32:19 -0600 Subject: [PATCH 10/16] Remove Comment Header --- test/writers/dcat_us/dcat_us_test_parent.rb | 6 ------ 1 file changed, 6 deletions(-) diff --git a/test/writers/dcat_us/dcat_us_test_parent.rb b/test/writers/dcat_us/dcat_us_test_parent.rb index 9286fd5d9..71e0eaef5 100644 --- a/test/writers/dcat_us/dcat_us_test_parent.rb +++ b/test/writers/dcat_us/dcat_us_test_parent.rb @@ -1,9 +1,3 @@ -# MdTranslator - minitest of -# parent class for all tc_dcat_us tests - -# History: -# - require 'minitest/autorun' require 'json' require 'json-schema' From 8b66bbae6ca63f0ae1c31a45d33bf3cd9722d979 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 09:32:51 -0600 Subject: [PATCH 11/16] Add DCAT-US Tests to Rakefile --- Rakefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Rakefile b/Rakefile index f9503fca6..f17ffe3a3 100644 --- a/Rakefile +++ b/Rakefile @@ -23,6 +23,7 @@ Rake::TestTask.new do |t| 'test/writers/iso19115-2/tc*.rb', 'test/writers/mdJson/tc*.rb', 'test/writers/sbJson/tc*.rb', + 'test/writers/dcat_us/tc*.rb', 'test/translator/tc*.rb' ] t.verbose = true From 434ccb95b7959512b2f5d8817a277ec434846561 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 09:38:42 -0600 Subject: [PATCH 12/16] Update MiniTest to Minitest --- test/debug/debug_test_parent.rb | 2 +- test/readers/fgdc/fgdc_test_parent.rb | 2 +- test/readers/mdJson/mdjson_test_parent.rb | 2 +- test/readers/sbJson/sbjson_test_parent.rb | 2 +- test/translator/tc_fgdc_reader.rb | 2 +- test/translator/tc_mdJson_reader.rb | 2 +- test/translator/tc_mdJson_schemaExample.rb | 2 +- test/translator/tc_mdReaders.rb | 2 +- test/translator/tc_mdWriters.rb | 2 +- test/translator/tc_mdtranslator.rb | 2 +- test/translator/tc_mdtranslator_CLI.rb | 2 +- test/translator/tc_sbJson_reader.rb | 2 +- test/translator/tc_translator_roundTrip.rb | 2 +- test/writers/dcat_us/dcat_us_test_parent.rb | 2 +- test/writers/fgdc/fgdc_test_parent.rb | 2 +- test/writers/html/tc_html_document.rb | 2 +- test/writers/iso19110/iso19110_test_parent.rb | 2 +- test/writers/iso19115-1/iso19115_1_test_parent.rb | 2 +- test/writers/iso19115-2/iso19115_2_test_parent.rb | 2 +- test/writers/mdJson/mdjson_test_parent.rb | 2 +- test/writers/sbJson/sbjson_test_parent.rb | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/test/debug/debug_test_parent.rb b/test/debug/debug_test_parent.rb index fe73a72c1..071f8515e 100644 --- a/test/debug/debug_test_parent.rb +++ b/test/debug/debug_test_parent.rb @@ -12,7 +12,7 @@ require 'adiwg-mdjson_schemas' require 'adiwg/mdtranslator' -class TestDebugParent < MiniTest::Test +class TestDebugParent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/readers/fgdc/fgdc_test_parent.rb b/test/readers/fgdc/fgdc_test_parent.rb index 44bae9cb7..f87c43bdc 100644 --- a/test/readers/fgdc/fgdc_test_parent.rb +++ b/test/readers/fgdc/fgdc_test_parent.rb @@ -11,7 +11,7 @@ require 'adiwg/mdtranslator/internal/internal_metadata_obj' require 'adiwg/mdtranslator/readers/fgdc/modules/module_fgdc' -class TestReaderFGDCParent < MiniTest::Test +class TestReaderFGDCParent < Minitest::Test @@hResponseObj = { readerExecutionPass: true, diff --git a/test/readers/mdJson/mdjson_test_parent.rb b/test/readers/mdJson/mdjson_test_parent.rb index d6c64dbab..dc6d758bd 100644 --- a/test/readers/mdJson/mdjson_test_parent.rb +++ b/test/readers/mdJson/mdjson_test_parent.rb @@ -14,7 +14,7 @@ require_relative '../../helpers/mdJson_hash_objects' require_relative '../../helpers/mdJson_hash_functions' -class TestReaderMdJsonParent < MiniTest::Test +class TestReaderMdJsonParent < Minitest::Test # instance classes needed in script TDClass = MdJsonHashWriter.new diff --git a/test/readers/sbJson/sbjson_test_parent.rb b/test/readers/sbJson/sbjson_test_parent.rb index b83376a3c..57980fc9b 100644 --- a/test/readers/sbJson/sbjson_test_parent.rb +++ b/test/readers/sbJson/sbjson_test_parent.rb @@ -10,7 +10,7 @@ require 'adiwg-mdjson_schemas' require 'adiwg/mdtranslator/readers/sbJson/modules/module_sbJson' -class TestReaderSbJsonParent < MiniTest::Test +class TestReaderSbJsonParent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/translator/tc_fgdc_reader.rb b/test/translator/tc_fgdc_reader.rb index 4aba4e118..afa9e4a91 100755 --- a/test/translator/tc_fgdc_reader.rb +++ b/test/translator/tc_fgdc_reader.rb @@ -9,7 +9,7 @@ require 'adiwg/mdtranslator' require 'adiwg/mdtranslator/readers/fgdc/version' -class TestFgdcReader < MiniTest::Test +class TestFgdcReader < Minitest::Test def test_fgdc_reader_badly_formed_xml diff --git a/test/translator/tc_mdJson_reader.rb b/test/translator/tc_mdJson_reader.rb index 5d0fb8276..dad462975 100755 --- a/test/translator/tc_mdJson_reader.rb +++ b/test/translator/tc_mdJson_reader.rb @@ -9,7 +9,7 @@ require 'rubygems' require 'adiwg/mdtranslator' -class TestMdJsonReader < MiniTest::Test +class TestMdJsonReader < Minitest::Test def test_mdJson_reader_invalid_mdJson diff --git a/test/translator/tc_mdJson_schemaExample.rb b/test/translator/tc_mdJson_schemaExample.rb index e1a36ef38..b17516073 100755 --- a/test/translator/tc_mdJson_schemaExample.rb +++ b/test/translator/tc_mdJson_schemaExample.rb @@ -8,7 +8,7 @@ require 'rubygems' require 'adiwg/mdtranslator' -class TestMdjsonSchemaExample < MiniTest::Test +class TestMdjsonSchemaExample < Minitest::Test def test_mdJson_schema_example diff --git a/test/translator/tc_mdReaders.rb b/test/translator/tc_mdReaders.rb index 7126d5b58..7d352ed8f 100755 --- a/test/translator/tc_mdReaders.rb +++ b/test/translator/tc_mdReaders.rb @@ -8,7 +8,7 @@ require 'json' require 'adiwg/mdtranslator' -class TestMdReaders < MiniTest::Test +class TestMdReaders < Minitest::Test # read in an mdJson 2.x file file = File.join(File.dirname(__FILE__), 'testData', 'mdJson_minimal.json') diff --git a/test/translator/tc_mdWriters.rb b/test/translator/tc_mdWriters.rb index 178355d80..df8ce68c2 100755 --- a/test/translator/tc_mdWriters.rb +++ b/test/translator/tc_mdWriters.rb @@ -8,7 +8,7 @@ require 'json' require 'adiwg/mdtranslator' -class TestMdWriters < MiniTest::Test +class TestMdWriters < Minitest::Test # read in an mdJson 2.x file file = File.join(File.dirname(__FILE__), 'testData', 'mdJson_minimal.json') diff --git a/test/translator/tc_mdtranslator.rb b/test/translator/tc_mdtranslator.rb index 774903ff1..49185c004 100755 --- a/test/translator/tc_mdtranslator.rb +++ b/test/translator/tc_mdtranslator.rb @@ -10,7 +10,7 @@ require 'json' require 'adiwg/mdtranslator' -class TestMdTranslator < MiniTest::Test +class TestMdTranslator < Minitest::Test # read in an mdJson 2.x test file file = File.join(File.dirname(__FILE__), 'testData', 'mdJson_minimal.json') diff --git a/test/translator/tc_mdtranslator_CLI.rb b/test/translator/tc_mdtranslator_CLI.rb index 3707354f9..dd8261f7f 100755 --- a/test/translator/tc_mdtranslator_CLI.rb +++ b/test/translator/tc_mdtranslator_CLI.rb @@ -10,7 +10,7 @@ # test CLI parameters # no writer is specified; the input mdJson will only be scanned for errors -class TestMdtranslatorCLI < MiniTest::Test +class TestMdtranslatorCLI < Minitest::Test def test_mdtranslatorCLI_default diff --git a/test/translator/tc_sbJson_reader.rb b/test/translator/tc_sbJson_reader.rb index c288f3b62..9e7dc4bea 100755 --- a/test/translator/tc_sbJson_reader.rb +++ b/test/translator/tc_sbJson_reader.rb @@ -9,7 +9,7 @@ require 'adiwg/mdtranslator' require 'adiwg/mdtranslator/readers/sbJson/version' -class TestSbJsonReader < MiniTest::Test +class TestSbJsonReader < Minitest::Test def test_sbJson_reader_invalid_sbJson diff --git a/test/translator/tc_translator_roundTrip.rb b/test/translator/tc_translator_roundTrip.rb index 8c609db6d..4f397a1dd 100755 --- a/test/translator/tc_translator_roundTrip.rb +++ b/test/translator/tc_translator_roundTrip.rb @@ -9,7 +9,7 @@ require 'adiwg/mdtranslator' require 'adiwg/mdtranslator/readers/fgdc/version' -class TestTranslatorRoundTrip < MiniTest::Test +class TestTranslatorRoundTrip < Minitest::Test def test_fgdc_demo_to_iso191152 diff --git a/test/writers/dcat_us/dcat_us_test_parent.rb b/test/writers/dcat_us/dcat_us_test_parent.rb index 9286fd5d9..b4e9fb86c 100644 --- a/test/writers/dcat_us/dcat_us_test_parent.rb +++ b/test/writers/dcat_us/dcat_us_test_parent.rb @@ -8,7 +8,7 @@ require 'json' require 'json-schema' -class TestWriterDcatUsParent < MiniTest::Test +class TestWriterDcatUsParent < Minitest::Test # get json file for tests from examples folder def self.getJson(fileName) diff --git a/test/writers/fgdc/fgdc_test_parent.rb b/test/writers/fgdc/fgdc_test_parent.rb index 2c8a3a01d..a611982e0 100644 --- a/test/writers/fgdc/fgdc_test_parent.rb +++ b/test/writers/fgdc/fgdc_test_parent.rb @@ -11,7 +11,7 @@ require 'rubygems' require 'adiwg/mdtranslator' -class TestWriterFGDCParent < MiniTest::Test +class TestWriterFGDCParent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/writers/html/tc_html_document.rb b/test/writers/html/tc_html_document.rb index fba93f3cf..3eb1a16bc 100644 --- a/test/writers/html/tc_html_document.rb +++ b/test/writers/html/tc_html_document.rb @@ -7,7 +7,7 @@ require 'json' require 'adiwg-mdtranslator' -class TestHtmlDocument < MiniTest::Test +class TestHtmlDocument < Minitest::Test # get input JSON for test fname = File.join(File.dirname(__FILE__), 'testData', 'metadataGeo.json') diff --git a/test/writers/iso19110/iso19110_test_parent.rb b/test/writers/iso19110/iso19110_test_parent.rb index d737e7ff5..fc06631cb 100644 --- a/test/writers/iso19110/iso19110_test_parent.rb +++ b/test/writers/iso19110/iso19110_test_parent.rb @@ -11,7 +11,7 @@ require 'adiwg-mdjson_schemas' require 'adiwg/mdtranslator' -class TestWriter19110Parent < MiniTest::Test +class TestWriter19110Parent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/writers/iso19115-1/iso19115_1_test_parent.rb b/test/writers/iso19115-1/iso19115_1_test_parent.rb index e275c8b0f..905e09bf5 100644 --- a/test/writers/iso19115-1/iso19115_1_test_parent.rb +++ b/test/writers/iso19115-1/iso19115_1_test_parent.rb @@ -11,7 +11,7 @@ require 'adiwg-mdjson_schemas' require 'adiwg/mdtranslator' -class TestWriter191151Parent < MiniTest::Test +class TestWriter191151Parent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/writers/iso19115-2/iso19115_2_test_parent.rb b/test/writers/iso19115-2/iso19115_2_test_parent.rb index 39d4d6a3f..540ad724e 100644 --- a/test/writers/iso19115-2/iso19115_2_test_parent.rb +++ b/test/writers/iso19115-2/iso19115_2_test_parent.rb @@ -11,7 +11,7 @@ require 'adiwg-mdjson_schemas' require 'adiwg/mdtranslator' -class TestWriter191152Parent < MiniTest::Test +class TestWriter191152Parent < Minitest::Test @@responseObj = { readerExecutionPass: true, diff --git a/test/writers/mdJson/mdjson_test_parent.rb b/test/writers/mdJson/mdjson_test_parent.rb index dae7af37f..4a88aba8a 100644 --- a/test/writers/mdJson/mdjson_test_parent.rb +++ b/test/writers/mdJson/mdjson_test_parent.rb @@ -10,7 +10,7 @@ require 'json-schema' require 'adiwg-mdjson_schemas' -class TestWriterMdJsonParent < MiniTest::Test +class TestWriterMdJsonParent < Minitest::Test # get json file for tests from examples folder def self.getJson(fileName) diff --git a/test/writers/sbJson/sbjson_test_parent.rb b/test/writers/sbJson/sbjson_test_parent.rb index dbada1e5d..2e12d8e23 100644 --- a/test/writers/sbJson/sbjson_test_parent.rb +++ b/test/writers/sbJson/sbjson_test_parent.rb @@ -8,7 +8,7 @@ require 'json' require 'json-schema' -class TestWriterSbJsonParent < MiniTest::Test +class TestWriterSbJsonParent < Minitest::Test # get json file for tests from examples folder def self.getJson(fileName) From d40be160de2e1d32fdf055a373bd3529211c5f75 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 09:40:45 -0600 Subject: [PATCH 13/16] New Distribution Unit Test --- .../dcat_us/tc_dcat_us_distribution.rb | 24 + .../dcat_us/testData/distribution.json | 3044 +++++++++++++++++ 2 files changed, 3068 insertions(+) create mode 100644 test/writers/dcat_us/tc_dcat_us_distribution.rb create mode 100644 test/writers/dcat_us/testData/distribution.json diff --git a/test/writers/dcat_us/tc_dcat_us_distribution.rb b/test/writers/dcat_us/tc_dcat_us_distribution.rb new file mode 100644 index 000000000..07bcf649d --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_distribution.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsDistribution < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('distribution.json') + + def test_distribution + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:distribution'] + + expect = [{"@type"=>"dcat:Distribution", "dcat:description"=>"Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", "dcat:accessURL"=>"http://ISO.uri/adiwg/0", "dcat:mediaType"=>"CSV", "dcat:title"=>""}] + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/distribution.json b/test/writers/dcat_us/testData/distribution.json new file mode 100644 index 000000000..6c5a55402 --- /dev/null +++ b/test/writers/dcat_us/testData/distribution.json @@ -0,0 +1,3044 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "otherResourceLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "credit": [ + "Lim, Sonny B. - Guitar", + "Peterson, Jeff - Slack Key Guitar", + "Kamakawiwo'ole, Israel - Vocal" + ], + "timePeriod": { + "description": "ground condition", + "startDateTime": "2016-06-01", + "endDateTime": "2016-08-15" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "spatialReferenceSystem": [ + { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "spatial reference system identifier", + "namespace": "namespace", + "version": "version", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + } + }, + { + "referenceSystemType": "referenceSystemType1" + }, + { + "referenceSystemIdentifier": { + "identifier": "identifier2" + } + }, + { + "referenceSystemType": "projected", + "referenceSystemIdentifier": { + "identifier": "Zone 10", + "namespace": "UTM", + "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" + } + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemIdentifier": { + "identifier": "4326", + "namespace": "urn:ogc:def:crs:EPSG", + "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", + "authority": { + "title": "European Petroleum Survey Group" + } + } + }, + { + "referenceSystemType": "projected", + "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" + }, + { + "referenceSystemType": "geodeticGeographic2D", + "referenceSystemParameterSet": { + "geodetic": { + "datumIdentifier": { + "identifier": "identifier" + }, + "ellipsoidIdentifier": { + "identifier": "identifier" + }, + "semiMajorAxis": 9.9, + "axisUnits": "axisUnits", + "denominatorOfFlatteningRatio": 9.9 + } + } + } + ], + "spatialRepresentationType": [ + "vector", + "stereoModel" + ], + "spatialRepresentation": [ + { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "column", + "dimensionSize": 9, + "resolution": { + "type": "distance", + "value": 9.9, + "unitOfMeasure": "feet" + }, + "dimensionTitle": "COLUMN TITLE", + "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + }, + { + "dimensionType": "row", + "dimensionSize": 9 + } + ], + "cellGeometry": "voxel", + "transformParamsAvailability": true + } + }, + { + "vectorRepresentation": { + "topologyLevel": "fullTopology3D", + "vectorObject": [{ + "objectType": "object Type 0", + "objectCount": 9 + }, + { + "objectType": "object Type 1", + "objectCount": 9 + } + ] + } + }, + { + "georectifiedRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [ + { + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "checkPointAvailable": true, + "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "cornerPoints": [ + [ + 0.0, + 0.0 + ], + [ + 0.0, + 1.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ] + ], + "centerPoint": [ + 0.5, + 0.5 + ], + "pointInPixel": "upperRight", + "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + }, + { + "georeferenceableRepresentation": { + "gridRepresentation": { + "numberOfDimensions": 9, + "dimension": [{ + "dimensionType": "row", + "dimensionSize": 90 + }, + { + "dimensionType": "column", + "dimensionSize": 91 + } + ], + "cellGeometry": "cellGeometry", + "transformationParameterAvailable": true + }, + "controlPointAvailable": true, + "orientationParameterAvailable": true, + "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "georeferencedParameter": "Georeferenced Parameter 00", + "parameterCitation": [{ + "title": "title0" + }, + { + "title": "title1" + } + ] + } + } + ], + "spatialResolution": [ + { + "scaleFactor": 99999 + }, { + "measure": { + "type": "distance", + "value": 99.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "levelOfDetail": "levelOfDetail" + }, { + "geographicResolution": { + "latitudeResolution": 9.9, + "longitudeResolution": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }, { + "bearingDistanceResolution": { + "distanceResolution": 9.9, + "distanceUnitOfMeasure": "distanceUnitOfMeasure", + "bearingResolution": 9.9, + "bearingUnitOfMeasure": "bearingUnitOfMeasure", + "bearingReferenceDirection": "north", + "bearingReferenceMeridian": "assumed" + } + }, { + "coordinateResolution": { + "abscissaResolutionX": 9.9, + "ordinateResolutionY": 9.9, + "unitOfMeasure": "unitOfMeasure" + } + }], + "keyword": [ + { + "keyword": [ + { + "keyword": "Barrow" + }, + { + "keyword": "Prudhoe Bay" + }, + { + "keyword": "Kaparuk" + } + ], + "keywordType": "place", + "thesaurus": { + "title": "USGS Geographic Names Information System" + } + }, + { + "keyword": [ + { + "keyword": "Brown Bear", + "keywordId": "TSN12365741" + }, + { + "keyword": "Polar Bear", + "keywordId": "TSN125415741" + }, + { + "keyword": "Black Bear", + "keywordId": "TSN123689426" + }, + { + "keyword": "Cinnamon Bear", + "keywordId": "TSN123842165" + }, + { + "keyword": "Teddy Bear" + } + ], + "keywordType": "taxon", + "thesaurus": { + "title": "ITIS - Integrated Taxonomic Information System" + } + }, + { + "keyword": [ + { + "keyword": "butter" + }, + { + "keyword": "sugar" + }, + { + "keyword": "eggs" + } + ], + "keywordType": "theme", + "thesaurus": { + "title": "Exploring Cookies" + } + }, + { + "keyword": [ + { + "keyword": "inlandWaters", + "keywordId": "012" + }, + { + "keyword": "location", + "keywordId": "013" + }, + { + "keyword": "climatologyMeteorologyAtmosphere", + "keywordId": "004" + } + ], + "keywordType": "isoTopicCategory", + "thesaurus": { + "title": "ISO Topic Categories" + } + }, + { + "keyword": [ + { + "keyword": "carbon dating" + }, + { + "keyword": "ionization" + } + ], + "keywordType": "method", + "thesaurus": { + "title": "Lineage Methodology keyword set" + } + } + ], + "taxonomy": [ + { + "taxonomicSystem": [{ + "citation": { + "title": "ITIS - Integrated Taxonomic Information System", + "alternateTitle": [ + "Citation for ITIS" + ], + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "citation": { + "title": "Some OTHER Taxonomic System", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + } + ], + "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationReference": [{ + "title": "citation", + "identifier": [{ + "identifier": "identifier0", + "namespace": "namespace0", + "version": "version0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title0", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + }, + { + "title": "citation1", + "identifier": [{ + "identifier": "identifier1", + "namespace": "namespace1", + "version": "version1", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "title1", + "date": [{ + "date": "2013-06-22", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + }] + } + ], + "observer": [{ + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "editor", + "party": [{ + "contactId": "CID001" + }] + } + ], + "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "voucher": [{ + "specimen": "bear claw", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + }, + { + "specimen": "moose tooth", + "repository": { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + } + ], + "taxonomicClassification": [{ + "taxonomicLevel": "taxonomicLevel0", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId00", + "taxonomicLevel": "taxonomicLevel00", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel000", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicSystemId": "taxonomicSystemId0000.1", + "taxonomicLevel": "taxonomicLevel0000.1", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }, + { + "taxonomicSystemId": "taxonomicSystemId0000.2", + "taxonomicLevel": "taxonomicLevel0000.2", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + } + ] + }] + }, + { + "taxonomicLevel": "taxonomicLevel01", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [{ + "taxonomicLevel": "taxonomicLevel010", + "taxonomicName": "taxonomicName", + "commonName": [ + "commonName0", + "commonName1" + ], + "subClassification": [] + }] + } + ] + }, + { + "taxonomicLevel": "taxonomicLevel0201", + "taxonomicName": "taxonomicName" + } + ] + }], + "graphicOverview": [ + { + "fileName": "fileName 0", + "fileDescription": "fileDescription 0", + "fileType": "fileType 0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName 1", + "fileDescription": "fileDescription 1", + "fileType": "fileType 1", + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/1" + }] + } + ], + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ], + "coverageDescription": [ + { + "coverageName": "My First Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "processing level code" + }, + "attributeGroup": [{ + "attributeContentType": [ + "thematicClassification", + "physicalMeasurement" + ], + "attribute": [{ + "sequenceIdentifier": "sequenceIdentifier 1", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "attributeIdentifier": [{ + "identifier": "identifier 1" + }, + { + "identifier": "identifier 2" + } + ], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999, + "boundMin": 9.9, + "boundMax": 9.9, + "boundUnits": "boundUnits", + "peakResponse": 9.9, + "toneGradations": 999, + "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "nominalSpatialResolution": 9.9, + "transferFunctionType": "transferFunctionType", + "transmittedPolarization": "transmittedPolarization", + "detectedPolarization": "detectedPolarization" + }, + { + "sequenceIdentifier": "sequenceIdentifier 2", + "sequenceIdentifierType": "sequenceIdentifierType", + "attributeDescription": "attributeDescription", + "attributeIdentifier": [{ + "identifier": "identifier" + }], + "minValue": 9.9, + "maxValue": 9.9, + "units": "units", + "scaleFactor": 999, + "offset": 999, + "meanValue": 9.9, + "numberOfValues": 999, + "standardDeviation": 9.9, + "bitsPerValue": 999 + } + ] + }, + { + "attributeContentType": [ + "modelResult" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 9.9, + "illuminationAzimuthAngle": 9.9, + "imagingCondition": "imagingCondition", + "imageQualityCode": { + "identifier": "identifier" + }, + "cloudCoverPercent": 9.9, + "compressionQuantity": 9, + "triangulationIndicator": true, + "radiometricCalibrationAvailable": true, + "cameraCalibrationAvailable": true, + "filmDistortionAvailable": true, + "lensDistortionAvailable": true + } + }, + { + "coverageName": "My Second Coverage", + "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "processingLevelCode": { + "identifier": "identifier" + }, + "attributeGroup": [{ + "attributeContentType": [ + "attributeContentType" + ] + }, + { + "attributeContentType": [ + "attributeContentType" + ] + } + ], + "imageDescription": { + "illuminationElevationAngle": 60.0 + } + } + ], + "resourceFormat": [ + { + "formatSpecification": { + "title": "specification 1" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + }, + { + "formatSpecification": { + "title": "specification 2" + }, + "amendmentNumber": "amendmentNumber", + "compressionMethod": "compressionMethod" + } + ], + "resourceMaintenance": [ + { + "frequency": "semi-annually", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType" + }, + { + "date": "2016-10-12", + "dateType": "dateType" + } + ], + "scope": [{ + "scopeCode": "scopeCode" + }, + { + "scopeCode": "scopeCode" + } + ], + "note": [ + "note0", + "note1" + ], + "contact": [{ + "role": "custodian", + "party": [{ + "contactId": "CID005" + }] + }] + }, + { + "frequency": "frequency1" + } + ], + "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "extent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "description": "geographic extent description", + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [ + { + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [100.0, 0.0], + [101.0, 1.0] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-10.0, 50.0], + [90.0, 50.0], + [90.0, 25.0], + [-10.0, 25.0], + [-10.0, 50.0] + ] + ] + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [140, 65], + [-170, 65], + [-170, 55], + [140, 55], + [140, 65] + ] + ] + }] + }, + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-162, 65], + [-161, 65], + [-161, 60], + [-162, 60], + [-162, 65] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [100, 55], + [102, 55], + [102, 50], + [100, 50], + [100, 55] + ] + ] + } + ] + } + ], + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timeInstant": { + "id": "id", + "description": "description", + "identifier": { + "identifier": "identifier", + "namespace": "namespace" + }, + "instantName": [ + "instantName0", + "instantName1" + ], + "geologicAge": { + "ageTimeScale": "ageTimeScale", + "ageEstimate": "ageEstimate", + "ageUncertainty": "ageUncertainty", + "ageExplanation": "ageExplanation", + "ageReference": [{ + "title": "citation title" + }] + } + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startGeologicAge": { + "ageTimeScale": "International Chronostratigraphic Chart", + "ageEstimate": "13.82" + } + } + } + ], + "verticalExtent": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "minValue": 9.9, + "maxValue": 9.9, + "crsId": { + "referenceSystemType": "referenceSystemType0", + "referenceSystemIdentifier": { + "identifier": "identifier0" + } + } + }, + { + "minValue": 99.99, + "maxValue": 99.99, + "crsId": { + "referenceSystemType": "referenceSystemType1", + "referenceSystemIdentifier": { + "identifier": "identifier1" + } + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [ + { + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "geographicElement": [{ + "type": "Polygon", + "coordinates": [ + [ + [-30, 25], + [-20, 25], + [-20, 20], + [-30, 20], + [-30, 25] + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [10, 40], + [15, 35], + [15, 30], + [10, 30], + [10, 40] + ] + ] + } + ] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, 67.663378], + [-161.440345, 67.630173], + [-161.294611, 67.656257], + [-161.228063, 67.625736], + [-161.247712, 67.585909], + [-161.334662, 67.591324], + [-161.566245, 67.491263], + [-161.812338, 67.455299], + [-161.825019, 67.40123], + [-162.128301, 67.414364], + [-162.167825, 67.363047], + [-162.383403, 67.293329], + [-162.633432, 67.272237], + [-162.645587, 67.356665], + [-162.369023, 67.455264], + [-162.287324, 67.551235], + [-162.171139, 67.559356], + [-161.99344, 67.646806], + [-161.857964, 67.620329], + [-161.769431, 67.629407], + [-161.74223, 67.663378] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }, + { + "containsData": true, + "geographicElement": [{ + "type": "FeatureCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "features": [{ + "type": "Feature", + "id": "ALCC-BH55", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "Point", + "coordinates": [102.0, 0.5] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "featureName": [ + "fake name" + ] + } + }, + { + "type": "Feature", + "id": "ALCC-BH56", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "LineString", + "coordinates": [ + [102.0, 0.0], + [103.0, 1.0], + [104.0, 0.0], + [105.0, 1.0] + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + }, + { + "type": "Feature", + "id": "ALCC-Co81", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometry": { + "type": "GeometryCollection", + "bbox": [-10.0, -10.0, 10.0, 10.0], + "geometries": [{ + "type": "Point", + "coordinates": [100.0, 0.0] + }, + { + "type": "LineString", + "coordinates": [ + [101.0, 0.0], + [102.0, 1.0] + ] + } + ] + }, + "properties": { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + }] + } + ] + } + ] + }, + "resourceLineage": [ + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "scope": { + "scopeCode": "scopeCode" + }, + "citation": [{ + "title": "Lineage Title 1", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + { + "title": "Lineage Title 2", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + } + ], + "source": [{ + "sourceId": "SRC001", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "sourceCitation": { + "title": "Source Citation Title SRC001", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "metadataCitation": [{ + "title": "First Source Metadata Citation" + }, + { + "title": "Next Source Metadata Citation" + } + ], + "spatialResolution": { + "scaleFactor": 99999 + }, + "referenceSystem": { + "referenceSystemType": "referenceSystemType", + "referenceSystemIdentifier": { + "identifier": "identifier" + } + }, + "sourceProcessStep": [{ + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:15" + } + }, + { + "description": "description", + "timePeriod": { + "endDateTime": "2017-12-28T15:16" + } + } + ], + "scope": { + "scopeCode": "scopeCode SRC001", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-01" + } + }] + }] + } + }, + { + "sourceId": "SRC002", + "description": "description", + "sourceCitation": { + "title": "Source Citation Title SRC002", + "date": [{ + "date": "2017-10-13", + "dateType": "publication" + }], + "responsibleParty": [{ + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + }] + }, + "scope": { + "scopeCode": "scopeCode SRC002", + "scopeExtent": [{ + "temporalExtent": [{ + "timePeriod": { + "description": "publication date", + "startDateTime": "2016-11-02" + } + }] + }] + } + } + ], + "processStep": [{ + "stepId": "stepId", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "id": "TimePeriod001", + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + }, + "processor": [{ + "role": "processor", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "reviewer", + "party": [{ + "contactId": "CID004" + }] + } + ], + "reference": [{ + "title": "Process Step Reference" + }, + { + "title": "Another Process Step Reference" + } + ], + "scope": { + "scopeCode": "scopeCode" + } + }, + { + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "timePeriod": { + "endDateTime": "2017-12-28T15:28" + } + } + ] + }, + { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + ], + "resourceDistribution": [ + { + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", + "distributor": [ + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID002" + }] + }, + "orderProcess": [ + { + "fees": "10.00USD", + "plannedAvailability": "2016-10-21T00:00:00", + "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "turnaround": "turnaround" + }, + { + "fees": "2.00USD" + } + ], + "transferOption": [ + { + "unitsOfDistribution": "units of distribution", + "transferSize": 9.9, + "onlineOption": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "offlineOption": [ + { + "mediumSpecification": { + "title": "My Medium Specification Title" + }, + "density": 9.9, + "units": "units", + "numberOfVolumes": 9, + "mediumFormat": [ + "mediumFormat0", + "mediumFormat1" + ], + "note": "note", + "identifier": { + "identifier": "Medium Identifier" + } + }, + { + "mediumSpecification": { + "title": "dium specification title 1" + } + } + ], + "transferFrequency": { + "months": 9 + }, + "distributionFormat": [ + { + "formatSpecification": { + "title": "CSV" + }, + "amendmentNumber": "2.0.8-beta", + "compressionMethod": "7ZipUp", + "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" + }, + { + "formatSpecification": { + "title": "format specification title 1" + } + } + ] + }, + { + "transferSize": 10.9, + "onlineOption": [{ + "uri": "http://ISO.uri/adiwg/3" + }], + "distributionFormat": [{ + "formatSpecification": { + "title": "Microsoft Excel" + } + }] + } + ] + }, + { + "contact": { + "role": "distributor", + "party": [{ + "contactId": "CID003" + }] + } + } + ] + } + ], + "associatedResource": [ + { + "resourceType": [{ + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title" + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [{ + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title" + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [{ + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [{ + "title": "A Good Additional Document" + }, + { + "title": "A More Better Additional Document" + } + ] + }, + { + "resourceType": [{ + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [{ + "title": "A Much Mo Betha Additional Document" + }] + } + ], + "funding": [ + { + "allocation": [{ + "sourceAllocationId": "A123FW009", + "amount": 9999.99, + "currency": "USD", + "sourceId": "CID005", + "recipientId": "CID006", + "matching": true, + "onlineResource": [{ + "uri": "http://adiwg.org" + }], + "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "amount": 999.99, + "currency": "CAD" + } + ], + "timePeriod": { + "startDateTime": "2016-10-14T11:10:15.2-10:00", + "endDateTime": "2016-12-31", + "id": "TimePeriod001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "TimePeriod Identifier", + "namespace": "namespace" + }, + "periodName": [ + "periodName0", + "periodName1" + ], + "timeInterval": { + "interval": 9.9, + "units": "year" + }, + "duration": { + "months": 9 + } + } + }, + { + "allocation": [{ + "amount": 9999.99, + "currency": "EUR" + }], + "timePeriod": { + "startDateTime": "2016-10-14" + } + } + ] + }, + "dataDictionary": [ + { + "citation": { + "title": "title" + }, + "subject": [ + "subject0", + "subject1" + ], + "recommendedUse": [ + "use0", + "use1" + ], + "locale": [{ + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID001" + }] + }, + "dictionaryFunctionalLanguage": "UML", + "dictionaryIncludedWithResource": true, + "domain": [{ + "domainId": "DID001", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name1", + "value": "value1", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }, + { + "name": "name2", + "value": "value2", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + } + ] + }, + { + "domainId": "DID002", + "commonName": "commonName", + "codeName": "codeName", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "domainItem": [{ + "name": "name0", + "value": "value0", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + }] + } + ], + "entity": [{ + "entityId": "entityId0", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 0" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute0", + "primaryAttribute1" + ], + "index": [{ + "codeName": "codeName0", + "allowDuplicates": false, + "attributeCodeName": [ + "attributeCodeName00", + "attributeCodeName01" + ] + }, + { + "codeName": "codeName1", + "allowDuplicates": true, + "attributeCodeName": [ + "attributeCodeName1" + ] + } + ], + "attribute": [{ + "commonName": "Department ID", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation Department ID" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Employee ID", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for Employee ID" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ], + "foreignKey": [{ + "localAttributeCodeName": [ + "localAttributeCodeName0", + "localAttributeCodeName1" + ], + "referencedEntityCodeName": "referencedEntityCodeName", + "referencedAttributeCodeName": [ + "referencedAttributeCodeName0", + "referencedAttributeCodeName1" + ] + }, + { + "localAttributeCodeName": [ + "employeeID" + ], + "referencedEntityCodeName": "EMPLOYEE", + "referencedAttributeCodeName": [ + "employeeID" + ] + } + ] + }, + { + "entityId": "entityId1", + "commonName": "commonName", + "codeName": "codeName", + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "entityReference": [{ + "title": "entity reference citation 1" + }], + "primaryKeyAttributeCodeName": [ + "primaryAttribute" + ], + "attribute": [{ + "commonName": "Supervisor", + "codeName": "codeName", + "alias": [ + "alias0", + "alias1" + ], + "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "attributeReference": { + "title": "attribute reference citation for supervisor" + }, + "dataType": "dataType", + "allowNull": true, + "mustBeUnique": false, + "units": "units", + "domainId": "DID001", + "minValue": "minValue", + "maxValue": "maxValue" + }, + { + "commonName": "Grade", + "codeName": "empId", + "alias": [ + "employeeId", + "employeeNumber" + ], + "definition": "Numeric code to uniquely identify an employee of Acme Oil", + "attributeReference": { + "title": "attribute reference citation for grade" + }, + "dataType": "numeric", + "allowNull": false, + "mustBeUnique": true, + "units": "meters", + "domainId": "DID002", + "minValue": "1000000", + "maxValue": "5000000" + } + ] + } + ] + }, + { + "citation": { + "title": "My Dictionary Title" + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [{ + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID006" + }] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ], + "metadataRepository": [ + { + "repository": "USGS ScienceBase", + "metadataStandard": "FGDC" + }, + { + "repository": "data.gov", + "metadataStandard": "iso19115_2" + } + ] + } + \ No newline at end of file From ec5745a8fdc709c28c3ab562177cd7f2ae3a8eb2 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 10:22:31 -0600 Subject: [PATCH 14/16] Complete Temporal Unit Test & Writer --- .../dcat_us/sections/dcat_us_temporal.rb | 37 +- test/writers/dcat_us/tc_dcat_us_temporal.rb | 2 +- test/writers/dcat_us/testData/temporal.json | 1561 +---------------- 3 files changed, 29 insertions(+), 1571 deletions(-) diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb index a34060782..5afc921aa 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb @@ -7,24 +7,31 @@ module Temporal def self.build(intObj) resourceInfo = intObj.dig(:metadata, :resourceInfo) extent = resourceInfo&.dig(:extents, 0) - temporalExtent = extent&.dig(:temporalExtents, 0) - timePeriod = temporalExtent&.dig(:timePeriod) - - if timePeriod - startDate = timePeriod[:startDateTime] - endDate = timePeriod[:endDateTime] - - if startDate && endDate - return "#{startDate}/#{endDate}" - elsif startDate - return startDate - elsif endDate - return endDate + temporalExtents = extent&.dig(:temporalExtents) + + if temporalExtents + temporalExtents.each do |temporalExtent| + timePeriod = temporalExtent&.dig(:timePeriod) + next unless timePeriod + + startDateHash = timePeriod[:startDateTime] + endDateHash = timePeriod[:endDateTime] + + startDate = startDateHash&.dig(:dateTime) + endDate = endDateHash&.dig(:dateTime) + + if startDate && endDate + return "#{startDate}/#{endDate}" + elsif startDate + return startDate + elsif endDate + return endDate + end end end - + nil - end + end end end diff --git a/test/writers/dcat_us/tc_dcat_us_temporal.rb b/test/writers/dcat_us/tc_dcat_us_temporal.rb index 822160a35..711aada1d 100644 --- a/test/writers/dcat_us/tc_dcat_us_temporal.rb +++ b/test/writers/dcat_us/tc_dcat_us_temporal.rb @@ -16,7 +16,7 @@ def test_Temporal hJsonOut = JSON.parse(metadata[:writerOutput]) got = hJsonOut['dcat:temporal'] - expect = 'Temporal' + expect = '2016-10-24T11:10:15-10:00' assert_equal expect, got end diff --git a/test/writers/dcat_us/testData/temporal.json b/test/writers/dcat_us/testData/temporal.json index 6c5a55402..6d7755e85 100644 --- a/test/writers/dcat_us/testData/temporal.json +++ b/test/writers/dcat_us/testData/temporal.json @@ -1102,915 +1102,16 @@ "country": "USA", "characterSet": "UTF-8" }, - "otherResourceLocale": [ - { - "language": "language0", - "country": "country0", - "characterSet": "characterSet0" - }, - { - "language": "language1", - "country": "country1", - "characterSet": "characterSet1" - } - ], - "credit": [ - "Lim, Sonny B. - Guitar", - "Peterson, Jeff - Slack Key Guitar", - "Kamakawiwo'ole, Israel - Vocal" - ], - "timePeriod": { - "description": "ground condition", - "startDateTime": "2016-06-01", - "endDateTime": "2016-08-15" - }, - "temporalResolution": [ - { - "years": 1, - "months": 8, - "days": 13 - }, - { - "seconds": 5 - } - ], - "spatialReferenceSystem": [ - { - "referenceSystemType": "referenceSystemType0", - "referenceSystemIdentifier": { - "identifier": "spatial reference system identifier", - "namespace": "namespace", - "version": "version", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title", - "alternateTitle": [ - "alternateTitle0", - "alternateTitle1" - ], - "date": [{ - "date": "2016-10-13", - "dateType": "dateType0" - }, - { - "date": "2016-10-22T16:15:14", - "dateType": "dateType1" - } - ], - "edition": "edition", - "responsibleParty": [{ - "role": "principalInvestigator", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "funder", - "party": [{ - "contactId": "CID003", - "organizationMembers": [ - "CID004", - "CID001" - ] - }] - } - ], - "presentationForm": [ - "presentationForm0", - "presentationForm1" - ], - "identifier": [{ - "identifier": "identifier0" - }, - { - "identifier": "identifier1" - } - ], - "series": { - "seriesName": "seriesName", - "seriesIssue": "seriesIssue", - "issuePage": "issuePage" - }, - "otherCitationDetails": [ - "otherCitationDetails0", - "otherCitationDetails1" - ], - "onlineResource": [{ - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "graphic": [{ - "fileName": "fileName" - }, - { - "fileName": "fileName" - } - ] - } - } - }, - { - "referenceSystemType": "referenceSystemType1" - }, - { - "referenceSystemIdentifier": { - "identifier": "identifier2" - } - }, - { - "referenceSystemType": "projected", - "referenceSystemIdentifier": { - "identifier": "Zone 10", - "namespace": "UTM", - "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" - } - }, - { - "referenceSystemType": "geodeticGeographic2D", - "referenceSystemIdentifier": { - "identifier": "4326", - "namespace": "urn:ogc:def:crs:EPSG", - "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", - "authority": { - "title": "European Petroleum Survey Group" - } - } - }, - { - "referenceSystemType": "projected", - "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" - }, - { - "referenceSystemType": "geodeticGeographic2D", - "referenceSystemParameterSet": { - "geodetic": { - "datumIdentifier": { - "identifier": "identifier" - }, - "ellipsoidIdentifier": { - "identifier": "identifier" - }, - "semiMajorAxis": 9.9, - "axisUnits": "axisUnits", - "denominatorOfFlatteningRatio": 9.9 - } - } - } - ], - "spatialRepresentationType": [ - "vector", - "stereoModel" - ], - "spatialRepresentation": [ - { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [{ - "dimensionType": "column", - "dimensionSize": 9, - "resolution": { - "type": "distance", - "value": 9.9, - "unitOfMeasure": "feet" - }, - "dimensionTitle": "COLUMN TITLE", - "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - }, - { - "dimensionType": "row", - "dimensionSize": 9 - } - ], - "cellGeometry": "voxel", - "transformParamsAvailability": true - } - }, - { - "vectorRepresentation": { - "topologyLevel": "fullTopology3D", - "vectorObject": [{ - "objectType": "object Type 0", - "objectCount": 9 - }, - { - "objectType": "object Type 1", - "objectCount": 9 - } - ] - } - }, - { - "georectifiedRepresentation": { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [ - { - "dimensionType": "row", - "dimensionSize": 90 - }, - { - "dimensionType": "column", - "dimensionSize": 91 - } - ], - "cellGeometry": "cellGeometry", - "transformationParameterAvailable": true - }, - "checkPointAvailable": true, - "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "cornerPoints": [ - [ - 0.0, - 0.0 - ], - [ - 0.0, - 1.0 - ], - [ - 1.0, - 1.0 - ], - [ - 1.0, - 0.0 - ] - ], - "centerPoint": [ - 0.5, - 0.5 - ], - "pointInPixel": "upperRight", - "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - } - }, - { - "georeferenceableRepresentation": { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [{ - "dimensionType": "row", - "dimensionSize": 90 - }, - { - "dimensionType": "column", - "dimensionSize": 91 - } - ], - "cellGeometry": "cellGeometry", - "transformationParameterAvailable": true - }, - "controlPointAvailable": true, - "orientationParameterAvailable": true, - "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "georeferencedParameter": "Georeferenced Parameter 00", - "parameterCitation": [{ - "title": "title0" - }, - { - "title": "title1" - } - ] - } - } - ], - "spatialResolution": [ - { - "scaleFactor": 99999 - }, { - "measure": { - "type": "distance", - "value": 99.9, - "unitOfMeasure": "unitOfMeasure" - } - }, { - "levelOfDetail": "levelOfDetail" - }, { - "geographicResolution": { - "latitudeResolution": 9.9, - "longitudeResolution": 9.9, - "unitOfMeasure": "unitOfMeasure" - } - }, { - "bearingDistanceResolution": { - "distanceResolution": 9.9, - "distanceUnitOfMeasure": "distanceUnitOfMeasure", - "bearingResolution": 9.9, - "bearingUnitOfMeasure": "bearingUnitOfMeasure", - "bearingReferenceDirection": "north", - "bearingReferenceMeridian": "assumed" - } - }, { - "coordinateResolution": { - "abscissaResolutionX": 9.9, - "ordinateResolutionY": 9.9, - "unitOfMeasure": "unitOfMeasure" - } - }], - "keyword": [ - { - "keyword": [ - { - "keyword": "Barrow" - }, - { - "keyword": "Prudhoe Bay" - }, - { - "keyword": "Kaparuk" - } - ], - "keywordType": "place", - "thesaurus": { - "title": "USGS Geographic Names Information System" - } - }, - { - "keyword": [ - { - "keyword": "Brown Bear", - "keywordId": "TSN12365741" - }, - { - "keyword": "Polar Bear", - "keywordId": "TSN125415741" - }, - { - "keyword": "Black Bear", - "keywordId": "TSN123689426" - }, - { - "keyword": "Cinnamon Bear", - "keywordId": "TSN123842165" - }, - { - "keyword": "Teddy Bear" - } - ], - "keywordType": "taxon", - "thesaurus": { - "title": "ITIS - Integrated Taxonomic Information System" - } - }, - { - "keyword": [ - { - "keyword": "butter" - }, - { - "keyword": "sugar" - }, - { - "keyword": "eggs" - } - ], - "keywordType": "theme", - "thesaurus": { - "title": "Exploring Cookies" - } - }, - { - "keyword": [ - { - "keyword": "inlandWaters", - "keywordId": "012" - }, - { - "keyword": "location", - "keywordId": "013" - }, - { - "keyword": "climatologyMeteorologyAtmosphere", - "keywordId": "004" - } - ], - "keywordType": "isoTopicCategory", - "thesaurus": { - "title": "ISO Topic Categories" - } - }, - { - "keyword": [ - { - "keyword": "carbon dating" - }, - { - "keyword": "ionization" - } - ], - "keywordType": "method", - "thesaurus": { - "title": "Lineage Methodology keyword set" - } - } - ], - "taxonomy": [ - { - "taxonomicSystem": [{ - "citation": { - "title": "ITIS - Integrated Taxonomic Information System", - "alternateTitle": [ - "Citation for ITIS" - ], - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "citation": { - "title": "Some OTHER Taxonomic System", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - } - ], - "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identificationReference": [{ - "title": "citation", - "identifier": [{ - "identifier": "identifier0", - "namespace": "namespace0", - "version": "version0", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title0", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - }] - }, - { - "title": "citation1", - "identifier": [{ - "identifier": "identifier1", - "namespace": "namespace1", - "version": "version1", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title1", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - }] - } - ], - "observer": [{ - "role": "coPrincipalInvestigator", - "party": [{ - "contactId": "CID006" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "editor", - "party": [{ - "contactId": "CID001" - }] - } - ], - "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "voucher": [{ - "specimen": "bear claw", - "repository": { - "role": "custodian", - "party": [{ - "contactId": "CID002" - }] - } - }, - { - "specimen": "moose tooth", - "repository": { - "role": "custodian", - "party": [{ - "contactId": "CID002" - }] - } - } - ], - "taxonomicClassification": [{ - "taxonomicLevel": "taxonomicLevel0", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicSystemId": "taxonomicSystemId00", - "taxonomicLevel": "taxonomicLevel00", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicLevel": "taxonomicLevel000", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicSystemId": "taxonomicSystemId0000.1", - "taxonomicLevel": "taxonomicLevel0000.1", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - }, - { - "taxonomicSystemId": "taxonomicSystemId0000.2", - "taxonomicLevel": "taxonomicLevel0000.2", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - } - ] - }] - }, - { - "taxonomicLevel": "taxonomicLevel01", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicLevel": "taxonomicLevel010", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - }] - } - ] - }, - { - "taxonomicLevel": "taxonomicLevel0201", - "taxonomicName": "taxonomicName" - } - ] - }], - "graphicOverview": [ - { - "fileName": "fileName 0", - "fileDescription": "fileDescription 0", - "fileType": "fileType 0", - "fileConstraint": [{ - "type": "use", - "useLimitation": [ - "useLimitation0", - "useLimitation1" - ] - }, - { - "type": "legal", - "legal": { - "useConstraint": [ - "useConstraint0", - "useConstraint1" - ], - "accessConstraint": [ - "accessConstraint0", - "accessConstraint1" - ], - "otherConstraint": [ - "otherConstraint0", - "otherConstraint1" - ] - } - } - ], - "fileUri": [{ - "uri": "http://ISO.uri/adiwg/0" - }] - }, - { - "fileName": "fileName 1", - "fileDescription": "fileDescription 1", - "fileType": "fileType 1", - "fileUri": [{ - "uri": "http://ISO.uri/adiwg/1" - }] - } - ], - "constraint": [ - { - "type": "use", - "useLimitation": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - ], - "scope": { - "scopeCode": "scopeCode" - }, - "graphic": [{ - "fileName": "fileName0" - }, - { - "fileName": "fileName1" - } - ], - "reference": [{ - "title": "title0" - }, - { - "title": "title1" - } - ], - "releasability": { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "addressee": [{ - "role": "client", - "party": [{ - "contactId": "CID001" - }] - }, - { - "role": "stakeholder", - "party": [{ - "contactId": "CID002" - }, - { - "contactId": "CID003" - } - ] - } - ], - "disseminationConstraint": [ - "restricted", - "unrestricted" - ] - }, - "responsibleParty": [{ - "role": "coAuthor", - "party": [{ - "contactId": "CID006" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "rightsHolder", - "party": [{ - "contactId": "CID005" - }] - } - ] - }, - { - "type": "legal", - "useLimitation": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - ], - "scope": { - "scopeCode": "scopeCode" - }, - "graphic": [{ - "fileName": "fileName0" - }, - { - "fileName": "fileName1" - } - ], - "legal": { - "useConstraint": [ - "threatenedOrEndangered", - "otherRestrictions" - ], - "accessConstraint": [ - "otherRestrictions", - "in-confidence" - ], - "otherConstraint": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." - ] - } - }, - { - "type": "security", - "security": { - "classification": "secret", - "classificationSystem": "Classification System Name", - "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - } - ], - "coverageDescription": [ - { - "coverageName": "My First Coverage", - "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "processingLevelCode": { - "identifier": "processing level code" - }, - "attributeGroup": [{ - "attributeContentType": [ - "thematicClassification", - "physicalMeasurement" - ], - "attribute": [{ - "sequenceIdentifier": "sequenceIdentifier 1", - "sequenceIdentifierType": "sequenceIdentifierType", - "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "attributeIdentifier": [{ - "identifier": "identifier 1" - }, - { - "identifier": "identifier 2" - } - ], - "minValue": 9.9, - "maxValue": 9.9, - "units": "units", - "scaleFactor": 999, - "offset": 999, - "meanValue": 9.9, - "numberOfValues": 999, - "standardDeviation": 9.9, - "bitsPerValue": 999, - "boundMin": 9.9, - "boundMax": 9.9, - "boundUnits": "boundUnits", - "peakResponse": 9.9, - "toneGradations": 999, - "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "nominalSpatialResolution": 9.9, - "transferFunctionType": "transferFunctionType", - "transmittedPolarization": "transmittedPolarization", - "detectedPolarization": "detectedPolarization" - }, - { - "sequenceIdentifier": "sequenceIdentifier 2", - "sequenceIdentifierType": "sequenceIdentifierType", - "attributeDescription": "attributeDescription", - "attributeIdentifier": [{ - "identifier": "identifier" - }], - "minValue": 9.9, - "maxValue": 9.9, - "units": "units", - "scaleFactor": 999, - "offset": 999, - "meanValue": 9.9, - "numberOfValues": 999, - "standardDeviation": 9.9, - "bitsPerValue": 999 - } - ] - }, - { - "attributeContentType": [ - "modelResult" - ] - } - ], - "imageDescription": { - "illuminationElevationAngle": 9.9, - "illuminationAzimuthAngle": 9.9, - "imagingCondition": "imagingCondition", - "imageQualityCode": { - "identifier": "identifier" - }, - "cloudCoverPercent": 9.9, - "compressionQuantity": 9, - "triangulationIndicator": true, - "radiometricCalibrationAvailable": true, - "cameraCalibrationAvailable": true, - "filmDistortionAvailable": true, - "lensDistortionAvailable": true - } - }, - { - "coverageName": "My Second Coverage", - "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "processingLevelCode": { - "identifier": "identifier" - }, - "attributeGroup": [{ - "attributeContentType": [ - "attributeContentType" - ] - }, - { - "attributeContentType": [ - "attributeContentType" - ] - } - ], - "imageDescription": { - "illuminationElevationAngle": 60.0 - } - } - ], - "resourceFormat": [ - { - "formatSpecification": { - "title": "specification 1" - }, - "amendmentNumber": "amendmentNumber", - "compressionMethod": "compressionMethod" - }, - { - "formatSpecification": { - "title": "specification 2" - }, - "amendmentNumber": "amendmentNumber", - "compressionMethod": "compressionMethod" - } - ], - "resourceMaintenance": [ + "temporalResolution": [ { - "frequency": "semi-annually", - "date": [{ - "date": "2016-10-12", - "dateType": "dateType" - }, - { - "date": "2016-10-12", - "dateType": "dateType" - } - ], - "scope": [{ - "scopeCode": "scopeCode" - }, - { - "scopeCode": "scopeCode" - } - ], - "note": [ - "note0", - "note1" - ], - "contact": [{ - "role": "custodian", - "party": [{ - "contactId": "CID005" - }] - }] + "years": 1, + "months": 8, + "days": 13 }, { - "frequency": "frequency1" + "seconds": 5 } ], - "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", "extent": [ { "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", @@ -2388,657 +1489,7 @@ ] } ] - }, - "resourceLineage": [ - { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "scope": { - "scopeCode": "scopeCode" - }, - "citation": [{ - "title": "Lineage Title 1", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - { - "title": "Lineage Title 2", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - ], - "source": [{ - "sourceId": "SRC001", - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "sourceCitation": { - "title": "Source Citation Title SRC001", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "metadataCitation": [{ - "title": "First Source Metadata Citation" - }, - { - "title": "Next Source Metadata Citation" - } - ], - "spatialResolution": { - "scaleFactor": 99999 - }, - "referenceSystem": { - "referenceSystemType": "referenceSystemType", - "referenceSystemIdentifier": { - "identifier": "identifier" - } - }, - "sourceProcessStep": [{ - "description": "description", - "timePeriod": { - "endDateTime": "2017-12-28T15:15" - } - }, - { - "description": "description", - "timePeriod": { - "endDateTime": "2017-12-28T15:16" - } - } - ], - "scope": { - "scopeCode": "scopeCode SRC001", - "scopeExtent": [{ - "temporalExtent": [{ - "timePeriod": { - "description": "publication date", - "startDateTime": "2016-11-01" - } - }] - }] - } - }, - { - "sourceId": "SRC002", - "description": "description", - "sourceCitation": { - "title": "Source Citation Title SRC002", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "scope": { - "scopeCode": "scopeCode SRC002", - "scopeExtent": [{ - "temporalExtent": [{ - "timePeriod": { - "description": "publication date", - "startDateTime": "2016-11-02" - } - }] - }] - } - } - ], - "processStep": [{ - "stepId": "stepId", - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "timePeriod": { - "id": "TimePeriod001", - "startDateTime": "2016-10-14T11:10:15.2-10:00", - "endDateTime": "2016-12-31", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "TimePeriod Identifier", - "namespace": "namespace" - }, - "periodName": [ - "periodName0", - "periodName1" - ], - "timeInterval": { - "interval": 9.9, - "units": "year" - }, - "duration": { - "months": 9 - } - }, - "processor": [{ - "role": "processor", - "party": [{ - "contactId": "CID006" - }] - }, - { - "role": "reviewer", - "party": [{ - "contactId": "CID004" - }] - } - ], - "reference": [{ - "title": "Process Step Reference" - }, - { - "title": "Another Process Step Reference" - } - ], - "scope": { - "scopeCode": "scopeCode" - } - }, - { - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "timePeriod": { - "endDateTime": "2017-12-28T15:28" - } - } - ] - }, - { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - ], - "resourceDistribution": [ - { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", - "distributor": [ - { - "contact": { - "role": "distributor", - "party": [{ - "contactId": "CID002" - }] - }, - "orderProcess": [ - { - "fees": "10.00USD", - "plannedAvailability": "2016-10-21T00:00:00", - "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "turnaround": "turnaround" - }, - { - "fees": "2.00USD" - } - ], - "transferOption": [ - { - "unitsOfDistribution": "units of distribution", - "transferSize": 9.9, - "onlineOption": [ - { - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "offlineOption": [ - { - "mediumSpecification": { - "title": "My Medium Specification Title" - }, - "density": 9.9, - "units": "units", - "numberOfVolumes": 9, - "mediumFormat": [ - "mediumFormat0", - "mediumFormat1" - ], - "note": "note", - "identifier": { - "identifier": "Medium Identifier" - } - }, - { - "mediumSpecification": { - "title": "dium specification title 1" - } - } - ], - "transferFrequency": { - "months": 9 - }, - "distributionFormat": [ - { - "formatSpecification": { - "title": "CSV" - }, - "amendmentNumber": "2.0.8-beta", - "compressionMethod": "7ZipUp", - "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" - }, - { - "formatSpecification": { - "title": "format specification title 1" - } - } - ] - }, - { - "transferSize": 10.9, - "onlineOption": [{ - "uri": "http://ISO.uri/adiwg/3" - }], - "distributionFormat": [{ - "formatSpecification": { - "title": "Microsoft Excel" - } - }] - } - ] - }, - { - "contact": { - "role": "distributor", - "party": [{ - "contactId": "CID003" - }] - } - } - ] - } - ], - "associatedResource": [ - { - "resourceType": [{ - "type": "modelHardcopy", - "name": "Hardcopy of Model" - }, - { - "type": "videoDigital", - "name": "Video of the Making" - } - ], - "associationType": "partOfSeamlessDatabase", - "initiativeType": "investigation", - "resourceCitation": { - "title": "Resource Citation Title" - }, - "metadataCitation": { - "title": "Metadata Citation Title" - } - }, - { - "resourceType": [{ - "type": "type0", - "name": "name0" - }, - { - "type": "type1", - "name": "name1" - } - ], - "associationType": "associationType", - "initiativeType": "initiativeType", - "resourceCitation": { - "title": "title" - }, - "metadataCitation": { - "title": "title" - } - } - ], - "additionalDocumentation": [ - { - "resourceType": [{ - "type": "webService", - "name": "ADIwg API" - }, - { - "type": "databaseDigital", - "name": "DMV Data" - } - ], - "citation": [{ - "title": "A Good Additional Document" - }, - { - "title": "A More Better Additional Document" - } - ] - }, - { - "resourceType": [{ - "type": "multimediaHardcopy", - "name": "Multi-Media Hard-Copy" - }, - { - "type": "physicalObject", - "name": "Lab Specimen" - } - ], - "citation": [{ - "title": "A Much Mo Betha Additional Document" - }] - } - ], - "funding": [ - { - "allocation": [{ - "sourceAllocationId": "A123FW009", - "amount": 9999.99, - "currency": "USD", - "sourceId": "CID005", - "recipientId": "CID006", - "matching": true, - "onlineResource": [{ - "uri": "http://adiwg.org" - }], - "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "amount": 999.99, - "currency": "CAD" - } - ], - "timePeriod": { - "startDateTime": "2016-10-14T11:10:15.2-10:00", - "endDateTime": "2016-12-31", - "id": "TimePeriod001", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "TimePeriod Identifier", - "namespace": "namespace" - }, - "periodName": [ - "periodName0", - "periodName1" - ], - "timeInterval": { - "interval": 9.9, - "units": "year" - }, - "duration": { - "months": 9 - } - } - }, - { - "allocation": [{ - "amount": 9999.99, - "currency": "EUR" - }], - "timePeriod": { - "startDateTime": "2016-10-14" - } - } - ] - }, - "dataDictionary": [ - { - "citation": { - "title": "title" - }, - "subject": [ - "subject0", - "subject1" - ], - "recommendedUse": [ - "use0", - "use1" - ], - "locale": [{ - "language": "language0", - "country": "country0", - "characterSet": "characterSet0" - }, - { - "language": "language1", - "country": "country1", - "characterSet": "characterSet1" - } - ], - "responsibleParty": { - "role": "author", - "party": [{ - "contactId": "CID001" - }] - }, - "dictionaryFunctionalLanguage": "UML", - "dictionaryIncludedWithResource": true, - "domain": [{ - "domainId": "DID001", - "commonName": "commonName", - "codeName": "codeName", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "domainItem": [{ - "name": "name0", - "value": "value0", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }, - { - "name": "name1", - "value": "value1", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }, - { - "name": "name2", - "value": "value2", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - } - ] - }, - { - "domainId": "DID002", - "commonName": "commonName", - "codeName": "codeName", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "domainItem": [{ - "name": "name0", - "value": "value0", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }] - } - ], - "entity": [{ - "entityId": "entityId0", - "commonName": "commonName", - "codeName": "codeName", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "entityReference": [{ - "title": "entity reference citation 0" - }], - "primaryKeyAttributeCodeName": [ - "primaryAttribute0", - "primaryAttribute1" - ], - "index": [{ - "codeName": "codeName0", - "allowDuplicates": false, - "attributeCodeName": [ - "attributeCodeName00", - "attributeCodeName01" - ] - }, - { - "codeName": "codeName1", - "allowDuplicates": true, - "attributeCodeName": [ - "attributeCodeName1" - ] - } - ], - "attribute": [{ - "commonName": "Department ID", - "codeName": "codeName", - "alias": [ - "alias0", - "alias1" - ], - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "attributeReference": { - "title": "attribute reference citation Department ID" - }, - "dataType": "dataType", - "allowNull": true, - "mustBeUnique": false, - "units": "units", - "domainId": "DID001", - "minValue": "minValue", - "maxValue": "maxValue" - }, - { - "commonName": "Employee ID", - "codeName": "empId", - "alias": [ - "employeeId", - "employeeNumber" - ], - "definition": "Numeric code to uniquely identify an employee of Acme Oil", - "attributeReference": { - "title": "attribute reference citation for Employee ID" - }, - "dataType": "numeric", - "allowNull": false, - "mustBeUnique": true, - "units": "meters", - "domainId": "DID002", - "minValue": "1000000", - "maxValue": "5000000" - } - ], - "foreignKey": [{ - "localAttributeCodeName": [ - "localAttributeCodeName0", - "localAttributeCodeName1" - ], - "referencedEntityCodeName": "referencedEntityCodeName", - "referencedAttributeCodeName": [ - "referencedAttributeCodeName0", - "referencedAttributeCodeName1" - ] - }, - { - "localAttributeCodeName": [ - "employeeID" - ], - "referencedEntityCodeName": "EMPLOYEE", - "referencedAttributeCodeName": [ - "employeeID" - ] - } - ] - }, - { - "entityId": "entityId1", - "commonName": "commonName", - "codeName": "codeName", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "entityReference": [{ - "title": "entity reference citation 1" - }], - "primaryKeyAttributeCodeName": [ - "primaryAttribute" - ], - "attribute": [{ - "commonName": "Supervisor", - "codeName": "codeName", - "alias": [ - "alias0", - "alias1" - ], - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "attributeReference": { - "title": "attribute reference citation for supervisor" - }, - "dataType": "dataType", - "allowNull": true, - "mustBeUnique": false, - "units": "units", - "domainId": "DID001", - "minValue": "minValue", - "maxValue": "maxValue" - }, - { - "commonName": "Grade", - "codeName": "empId", - "alias": [ - "employeeId", - "employeeNumber" - ], - "definition": "Numeric code to uniquely identify an employee of Acme Oil", - "attributeReference": { - "title": "attribute reference citation for grade" - }, - "dataType": "numeric", - "allowNull": false, - "mustBeUnique": true, - "units": "meters", - "domainId": "DID002", - "minValue": "1000000", - "maxValue": "5000000" - } - ] - } - ] - }, - { - "citation": { - "title": "My Dictionary Title" - }, - "subject": [ - "birds", - "loons" - ], - "recommendedUse": [ - "Reconstruct database" - ], - "locale": [{ - "language": "eng", - "country": "USA", - "characterSet": "UTF-8" - }], - "responsibleParty": { - "role": "author", - "party": [{ - "contactId": "CID006" - }] - }, - "dictionaryFunctionalLanguage": "MSSQL", - "dictionaryIncludedWithResource": false - } - ], - "metadataRepository": [ - { - "repository": "USGS ScienceBase", - "metadataStandard": "FGDC" - }, - { - "repository": "data.gov", - "metadataStandard": "iso19115_2" } - ] + } } \ No newline at end of file From eb95e9ea60554d2dc40b0893ce394cf88d07be43 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 10:55:57 -0600 Subject: [PATCH 15/16] Update Rights Unit Test & Writer --- .../dcat_us/sections/dcat_us_dcat_us.rb | 3 +- .../dcat_us/sections/dcat_us_rights.rb | 28 +- test/writers/dcat_us/tc_dcat_us_rights.rb | 24 + test/writers/dcat_us/testData/rights.json | 1216 +++++++++++++++++ 4 files changed, 1256 insertions(+), 15 deletions(-) create mode 100644 test/writers/dcat_us/tc_dcat_us_rights.rb create mode 100644 test/writers/dcat_us/testData/rights.json diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb index dc6b10704..a754a417f 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb @@ -30,12 +30,11 @@ def self.build(intObj, responseObj) accessLevel = AccessLevel.build(intObj) identifier = Identifier.build(intObj) distribution = Distribution.build(intObj) - rights = Rights.build(intObj) + rights = Rights.build(intObj, accessLevel) spatial = Spatial.build(intObj) temporal = Temporal.build(intObj) license = License.build(intObj) - @Namespace = ADIWG::Mdtranslator::Writers::Dcat_us Jbuilder.new do |json| diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb index b41cb557f..5ea78e5c9 100644 --- a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb @@ -4,24 +4,26 @@ module Writers module Dcat_us module Rights - def self.build(intObj) + def self.build(intObj, accessLevel) resourceInfo = intObj.dig(:metadata, :resourceInfo) - constraint = resourceInfo&.dig(:constraint) - accessLevel = constraint&.dig(:accessLevel) - + constraints = resourceInfo&.dig(:constraints) + if accessLevel && ["restricted public", "non-public"].include?(accessLevel) - statement = constraint.dig(:releasibility, :statement) - disseminationConstraints = constraint.dig(:releasibility, :disseminationConstraint) - - if disseminationConstraints - combinedConstraints = disseminationConstraints.join(" ") + constraints&.each do |constraint| + if constraint[:type] == "use" + statement = constraint.dig(:releasability, :statement) + disseminationConstraints = constraint.dig(:releasability, :disseminationConstraint) + + if statement && disseminationConstraints + combinedConstraints = disseminationConstraints.join(" ") + return "#{statement} #{combinedConstraints}".strip + end + end end - - return "#{statement} #{combinedConstraints}".strip end - + nil - end + end end end diff --git a/test/writers/dcat_us/tc_dcat_us_rights.rb b/test/writers/dcat_us/tc_dcat_us_rights.rb new file mode 100644 index 000000000..4fbc82ec2 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_rights.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsRights < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('rights.json') + + def test_rights + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['dcat:rights'] + + expect = 'Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. restricted unrestricted' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/testData/rights.json b/test/writers/dcat_us/testData/rights.json new file mode 100644 index 000000000..cc2b7fd94 --- /dev/null +++ b/test/writers/dcat_us/testData/rights.json @@ -0,0 +1,1216 @@ +{ + "schema": { + "name": "mdJson", + "version": "2.6.0" + }, + "contact": [ + { + "contactId": "CID001", + "isOrganization": false, + "name": "Stan Smith", + "positionName": "Associate - retired", + "memberOfOrganization": [ + "CID002", + "CID003" + ], + "logoGraphic": [ + { + "fileName": "fileName0", + "fileDescription": "fileDescription0", + "fileType": "fileType0", + "fileConstraint": [{ + "type": "use", + "useLimitation": [ + "useLimitation0", + "useLimitation1" + ] + }, + { + "type": "legal", + "legal": { + "useConstraint": [ + "useConstraint0", + "useConstraint1" + ], + "accessConstraint": [ + "accessConstraint0", + "accessConstraint1" + ], + "otherConstraint": [ + "otherConstraint0", + "otherConstraint1" + ] + } + }, + { + "type": "security", + "security": { + "classification": "classification", + "classificationSystem": "classificationSystem", + "userNote": "userNote", + "handlingDescription": "handlingDescription" + } + } + ], + "fileUri": [{ + "uri": "http://ISO.uri/adiwg/0" + }] + }, + { + "fileName": "fileName1", + "fileDescription": "fileDescription1", + "fileType": "fileType1" + }, + { + "fileName": "fileName2" + } + ], + "phone": [ + { + "phoneName": "mobile", + "phoneNumber": "111-111-1111", + "service": [ + "voice", + "sms", + "message" + ] + }, + { + "phoneName": "office", + "phoneNumber": "222-222-2222", + "service": [ + "voice", + "message" + ] + } + ], + "address": [ + { + "addressType": [ + "mailing", + "physical" + ], + "description": "work location", + "deliveryPoint": [ + "address line 1", + "address line 2" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + }, + { + "addressType": [ + "mailing" + ], + "description": "telework location", + "deliveryPoint": [ + "address line 3" + ], + "city": "city", + "administrativeArea": "state", + "postalCode": "zip", + "country": "country" + } + ], + "electronicMailAddress": [ + "e.mail@address.com1", + "e.mail@address.com2" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/1", + "protocol": "protocol", + "name": "name", + "description": "description", + "function": "function" + }, + { + "uri": "http://ISO.uri/adiwg/2" + } + ], + "hoursOfService": [ + "hoursOfService1", + "hoursOfService2" + ], + "contactInstructions": "contactInstructions", + "contactType": "individual" + }, + { + "contactId": "CID002", + "isOrganization": true, + "name": "US Geological Survey", + "memberOfOrganization": [ + "CID005" + ], + "logoGraphic": [ + { + "fileName": "fileName" + }], + "phone": [ + { + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [ + { + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }], + "electronicMailAddress": [ + "e.mail@address.com2" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/2" + }], + "hoursOfService": [ + "hoursOfService" + ], + "contactInstructions": "contactInstructions", + "contactType": "federal" + }, + { + "contactId": "CID003", + "isOrganization": true, + "name": "Arctic Landscape Conservation Cooperative", + "contactType": "federal", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID004", + "isOrganization": false, + "name": "Joshua Bradley", + "positionName": "Data Manager", + "memberOfOrganization": [ + "CID003" + ], + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + }, + { + "contactId": "CID005", + "isOrganization": true, + "name": "US Department of the Interior", + "contactType": "federal" + }, + { + "contactId": "CID006", + "isOrganization": false, + "name": "Dennis Walworth", + "memberOfOrganization": [ + "CID002" + ], + "contactType": "individual", + "phone": [{ + "phoneName": "single service", + "phoneNumber": "111-111-1111", + "service": [ + "voice" + ] + }], + "address": [{ + "addressType": [ + "addressType" + ], + "city": "Anchorage", + "administrativeArea": "AK", + "postalCode": "99508" + }] + } + ], + "metadata": { + "metadataInfo": { + "metadataIdentifier": { + "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", + "namespace": "https://www.uuidgenerator.net/", + "version": "version 1.0", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "authority": { + "title": "Metadata Identifier Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ] + } + }, + "parentMetadata": { + "title": "Metadata Authority Title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "roleExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "defaultMetadataLocale": { + "language": "language", + "country": "country", + "characterSet": "characterSet" + }, + "otherMetadataLocale": [ + { + "language": "language0", + "country": "country0", + "characterSet": "characterSet0" + }, + { + "language": "language1", + "country": "country1", + "characterSet": "characterSet1" + } + ], + "metadataContact": [ + { + "role": "author", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "custodian", + "party": [{ + "contactId": "CID002" + }] + } + ], + "metadataDate": [ + { + "date": "2016-10-31", + "dateType": "dateType" + }, + { + "date": "2017-02-16", + "dateType": "creation" + }, + { + "date": "2016-10-31", + "dateType": "nextUpdate" + } + ], + "metadataOnlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "metadataMaintenance": { + "frequency": "monthly", + "date": [{ + "date": "2016-10-12", + "dateType": "dateType00" + }, + { + "date": "2017-02-10", + "dateType": "nextUpdate" + } + ], + "scope": [{ + "scopeCode": "dataset", + "scopeExtent": [{ + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "temporalExtent": [{ + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.200-10:00" + } + }, + { + "timePeriod": { + "startDateTime": "2016-10-24T11:10:15.200-10:00" + } + } + ] + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": false, + "identifier": { + "identifier": "identifier" + }, + "boundingBox": { + "westLongitude": -140.0, + "eastLongitude": -120.0, + "southLatitude": 49.0, + "northLatitude": 70.0 + }, + "geographicElement": [{ + "type": "Point", + "coordinates": [ + 100.0, + 0.0 + ] + }, + { + "type": "LineString", + "coordinates": [ + [ + 100.0, + 0.0 + ], + [ + 101.0, + 1.0 + ] + ] + }, + { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + } + ] + }] + } + ], + "scopeDescription": [{ + "dataset": "CUSTOMER", + "attributes": "customer_id, invoice" + }, + { + "dataset": "dataset", + "attributes": "attributes", + "features": "features", + "other": "other" + } + ] + }, + { + "scopeCode": "fieldSeason" + } + ], + "note": [ + "note00", + "note01" + ], + "contact": [{ + "role": "processor", + "party": [{ + "contactId": "CID004" + }] + }, + { + "role": "contributor", + "party": [{ + "contactId": "CID006" + }] + } + ] + }, + "alternateMetadataReference": [ + { + "title": "alternate metadata FGDC" + }, + { + "title": "alternate metadata NetCDF" + } + ], + "metadataStatus": "notAccepted" + }, + "resourceInfo": { + "resourceType": [ + { + "type": "tableDigital", + "name": "My Table Name" + }, + { + "type": "website", + "name": "My Website Name" + } + ], + "citation": { + "title": "Main Resource Title - Citation", + "alternateTitle": [ + "How I spent my summer", + "Research under the midnight-sun" + ], + "date": [ + { + "date": "2017-06-13", + "dateType": "publication" + }, + { + "date": "2017-06-22T16:15:14", + "dateType": "revision" + } + ], + "edition": "edition", + "responsibleParty": [ + { + "role": "principalInvestigator", + "roleExtent": [ + { + "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + }, + { + "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "geographicExtent": [{ + "containsData": true, + "geographicElement": [{ + "type": "Feature", + "id": "polygon-75", + "bbox": [-10.0, -10.0, + 10.0, + 10.0 + ], + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [-161.74223, + 67.663378 + ], + [-161.440345, + 67.630173 + ], + [-161.294611, + 67.656257 + ], + [-161.228063, + 67.625736 + ], + [-161.247712, + 67.585909 + ], + [-161.334662, + 67.591324 + ], + [-161.566245, + 67.491263 + ], + [-161.812338, + 67.455299 + ], + [-161.825019, + 67.40123 + ], + [-162.128301, + 67.414364 + ], + [-162.167825, + 67.363047 + ], + [-162.383403, + 67.293329 + ], + [-162.633432, + 67.272237 + ], + [-162.645587, + 67.356665 + ], + [-162.369023, + 67.455264 + ], + [-162.287324, + 67.551235 + ], + [-162.171139, + 67.559356 + ], + [-161.99344, + 67.646806 + ], + [-161.857964, + 67.620329 + ], + [-161.769431, + 67.629407 + ], + [-161.74223, + 67.663378 + ] + ] + ] + }, + "properties": { + "description": "Agashashok River site", + "featureName": [ + "Agashashok River", + "Camp Mosquito" + ], + "identifier": [{ + "identifier": "AGAR" + }, + { + "identifier": "Kup25" + } + ], + "featureScope": "collectionSite", + "acquisitionMethod": "butterfly net", + "customField": "not in schema", + "customArray": [ + "string 1", + "string 2" + ] + } + }] + }] + } + ], + "party": [ + { + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + }, + { + "role": "originator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [ + { + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [ + { + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + }, + "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", + "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", + "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "resourceUsage": [ + { + "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "temporalExtent": [ + { + "timeInstant": { + "dateTime": "2016-10-24T11:10:15.2-10:00", + "id": "instant_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "HighTide", + "namespace": "namespace" + }, + "instantName": [ + "instantName 00", + "instantName 01" + ] + } + }, + { + "timePeriod": { + "id": "period_001", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "SlackTide", + "namespace": "namespace" + }, + "periodName": [ + "periodName 00", + "periodName 01" + ], + "startDateTime": "2017", + "endDateTime": "2018", + "timeInterval": { + "interval": 9, + "units": "month" + }, + "duration": { + "months": 9 + } + } + }, + { + "timeInstant": { + "dateTime": "2017-03-25T23:10:15", + "id": "instant_002", + "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "identifier": { + "identifier": "LowTide", + "namespace": "namespace", + "version": "version", + "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", + "authority": { + "title": "title", + "alternateTitle": [ + "alternateTitle0", + "alternateTitle1" + ], + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ], + "edition": "edition", + "responsibleParty": [{ + "role": "principalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "funder", + "party": [{ + "contactId": "CID003", + "organizationMembers": [ + "CID004", + "CID001" + ] + }] + } + ], + "presentationForm": [ + "presentationForm0", + "presentationForm1" + ], + "identifier": [{ + "identifier": "identifier0" + }, + { + "identifier": "identifier1" + } + ], + "series": { + "seriesName": "seriesName", + "seriesIssue": "seriesIssue", + "issuePage": "issuePage" + }, + "otherCitationDetails": [ + "otherCitationDetails0", + "otherCitationDetails1" + ], + "onlineResource": [{ + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ], + "graphic": [{ + "fileName": "fileName" + }, + { + "fileName": "fileName" + } + ] + } + }, + "instantName": [ + "instantName 20", + "instantName 21" + ] + } + } + ], + "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "limitationResponse": [ + "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", + "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." + ], + "documentedIssue": { + "title": "My Documented Issue", + "date": [{ + "date": "2016-10-13", + "dateType": "dateType0" + }, + { + "date": "2016-10-22T16:15:14", + "dateType": "dateType1" + } + ] + }, + "additionalDocumentation": [ + { + "title": "title1" + }, + { + "title": "title2" + } + ], + "userContactInfo": [ + { + "role": "administrator", + "party": [{ + "contactId": "CID006" + }] + }, + { + "role": "coPrincipalInvestigator", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID003" + } + ] + } + ] + }, + { + "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." + } + ], + "status": [ + "incomplete", + "suspended" + ], + "pointOfContact": [ + { + "role": "pointOfContact", + "party": [{ + "contactId": "CID001" + }, + { + "contactId": "CID006" + } + ] + }, + { + "role": "principalInvestigator", + "party": [{ + "contactId": "CID004" + }] + } + ], + "defaultResourceLocale": { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }, + "constraint": [ + { + "type": "use", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "reference": [{ + "title": "title0" + }, + { + "title": "title1" + } + ], + "releasability": { + "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "addressee": [{ + "role": "client", + "party": [{ + "contactId": "CID001" + }] + }, + { + "role": "stakeholder", + "party": [{ + "contactId": "CID002" + }, + { + "contactId": "CID003" + } + ] + } + ], + "disseminationConstraint": [ + "restricted", + "unrestricted" + ] + }, + "responsibleParty": [{ + "role": "coAuthor", + "party": [{ + "contactId": "CID006" + }, + { + "contactId": "CID004" + } + ] + }, + { + "role": "rightsHolder", + "party": [{ + "contactId": "CID005" + }] + } + ] + }, + { + "type": "legal", + "useLimitation": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." + ], + "scope": { + "scopeCode": "scopeCode" + }, + "graphic": [{ + "fileName": "fileName0" + }, + { + "fileName": "fileName1" + } + ], + "legal": { + "useConstraint": [ + "threatenedOrEndangered", + "otherRestrictions" + ], + "accessConstraint": [ + "otherRestrictions", + "non-public", + "in-confidence" + ], + "otherConstraint": [ + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." + ] + } + }, + { + "type": "security", + "security": { + "classification": "secret", + "classificationSystem": "Classification System Name", + "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", + "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." + } + } + ] + } + } + } + \ No newline at end of file From 149cc89c51a4d79568b848727c945819d68e0be0 Mon Sep 17 00:00:00 2001 From: Johnathan Aspinwall Date: Thu, 7 Sep 2023 11:06:06 -0600 Subject: [PATCH 16/16] Remove Sample Files --- test/writers/dcat_us/tc_dcat_us_SAMPLE.rb | 24 - test/writers/dcat_us/testData/SAMPLE.json | 3044 --------------------- 2 files changed, 3068 deletions(-) delete mode 100644 test/writers/dcat_us/tc_dcat_us_SAMPLE.rb delete mode 100644 test/writers/dcat_us/testData/SAMPLE.json diff --git a/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb b/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb deleted file mode 100644 index c577675eb..000000000 --- a/test/writers/dcat_us/tc_dcat_us_SAMPLE.rb +++ /dev/null @@ -1,24 +0,0 @@ -require 'minitest/autorun' -require 'json' -require 'adiwg-mdtranslator' -require_relative 'dcat_us_test_parent' - -class TestWriterDcatUsSAMPLE < TestWriterDcatUsParent - - # get input JSON for test - @@jsonIn = TestWriterDcatUsParent.getJson('SAMPLE.json') - - def test_sample - # metadata = ADIWG::Mdtranslator.translate( - # file: @@jsonIn, reader: 'mdJson', validate: 'normal', - # writer: 'dcat_us', showAllTags: false) - - # hJsonOut = JSON.parse(metadata[:writerOutput]) - # got = hJsonOut['dcat:SAMPLE'] - - # assert_equal '', got - - assert true - end - -end diff --git a/test/writers/dcat_us/testData/SAMPLE.json b/test/writers/dcat_us/testData/SAMPLE.json deleted file mode 100644 index 6c5a55402..000000000 --- a/test/writers/dcat_us/testData/SAMPLE.json +++ /dev/null @@ -1,3044 +0,0 @@ -{ - "schema": { - "name": "mdJson", - "version": "2.6.0" - }, - "contact": [ - { - "contactId": "CID001", - "isOrganization": false, - "name": "Stan Smith", - "positionName": "Associate - retired", - "memberOfOrganization": [ - "CID002", - "CID003" - ], - "logoGraphic": [ - { - "fileName": "fileName0", - "fileDescription": "fileDescription0", - "fileType": "fileType0", - "fileConstraint": [{ - "type": "use", - "useLimitation": [ - "useLimitation0", - "useLimitation1" - ] - }, - { - "type": "legal", - "legal": { - "useConstraint": [ - "useConstraint0", - "useConstraint1" - ], - "accessConstraint": [ - "accessConstraint0", - "accessConstraint1" - ], - "otherConstraint": [ - "otherConstraint0", - "otherConstraint1" - ] - } - }, - { - "type": "security", - "security": { - "classification": "classification", - "classificationSystem": "classificationSystem", - "userNote": "userNote", - "handlingDescription": "handlingDescription" - } - } - ], - "fileUri": [{ - "uri": "http://ISO.uri/adiwg/0" - }] - }, - { - "fileName": "fileName1", - "fileDescription": "fileDescription1", - "fileType": "fileType1" - }, - { - "fileName": "fileName2" - } - ], - "phone": [ - { - "phoneName": "mobile", - "phoneNumber": "111-111-1111", - "service": [ - "voice", - "sms", - "message" - ] - }, - { - "phoneName": "office", - "phoneNumber": "222-222-2222", - "service": [ - "voice", - "message" - ] - } - ], - "address": [ - { - "addressType": [ - "mailing", - "physical" - ], - "description": "work location", - "deliveryPoint": [ - "address line 1", - "address line 2" - ], - "city": "city", - "administrativeArea": "state", - "postalCode": "zip", - "country": "country" - }, - { - "addressType": [ - "mailing" - ], - "description": "telework location", - "deliveryPoint": [ - "address line 3" - ], - "city": "city", - "administrativeArea": "state", - "postalCode": "zip", - "country": "country" - } - ], - "electronicMailAddress": [ - "e.mail@address.com1", - "e.mail@address.com2" - ], - "onlineResource": [ - { - "uri": "http://ISO.uri/adiwg/1", - "protocol": "protocol", - "name": "name", - "description": "description", - "function": "function" - }, - { - "uri": "http://ISO.uri/adiwg/2" - } - ], - "hoursOfService": [ - "hoursOfService1", - "hoursOfService2" - ], - "contactInstructions": "contactInstructions", - "contactType": "individual" - }, - { - "contactId": "CID002", - "isOrganization": true, - "name": "US Geological Survey", - "memberOfOrganization": [ - "CID005" - ], - "logoGraphic": [ - { - "fileName": "fileName" - }], - "phone": [ - { - "phoneName": "single service", - "phoneNumber": "111-111-1111", - "service": [ - "voice" - ] - }], - "address": [ - { - "addressType": [ - "addressType" - ], - "city": "Anchorage", - "administrativeArea": "AK", - "postalCode": "99508" - }], - "electronicMailAddress": [ - "e.mail@address.com2" - ], - "onlineResource": [{ - "uri": "http://ISO.uri/adiwg/2" - }], - "hoursOfService": [ - "hoursOfService" - ], - "contactInstructions": "contactInstructions", - "contactType": "federal" - }, - { - "contactId": "CID003", - "isOrganization": true, - "name": "Arctic Landscape Conservation Cooperative", - "contactType": "federal", - "phone": [{ - "phoneName": "single service", - "phoneNumber": "111-111-1111", - "service": [ - "voice" - ] - }], - "address": [{ - "addressType": [ - "addressType" - ], - "city": "Anchorage", - "administrativeArea": "AK", - "postalCode": "99508" - }] - }, - { - "contactId": "CID004", - "isOrganization": false, - "name": "Joshua Bradley", - "positionName": "Data Manager", - "memberOfOrganization": [ - "CID003" - ], - "phone": [{ - "phoneName": "single service", - "phoneNumber": "111-111-1111", - "service": [ - "voice" - ] - }], - "address": [{ - "addressType": [ - "addressType" - ], - "city": "Anchorage", - "administrativeArea": "AK", - "postalCode": "99508" - }] - }, - { - "contactId": "CID005", - "isOrganization": true, - "name": "US Department of the Interior", - "contactType": "federal" - }, - { - "contactId": "CID006", - "isOrganization": false, - "name": "Dennis Walworth", - "memberOfOrganization": [ - "CID002" - ], - "contactType": "individual", - "phone": [{ - "phoneName": "single service", - "phoneNumber": "111-111-1111", - "service": [ - "voice" - ] - }], - "address": [{ - "addressType": [ - "addressType" - ], - "city": "Anchorage", - "administrativeArea": "AK", - "postalCode": "99508" - }] - } - ], - "metadata": { - "metadataInfo": { - "metadataIdentifier": { - "identifier": "e9e82406-8308-4231-98e3-8b70fd438ada", - "namespace": "https://www.uuidgenerator.net/", - "version": "version 1.0", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "Metadata Identifier Authority Title", - "alternateTitle": [ - "alternateTitle0", - "alternateTitle1" - ] - } - }, - "parentMetadata": { - "title": "Metadata Authority Title", - "alternateTitle": [ - "alternateTitle0", - "alternateTitle1" - ], - "date": [{ - "date": "2016-10-13", - "dateType": "dateType0" - }, - { - "date": "2016-10-22T16:15:14", - "dateType": "dateType1" - } - ], - "edition": "edition", - "responsibleParty": [{ - "role": "principalInvestigator", - "roleExtent": [{ - "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "geographicExtent": [{ - "containsData": true, - "geographicElement": [{ - "type": "Feature", - "id": "polygon-75", - "bbox": [-10.0, -10.0, - 10.0, - 10.0 - ], - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [-161.74223, - 67.663378 - ], - [-161.440345, - 67.630173 - ], - [-161.294611, - 67.656257 - ], - [-161.228063, - 67.625736 - ], - [-161.247712, - 67.585909 - ], - [-161.334662, - 67.591324 - ], - [-161.566245, - 67.491263 - ], - [-161.812338, - 67.455299 - ], - [-161.825019, - 67.40123 - ], - [-162.128301, - 67.414364 - ], - [-162.167825, - 67.363047 - ], - [-162.383403, - 67.293329 - ], - [-162.633432, - 67.272237 - ], - [-162.645587, - 67.356665 - ], - [-162.369023, - 67.455264 - ], - [-162.287324, - 67.551235 - ], - [-162.171139, - 67.559356 - ], - [-161.99344, - 67.646806 - ], - [-161.857964, - 67.620329 - ], - [-161.769431, - 67.629407 - ], - [-161.74223, - 67.663378 - ] - ] - ] - }, - "properties": { - "description": "Agashashok River site", - "featureName": [ - "Agashashok River", - "Camp Mosquito" - ], - "identifier": [{ - "identifier": "AGAR" - }, - { - "identifier": "Kup25" - } - ], - "featureScope": "collectionSite", - "acquisitionMethod": "butterfly net", - "customField": "not in schema", - "customArray": [ - "string 1", - "string 2" - ] - } - }] - }] - } - ], - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "funder", - "party": [{ - "contactId": "CID003", - "organizationMembers": [ - "CID004", - "CID001" - ] - }] - } - ], - "presentationForm": [ - "presentationForm0", - "presentationForm1" - ], - "identifier": [{ - "identifier": "identifier0" - }, - { - "identifier": "identifier1" - } - ], - "series": { - "seriesName": "seriesName", - "seriesIssue": "seriesIssue", - "issuePage": "issuePage" - }, - "otherCitationDetails": [ - "otherCitationDetails0", - "otherCitationDetails1" - ], - "onlineResource": [{ - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "graphic": [{ - "fileName": "fileName" - }, - { - "fileName": "fileName" - } - ] - }, - "defaultMetadataLocale": { - "language": "language", - "country": "country", - "characterSet": "characterSet" - }, - "otherMetadataLocale": [ - { - "language": "language0", - "country": "country0", - "characterSet": "characterSet0" - }, - { - "language": "language1", - "country": "country1", - "characterSet": "characterSet1" - } - ], - "metadataContact": [ - { - "role": "author", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID004" - }, - { - "contactId": "CID006" - } - ] - }, - { - "role": "custodian", - "party": [{ - "contactId": "CID002" - }] - } - ], - "metadataDate": [ - { - "date": "2016-10-31", - "dateType": "dateType" - }, - { - "date": "2017-02-16", - "dateType": "creation" - }, - { - "date": "2016-10-31", - "dateType": "nextUpdate" - } - ], - "metadataOnlineResource": [ - { - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "metadataMaintenance": { - "frequency": "monthly", - "date": [{ - "date": "2016-10-12", - "dateType": "dateType00" - }, - { - "date": "2017-02-10", - "dateType": "nextUpdate" - } - ], - "scope": [{ - "scopeCode": "dataset", - "scopeExtent": [{ - "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "temporalExtent": [{ - "timeInstant": { - "dateTime": "2016-10-24T11:10:15.200-10:00" - } - }, - { - "timePeriod": { - "startDateTime": "2016-10-24T11:10:15.200-10:00" - } - } - ] - }, - { - "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "geographicExtent": [{ - "containsData": false, - "identifier": { - "identifier": "identifier" - }, - "boundingBox": { - "westLongitude": -140.0, - "eastLongitude": -120.0, - "southLatitude": 49.0, - "northLatitude": 70.0 - }, - "geographicElement": [{ - "type": "Point", - "coordinates": [ - 100.0, - 0.0 - ] - }, - { - "type": "LineString", - "coordinates": [ - [ - 100.0, - 0.0 - ], - [ - 101.0, - 1.0 - ] - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [-161.74223, - 67.663378 - ], - [-161.440345, - 67.630173 - ], - [-161.294611, - 67.656257 - ], - [-161.228063, - 67.625736 - ], - [-161.247712, - 67.585909 - ], - [-161.334662, - 67.591324 - ], - [-161.566245, - 67.491263 - ], - [-161.812338, - 67.455299 - ], - [-161.825019, - 67.40123 - ], - [-162.128301, - 67.414364 - ], - [-162.167825, - 67.363047 - ], - [-162.383403, - 67.293329 - ], - [-162.633432, - 67.272237 - ], - [-162.645587, - 67.356665 - ], - [-162.369023, - 67.455264 - ], - [-162.287324, - 67.551235 - ], - [-162.171139, - 67.559356 - ], - [-161.99344, - 67.646806 - ], - [-161.857964, - 67.620329 - ], - [-161.769431, - 67.629407 - ], - [-161.74223, - 67.663378 - ] - ] - ] - } - ] - }] - } - ], - "scopeDescription": [{ - "dataset": "CUSTOMER", - "attributes": "customer_id, invoice" - }, - { - "dataset": "dataset", - "attributes": "attributes", - "features": "features", - "other": "other" - } - ] - }, - { - "scopeCode": "fieldSeason" - } - ], - "note": [ - "note00", - "note01" - ], - "contact": [{ - "role": "processor", - "party": [{ - "contactId": "CID004" - }] - }, - { - "role": "contributor", - "party": [{ - "contactId": "CID006" - }] - } - ] - }, - "alternateMetadataReference": [ - { - "title": "alternate metadata FGDC" - }, - { - "title": "alternate metadata NetCDF" - } - ], - "metadataStatus": "notAccepted" - }, - "resourceInfo": { - "resourceType": [ - { - "type": "tableDigital", - "name": "My Table Name" - }, - { - "type": "website", - "name": "My Website Name" - } - ], - "citation": { - "title": "Main Resource Title - Citation", - "alternateTitle": [ - "How I spent my summer", - "Research under the midnight-sun" - ], - "date": [ - { - "date": "2017-06-13", - "dateType": "publication" - }, - { - "date": "2017-06-22T16:15:14", - "dateType": "revision" - } - ], - "edition": "edition", - "responsibleParty": [ - { - "role": "principalInvestigator", - "roleExtent": [ - { - "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "geographicExtent": [{ - "containsData": true, - "geographicElement": [{ - "type": "Feature", - "id": "polygon-75", - "bbox": [-10.0, -10.0, - 10.0, - 10.0 - ], - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [-161.74223, - 67.663378 - ], - [-161.440345, - 67.630173 - ], - [-161.294611, - 67.656257 - ], - [-161.228063, - 67.625736 - ], - [-161.247712, - 67.585909 - ], - [-161.334662, - 67.591324 - ], - [-161.566245, - 67.491263 - ], - [-161.812338, - 67.455299 - ], - [-161.825019, - 67.40123 - ], - [-162.128301, - 67.414364 - ], - [-162.167825, - 67.363047 - ], - [-162.383403, - 67.293329 - ], - [-162.633432, - 67.272237 - ], - [-162.645587, - 67.356665 - ], - [-162.369023, - 67.455264 - ], - [-162.287324, - 67.551235 - ], - [-162.171139, - 67.559356 - ], - [-161.99344, - 67.646806 - ], - [-161.857964, - 67.620329 - ], - [-161.769431, - 67.629407 - ], - [-161.74223, - 67.663378 - ] - ] - ] - }, - "properties": { - "description": "Agashashok River site", - "featureName": [ - "Agashashok River", - "Camp Mosquito" - ], - "identifier": [{ - "identifier": "AGAR" - }, - { - "identifier": "Kup25" - } - ], - "featureScope": "collectionSite", - "acquisitionMethod": "butterfly net", - "customField": "not in schema", - "customArray": [ - "string 1", - "string 2" - ] - } - }] - }] - } - ], - "party": [ - { - "contactId": "CID001" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "funder", - "party": [{ - "contactId": "CID003", - "organizationMembers": [ - "CID004", - "CID001" - ] - }] - }, - { - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - } - ], - "presentationForm": [ - "presentationForm0", - "presentationForm1" - ], - "identifier": [ - { - "identifier": "identifier0" - }, - { - "identifier": "identifier1" - } - ], - "series": { - "seriesName": "seriesName", - "seriesIssue": "seriesIssue", - "issuePage": "issuePage" - }, - "otherCitationDetails": [ - "otherCitationDetails0", - "otherCitationDetails1" - ], - "onlineResource": [ - { - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "graphic": [ - { - "fileName": "fileName" - }, - { - "fileName": "fileName" - } - ] - }, - "abstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "shortAbstract": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "purpose": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "resourceUsage": [ - { - "specificUsage": "My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", - "temporalExtent": [ - { - "timeInstant": { - "dateTime": "2016-10-24T11:10:15.2-10:00", - "id": "instant_001", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "HighTide", - "namespace": "namespace" - }, - "instantName": [ - "instantName 00", - "instantName 01" - ] - } - }, - { - "timePeriod": { - "id": "period_001", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "SlackTide", - "namespace": "namespace" - }, - "periodName": [ - "periodName 00", - "periodName 01" - ], - "startDateTime": "2017", - "endDateTime": "2018", - "timeInterval": { - "interval": 9, - "units": "month" - }, - "duration": { - "months": 9 - } - } - }, - { - "timeInstant": { - "dateTime": "2017-03-25T23:10:15", - "id": "instant_002", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "LowTide", - "namespace": "namespace", - "version": "version", - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt,", - "authority": { - "title": "title", - "alternateTitle": [ - "alternateTitle0", - "alternateTitle1" - ], - "date": [{ - "date": "2016-10-13", - "dateType": "dateType0" - }, - { - "date": "2016-10-22T16:15:14", - "dateType": "dateType1" - } - ], - "edition": "edition", - "responsibleParty": [{ - "role": "principalInvestigator", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "funder", - "party": [{ - "contactId": "CID003", - "organizationMembers": [ - "CID004", - "CID001" - ] - }] - } - ], - "presentationForm": [ - "presentationForm0", - "presentationForm1" - ], - "identifier": [{ - "identifier": "identifier0" - }, - { - "identifier": "identifier1" - } - ], - "series": { - "seriesName": "seriesName", - "seriesIssue": "seriesIssue", - "issuePage": "issuePage" - }, - "otherCitationDetails": [ - "otherCitationDetails0", - "otherCitationDetails1" - ], - "onlineResource": [{ - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "graphic": [{ - "fileName": "fileName" - }, - { - "fileName": "fileName" - } - ] - } - }, - "instantName": [ - "instantName 20", - "instantName 21" - ] - } - } - ], - "userDeterminedLimitation": "My Specific Limitation is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", - "limitationResponse": [ - "Exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo.", - "Nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo. My Specific Usage is quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo." - ], - "documentedIssue": { - "title": "My Documented Issue", - "date": [{ - "date": "2016-10-13", - "dateType": "dateType0" - }, - { - "date": "2016-10-22T16:15:14", - "dateType": "dateType1" - } - ] - }, - "additionalDocumentation": [ - { - "title": "title1" - }, - { - "title": "title2" - } - ], - "userContactInfo": [ - { - "role": "administrator", - "party": [{ - "contactId": "CID006" - }] - }, - { - "role": "coPrincipalInvestigator", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID003" - } - ] - } - ] - }, - { - "specificUsage": "My specific usage is Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - } - ], - "status": [ - "incomplete", - "suspended" - ], - "pointOfContact": [ - { - "role": "pointOfContact", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID006" - } - ] - }, - { - "role": "principalInvestigator", - "party": [{ - "contactId": "CID004" - }] - } - ], - "defaultResourceLocale": { - "language": "eng", - "country": "USA", - "characterSet": "UTF-8" - }, - "otherResourceLocale": [ - { - "language": "language0", - "country": "country0", - "characterSet": "characterSet0" - }, - { - "language": "language1", - "country": "country1", - "characterSet": "characterSet1" - } - ], - "credit": [ - "Lim, Sonny B. - Guitar", - "Peterson, Jeff - Slack Key Guitar", - "Kamakawiwo'ole, Israel - Vocal" - ], - "timePeriod": { - "description": "ground condition", - "startDateTime": "2016-06-01", - "endDateTime": "2016-08-15" - }, - "temporalResolution": [ - { - "years": 1, - "months": 8, - "days": 13 - }, - { - "seconds": 5 - } - ], - "spatialReferenceSystem": [ - { - "referenceSystemType": "referenceSystemType0", - "referenceSystemIdentifier": { - "identifier": "spatial reference system identifier", - "namespace": "namespace", - "version": "version", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title", - "alternateTitle": [ - "alternateTitle0", - "alternateTitle1" - ], - "date": [{ - "date": "2016-10-13", - "dateType": "dateType0" - }, - { - "date": "2016-10-22T16:15:14", - "dateType": "dateType1" - } - ], - "edition": "edition", - "responsibleParty": [{ - "role": "principalInvestigator", - "party": [{ - "contactId": "CID001" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "funder", - "party": [{ - "contactId": "CID003", - "organizationMembers": [ - "CID004", - "CID001" - ] - }] - } - ], - "presentationForm": [ - "presentationForm0", - "presentationForm1" - ], - "identifier": [{ - "identifier": "identifier0" - }, - { - "identifier": "identifier1" - } - ], - "series": { - "seriesName": "seriesName", - "seriesIssue": "seriesIssue", - "issuePage": "issuePage" - }, - "otherCitationDetails": [ - "otherCitationDetails0", - "otherCitationDetails1" - ], - "onlineResource": [{ - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "graphic": [{ - "fileName": "fileName" - }, - { - "fileName": "fileName" - } - ] - } - } - }, - { - "referenceSystemType": "referenceSystemType1" - }, - { - "referenceSystemIdentifier": { - "identifier": "identifier2" - } - }, - { - "referenceSystemType": "projected", - "referenceSystemIdentifier": { - "identifier": "Zone 10", - "namespace": "UTM", - "description": "Universal Transverse Mercator Zone 10 Seattle, Washington" - } - }, - { - "referenceSystemType": "geodeticGeographic2D", - "referenceSystemIdentifier": { - "identifier": "4326", - "namespace": "urn:ogc:def:crs:EPSG", - "description": "epsg projection 4326 - wgs 84 - Latitude Longitude", - "authority": { - "title": "European Petroleum Survey Group" - } - } - }, - { - "referenceSystemType": "projected", - "referenceSystemWKT": "PROJCS ['Wyoming 4901, Eastern Zone (1983, meters)', GEOGCS ['GRS 80', DATUM ['GRS 80', SPHEROID ['GRS 80', 6378137.000000, 298.257222]], PRIMEM ['Greenwich', 0.000000 ], UNIT ['Decimal Degree', 0.01745329251994330]], PROJECTION ['Transverse Mercator'], PARAMETER ['Scale_Factor', 0.999938], PARAMETER ['Central_Meridian', -105.166667], PARAMETER ['Latitude_Of_Origin', 40.500000], PARAMETER ['False_Easting', 200000.000000], UNIT ['Meter', 1.000000000000]]" - }, - { - "referenceSystemType": "geodeticGeographic2D", - "referenceSystemParameterSet": { - "geodetic": { - "datumIdentifier": { - "identifier": "identifier" - }, - "ellipsoidIdentifier": { - "identifier": "identifier" - }, - "semiMajorAxis": 9.9, - "axisUnits": "axisUnits", - "denominatorOfFlatteningRatio": 9.9 - } - } - } - ], - "spatialRepresentationType": [ - "vector", - "stereoModel" - ], - "spatialRepresentation": [ - { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [{ - "dimensionType": "column", - "dimensionSize": 9, - "resolution": { - "type": "distance", - "value": 9.9, - "unitOfMeasure": "feet" - }, - "dimensionTitle": "COLUMN TITLE", - "dimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - }, - { - "dimensionType": "row", - "dimensionSize": 9 - } - ], - "cellGeometry": "voxel", - "transformParamsAvailability": true - } - }, - { - "vectorRepresentation": { - "topologyLevel": "fullTopology3D", - "vectorObject": [{ - "objectType": "object Type 0", - "objectCount": 9 - }, - { - "objectType": "object Type 1", - "objectCount": 9 - } - ] - } - }, - { - "georectifiedRepresentation": { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [ - { - "dimensionType": "row", - "dimensionSize": 90 - }, - { - "dimensionType": "column", - "dimensionSize": 91 - } - ], - "cellGeometry": "cellGeometry", - "transformationParameterAvailable": true - }, - "checkPointAvailable": true, - "checkPointDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "cornerPoints": [ - [ - 0.0, - 0.0 - ], - [ - 0.0, - 1.0 - ], - [ - 1.0, - 1.0 - ], - [ - 1.0, - 0.0 - ] - ], - "centerPoint": [ - 0.5, - 0.5 - ], - "pointInPixel": "upperRight", - "transformationDimensionDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.", - "transformationDimensionMapping": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - } - }, - { - "georeferenceableRepresentation": { - "gridRepresentation": { - "numberOfDimensions": 9, - "dimension": [{ - "dimensionType": "row", - "dimensionSize": 90 - }, - { - "dimensionType": "column", - "dimensionSize": 91 - } - ], - "cellGeometry": "cellGeometry", - "transformationParameterAvailable": true - }, - "controlPointAvailable": true, - "orientationParameterAvailable": true, - "orientationParameterDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "georeferencedParameter": "Georeferenced Parameter 00", - "parameterCitation": [{ - "title": "title0" - }, - { - "title": "title1" - } - ] - } - } - ], - "spatialResolution": [ - { - "scaleFactor": 99999 - }, { - "measure": { - "type": "distance", - "value": 99.9, - "unitOfMeasure": "unitOfMeasure" - } - }, { - "levelOfDetail": "levelOfDetail" - }, { - "geographicResolution": { - "latitudeResolution": 9.9, - "longitudeResolution": 9.9, - "unitOfMeasure": "unitOfMeasure" - } - }, { - "bearingDistanceResolution": { - "distanceResolution": 9.9, - "distanceUnitOfMeasure": "distanceUnitOfMeasure", - "bearingResolution": 9.9, - "bearingUnitOfMeasure": "bearingUnitOfMeasure", - "bearingReferenceDirection": "north", - "bearingReferenceMeridian": "assumed" - } - }, { - "coordinateResolution": { - "abscissaResolutionX": 9.9, - "ordinateResolutionY": 9.9, - "unitOfMeasure": "unitOfMeasure" - } - }], - "keyword": [ - { - "keyword": [ - { - "keyword": "Barrow" - }, - { - "keyword": "Prudhoe Bay" - }, - { - "keyword": "Kaparuk" - } - ], - "keywordType": "place", - "thesaurus": { - "title": "USGS Geographic Names Information System" - } - }, - { - "keyword": [ - { - "keyword": "Brown Bear", - "keywordId": "TSN12365741" - }, - { - "keyword": "Polar Bear", - "keywordId": "TSN125415741" - }, - { - "keyword": "Black Bear", - "keywordId": "TSN123689426" - }, - { - "keyword": "Cinnamon Bear", - "keywordId": "TSN123842165" - }, - { - "keyword": "Teddy Bear" - } - ], - "keywordType": "taxon", - "thesaurus": { - "title": "ITIS - Integrated Taxonomic Information System" - } - }, - { - "keyword": [ - { - "keyword": "butter" - }, - { - "keyword": "sugar" - }, - { - "keyword": "eggs" - } - ], - "keywordType": "theme", - "thesaurus": { - "title": "Exploring Cookies" - } - }, - { - "keyword": [ - { - "keyword": "inlandWaters", - "keywordId": "012" - }, - { - "keyword": "location", - "keywordId": "013" - }, - { - "keyword": "climatologyMeteorologyAtmosphere", - "keywordId": "004" - } - ], - "keywordType": "isoTopicCategory", - "thesaurus": { - "title": "ISO Topic Categories" - } - }, - { - "keyword": [ - { - "keyword": "carbon dating" - }, - { - "keyword": "ionization" - } - ], - "keywordType": "method", - "thesaurus": { - "title": "Lineage Methodology keyword set" - } - } - ], - "taxonomy": [ - { - "taxonomicSystem": [{ - "citation": { - "title": "ITIS - Integrated Taxonomic Information System", - "alternateTitle": [ - "Citation for ITIS" - ], - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "modifications": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "citation": { - "title": "Some OTHER Taxonomic System", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - } - ], - "generalScope": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identificationReference": [{ - "title": "citation", - "identifier": [{ - "identifier": "identifier0", - "namespace": "namespace0", - "version": "version0", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title0", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - }] - }, - { - "title": "citation1", - "identifier": [{ - "identifier": "identifier1", - "namespace": "namespace1", - "version": "version1", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "authority": { - "title": "title1", - "date": [{ - "date": "2013-06-22", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - }] - } - ], - "observer": [{ - "role": "coPrincipalInvestigator", - "party": [{ - "contactId": "CID006" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "editor", - "party": [{ - "contactId": "CID001" - }] - } - ], - "identificationProcedure": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identificationCompleteness": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "voucher": [{ - "specimen": "bear claw", - "repository": { - "role": "custodian", - "party": [{ - "contactId": "CID002" - }] - } - }, - { - "specimen": "moose tooth", - "repository": { - "role": "custodian", - "party": [{ - "contactId": "CID002" - }] - } - } - ], - "taxonomicClassification": [{ - "taxonomicLevel": "taxonomicLevel0", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicSystemId": "taxonomicSystemId00", - "taxonomicLevel": "taxonomicLevel00", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicLevel": "taxonomicLevel000", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicSystemId": "taxonomicSystemId0000.1", - "taxonomicLevel": "taxonomicLevel0000.1", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - }, - { - "taxonomicSystemId": "taxonomicSystemId0000.2", - "taxonomicLevel": "taxonomicLevel0000.2", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - } - ] - }] - }, - { - "taxonomicLevel": "taxonomicLevel01", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [{ - "taxonomicLevel": "taxonomicLevel010", - "taxonomicName": "taxonomicName", - "commonName": [ - "commonName0", - "commonName1" - ], - "subClassification": [] - }] - } - ] - }, - { - "taxonomicLevel": "taxonomicLevel0201", - "taxonomicName": "taxonomicName" - } - ] - }], - "graphicOverview": [ - { - "fileName": "fileName 0", - "fileDescription": "fileDescription 0", - "fileType": "fileType 0", - "fileConstraint": [{ - "type": "use", - "useLimitation": [ - "useLimitation0", - "useLimitation1" - ] - }, - { - "type": "legal", - "legal": { - "useConstraint": [ - "useConstraint0", - "useConstraint1" - ], - "accessConstraint": [ - "accessConstraint0", - "accessConstraint1" - ], - "otherConstraint": [ - "otherConstraint0", - "otherConstraint1" - ] - } - } - ], - "fileUri": [{ - "uri": "http://ISO.uri/adiwg/0" - }] - }, - { - "fileName": "fileName 1", - "fileDescription": "fileDescription 1", - "fileType": "fileType 1", - "fileUri": [{ - "uri": "http://ISO.uri/adiwg/1" - }] - } - ], - "constraint": [ - { - "type": "use", - "useLimitation": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - ], - "scope": { - "scopeCode": "scopeCode" - }, - "graphic": [{ - "fileName": "fileName0" - }, - { - "fileName": "fileName1" - } - ], - "reference": [{ - "title": "title0" - }, - { - "title": "title1" - } - ], - "releasability": { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "addressee": [{ - "role": "client", - "party": [{ - "contactId": "CID001" - }] - }, - { - "role": "stakeholder", - "party": [{ - "contactId": "CID002" - }, - { - "contactId": "CID003" - } - ] - } - ], - "disseminationConstraint": [ - "restricted", - "unrestricted" - ] - }, - "responsibleParty": [{ - "role": "coAuthor", - "party": [{ - "contactId": "CID006" - }, - { - "contactId": "CID004" - } - ] - }, - { - "role": "rightsHolder", - "party": [{ - "contactId": "CID005" - }] - } - ] - }, - { - "type": "legal", - "useLimitation": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - ], - "scope": { - "scopeCode": "scopeCode" - }, - "graphic": [{ - "fileName": "fileName0" - }, - { - "fileName": "fileName1" - } - ], - "legal": { - "useConstraint": [ - "threatenedOrEndangered", - "otherRestrictions" - ], - "accessConstraint": [ - "otherRestrictions", - "in-confidence" - ], - "otherConstraint": [ - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure." - ] - } - }, - { - "type": "security", - "security": { - "classification": "secret", - "classificationSystem": "Classification System Name", - "userNote": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "handlingDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - } - ], - "coverageDescription": [ - { - "coverageName": "My First Coverage", - "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "processingLevelCode": { - "identifier": "processing level code" - }, - "attributeGroup": [{ - "attributeContentType": [ - "thematicClassification", - "physicalMeasurement" - ], - "attribute": [{ - "sequenceIdentifier": "sequenceIdentifier 1", - "sequenceIdentifierType": "sequenceIdentifierType", - "attributeDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "attributeIdentifier": [{ - "identifier": "identifier 1" - }, - { - "identifier": "identifier 2" - } - ], - "minValue": 9.9, - "maxValue": 9.9, - "units": "units", - "scaleFactor": 999, - "offset": 999, - "meanValue": 9.9, - "numberOfValues": 999, - "standardDeviation": 9.9, - "bitsPerValue": 999, - "boundMin": 9.9, - "boundMax": 9.9, - "boundUnits": "boundUnits", - "peakResponse": 9.9, - "toneGradations": 999, - "bandBoundaryDefinition": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "nominalSpatialResolution": 9.9, - "transferFunctionType": "transferFunctionType", - "transmittedPolarization": "transmittedPolarization", - "detectedPolarization": "detectedPolarization" - }, - { - "sequenceIdentifier": "sequenceIdentifier 2", - "sequenceIdentifierType": "sequenceIdentifierType", - "attributeDescription": "attributeDescription", - "attributeIdentifier": [{ - "identifier": "identifier" - }], - "minValue": 9.9, - "maxValue": 9.9, - "units": "units", - "scaleFactor": 999, - "offset": 999, - "meanValue": 9.9, - "numberOfValues": 999, - "standardDeviation": 9.9, - "bitsPerValue": 999 - } - ] - }, - { - "attributeContentType": [ - "modelResult" - ] - } - ], - "imageDescription": { - "illuminationElevationAngle": 9.9, - "illuminationAzimuthAngle": 9.9, - "imagingCondition": "imagingCondition", - "imageQualityCode": { - "identifier": "identifier" - }, - "cloudCoverPercent": 9.9, - "compressionQuantity": 9, - "triangulationIndicator": true, - "radiometricCalibrationAvailable": true, - "cameraCalibrationAvailable": true, - "filmDistortionAvailable": true, - "lensDistortionAvailable": true - } - }, - { - "coverageName": "My Second Coverage", - "coverageDescription": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "processingLevelCode": { - "identifier": "identifier" - }, - "attributeGroup": [{ - "attributeContentType": [ - "attributeContentType" - ] - }, - { - "attributeContentType": [ - "attributeContentType" - ] - } - ], - "imageDescription": { - "illuminationElevationAngle": 60.0 - } - } - ], - "resourceFormat": [ - { - "formatSpecification": { - "title": "specification 1" - }, - "amendmentNumber": "amendmentNumber", - "compressionMethod": "compressionMethod" - }, - { - "formatSpecification": { - "title": "specification 2" - }, - "amendmentNumber": "amendmentNumber", - "compressionMethod": "compressionMethod" - } - ], - "resourceMaintenance": [ - { - "frequency": "semi-annually", - "date": [{ - "date": "2016-10-12", - "dateType": "dateType" - }, - { - "date": "2016-10-12", - "dateType": "dateType" - } - ], - "scope": [{ - "scopeCode": "scopeCode" - }, - { - "scopeCode": "scopeCode" - } - ], - "note": [ - "note0", - "note1" - ], - "contact": [{ - "role": "custodian", - "party": [{ - "contactId": "CID005" - }] - }] - }, - { - "frequency": "frequency1" - } - ], - "environmentDescription": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "supplementalInfo": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "extent": [ - { - "description": "Extent 1: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "geographicExtent": [ - { - "description": "geographic extent description", - "containsData": false, - "identifier": { - "identifier": "identifier" - }, - "boundingBox": { - "westLongitude": -140.0, - "eastLongitude": -120.0, - "southLatitude": 49.0, - "northLatitude": 70.0 - }, - "geographicElement": [ - { - "type": "Point", - "coordinates": [100.0, 0.0] - }, - { - "type": "LineString", - "coordinates": [ - [100.0, 0.0], - [101.0, 1.0] - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [-161.74223, 67.663378], - [-161.440345, 67.630173], - [-161.294611, 67.656257], - [-161.228063, 67.625736], - [-161.247712, 67.585909], - [-161.334662, 67.591324], - [-161.566245, 67.491263], - [-161.812338, 67.455299], - [-161.825019, 67.40123], - [-162.128301, 67.414364], - [-162.167825, 67.363047], - [-162.383403, 67.293329], - [-162.633432, 67.272237], - [-162.645587, 67.356665], - [-162.369023, 67.455264], - [-162.287324, 67.551235], - [-162.171139, 67.559356], - [-161.99344, 67.646806], - [-161.857964, 67.620329], - [-161.769431, 67.629407], - [-161.74223, 67.663378] - ] - ] - } - ] - }, - { - "containsData": true, - "geographicElement": [{ - "type": "Polygon", - "coordinates": [ - [ - [-10.0, 50.0], - [90.0, 50.0], - [90.0, 25.0], - [-10.0, 25.0], - [-10.0, 50.0] - ] - ] - }] - }, - { - "containsData": true, - "geographicElement": [{ - "type": "Polygon", - "coordinates": [ - [ - [140, 65], - [-170, 65], - [-170, 55], - [140, 55], - [140, 65] - ] - ] - }] - }, - { - "containsData": false, - "identifier": { - "identifier": "identifier" - }, - "geographicElement": [{ - "type": "Polygon", - "coordinates": [ - [ - [-162, 65], - [-161, 65], - [-161, 60], - [-162, 60], - [-162, 65] - ] - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [100, 55], - [102, 55], - [102, 50], - [100, 50], - [100, 55] - ] - ] - } - ] - } - ], - "temporalExtent": [ - { - "timeInstant": { - "dateTime": "2016-10-24T11:10:15.200-10:00" - } - }, - { - "timeInstant": { - "id": "id", - "description": "description", - "identifier": { - "identifier": "identifier", - "namespace": "namespace" - }, - "instantName": [ - "instantName0", - "instantName1" - ], - "geologicAge": { - "ageTimeScale": "ageTimeScale", - "ageEstimate": "ageEstimate", - "ageUncertainty": "ageUncertainty", - "ageExplanation": "ageExplanation", - "ageReference": [{ - "title": "citation title" - }] - } - } - }, - { - "timePeriod": { - "startDateTime": "2016-10-24T11:10:15.200-10:00" - } - }, - { - "timePeriod": { - "startGeologicAge": { - "ageTimeScale": "International Chronostratigraphic Chart", - "ageEstimate": "13.82" - } - } - } - ], - "verticalExtent": [ - { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "minValue": 9.9, - "maxValue": 9.9, - "crsId": { - "referenceSystemType": "referenceSystemType0", - "referenceSystemIdentifier": { - "identifier": "identifier0" - } - } - }, - { - "minValue": 99.99, - "maxValue": 99.99, - "crsId": { - "referenceSystemType": "referenceSystemType1", - "referenceSystemIdentifier": { - "identifier": "identifier1" - } - } - } - ] - }, - { - "description": "Extent 2: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "geographicExtent": [ - { - "containsData": false, - "identifier": { - "identifier": "identifier" - }, - "geographicElement": [{ - "type": "Polygon", - "coordinates": [ - [ - [-30, 25], - [-20, 25], - [-20, 20], - [-30, 20], - [-30, 25] - ] - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [10, 40], - [15, 35], - [15, 30], - [10, 30], - [10, 40] - ] - ] - } - ] - }, - { - "containsData": true, - "geographicElement": [{ - "type": "GeometryCollection", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometries": [{ - "type": "Point", - "coordinates": [100.0, 0.0] - }, - { - "type": "LineString", - "coordinates": [ - [101.0, 0.0], - [102.0, 1.0] - ] - } - ] - }, - { - "type": "Polygon", - "coordinates": [ - [ - [10, 40], - [15, 35], - [15, 30], - [10, 30], - [10, 40] - ] - ] - } - ] - }, - { - "containsData": true, - "geographicElement": [{ - "type": "Feature", - "id": "polygon-75", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometry": { - "type": "Polygon", - "coordinates": [ - [ - [-161.74223, 67.663378], - [-161.440345, 67.630173], - [-161.294611, 67.656257], - [-161.228063, 67.625736], - [-161.247712, 67.585909], - [-161.334662, 67.591324], - [-161.566245, 67.491263], - [-161.812338, 67.455299], - [-161.825019, 67.40123], - [-162.128301, 67.414364], - [-162.167825, 67.363047], - [-162.383403, 67.293329], - [-162.633432, 67.272237], - [-162.645587, 67.356665], - [-162.369023, 67.455264], - [-162.287324, 67.551235], - [-162.171139, 67.559356], - [-161.99344, 67.646806], - [-161.857964, 67.620329], - [-161.769431, 67.629407], - [-161.74223, 67.663378] - ] - ] - }, - "properties": { - "description": "Agashashok River site", - "featureName": [ - "Agashashok River", - "Camp Mosquito" - ], - "identifier": [{ - "identifier": "AGAR" - }, - { - "identifier": "Kup25" - } - ], - "featureScope": "collectionSite", - "acquisitionMethod": "butterfly net", - "customField": "not in schema", - "customArray": [ - "string 1", - "string 2" - ] - } - }] - }, - { - "containsData": true, - "geographicElement": [{ - "type": "FeatureCollection", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "features": [{ - "type": "Feature", - "id": "ALCC-BH55", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometry": { - "type": "Point", - "coordinates": [102.0, 0.5] - }, - "properties": { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "featureName": [ - "fake name" - ] - } - }, - { - "type": "Feature", - "id": "ALCC-BH56", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometry": { - "type": "LineString", - "coordinates": [ - [102.0, 0.0], - [103.0, 1.0], - [104.0, 0.0], - [105.0, 1.0] - ] - }, - "properties": { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - }, - { - "type": "Feature", - "id": "ALCC-Co81", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometry": { - "type": "GeometryCollection", - "bbox": [-10.0, -10.0, 10.0, 10.0], - "geometries": [{ - "type": "Point", - "coordinates": [100.0, 0.0] - }, - { - "type": "LineString", - "coordinates": [ - [101.0, 0.0], - [102.0, 1.0] - ] - } - ] - }, - "properties": { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - } - ] - }] - } - ] - } - ] - }, - "resourceLineage": [ - { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "scope": { - "scopeCode": "scopeCode" - }, - "citation": [{ - "title": "Lineage Title 1", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - { - "title": "Lineage Title 2", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - } - ], - "source": [{ - "sourceId": "SRC001", - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "sourceCitation": { - "title": "Source Citation Title SRC001", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "metadataCitation": [{ - "title": "First Source Metadata Citation" - }, - { - "title": "Next Source Metadata Citation" - } - ], - "spatialResolution": { - "scaleFactor": 99999 - }, - "referenceSystem": { - "referenceSystemType": "referenceSystemType", - "referenceSystemIdentifier": { - "identifier": "identifier" - } - }, - "sourceProcessStep": [{ - "description": "description", - "timePeriod": { - "endDateTime": "2017-12-28T15:15" - } - }, - { - "description": "description", - "timePeriod": { - "endDateTime": "2017-12-28T15:16" - } - } - ], - "scope": { - "scopeCode": "scopeCode SRC001", - "scopeExtent": [{ - "temporalExtent": [{ - "timePeriod": { - "description": "publication date", - "startDateTime": "2016-11-01" - } - }] - }] - } - }, - { - "sourceId": "SRC002", - "description": "description", - "sourceCitation": { - "title": "Source Citation Title SRC002", - "date": [{ - "date": "2017-10-13", - "dateType": "publication" - }], - "responsibleParty": [{ - "role": "originator", - "party": [{ - "contactId": "CID004" - }] - }] - }, - "scope": { - "scopeCode": "scopeCode SRC002", - "scopeExtent": [{ - "temporalExtent": [{ - "timePeriod": { - "description": "publication date", - "startDateTime": "2016-11-02" - } - }] - }] - } - } - ], - "processStep": [{ - "stepId": "stepId", - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "rationale": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "timePeriod": { - "id": "TimePeriod001", - "startDateTime": "2016-10-14T11:10:15.2-10:00", - "endDateTime": "2016-12-31", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "TimePeriod Identifier", - "namespace": "namespace" - }, - "periodName": [ - "periodName0", - "periodName1" - ], - "timeInterval": { - "interval": 9.9, - "units": "year" - }, - "duration": { - "months": 9 - } - }, - "processor": [{ - "role": "processor", - "party": [{ - "contactId": "CID006" - }] - }, - { - "role": "reviewer", - "party": [{ - "contactId": "CID004" - }] - } - ], - "reference": [{ - "title": "Process Step Reference" - }, - { - "title": "Another Process Step Reference" - } - ], - "scope": { - "scopeCode": "scopeCode" - } - }, - { - "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "timePeriod": { - "endDateTime": "2017-12-28T15:28" - } - } - ] - }, - { - "statement": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - } - ], - "resourceDistribution": [ - { - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "liabilityStatement": "Blah blah blah liability. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.", - "distributor": [ - { - "contact": { - "role": "distributor", - "party": [{ - "contactId": "CID002" - }] - }, - "orderProcess": [ - { - "fees": "10.00USD", - "plannedAvailability": "2016-10-21T00:00:00", - "orderingInstructions": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "turnaround": "turnaround" - }, - { - "fees": "2.00USD" - } - ], - "transferOption": [ - { - "unitsOfDistribution": "units of distribution", - "transferSize": 9.9, - "onlineOption": [ - { - "uri": "http://ISO.uri/adiwg/0" - }, - { - "uri": "http://ISO.uri/adiwg/1" - } - ], - "offlineOption": [ - { - "mediumSpecification": { - "title": "My Medium Specification Title" - }, - "density": 9.9, - "units": "units", - "numberOfVolumes": 9, - "mediumFormat": [ - "mediumFormat0", - "mediumFormat1" - ], - "note": "note", - "identifier": { - "identifier": "Medium Identifier" - } - }, - { - "mediumSpecification": { - "title": "dium specification title 1" - } - } - ], - "transferFrequency": { - "months": 9 - }, - "distributionFormat": [ - { - "formatSpecification": { - "title": "CSV" - }, - "amendmentNumber": "2.0.8-beta", - "compressionMethod": "7ZipUp", - "technicalPrerequisite": "Blah blah blah 2.0 technical prerequisite" - }, - { - "formatSpecification": { - "title": "format specification title 1" - } - } - ] - }, - { - "transferSize": 10.9, - "onlineOption": [{ - "uri": "http://ISO.uri/adiwg/3" - }], - "distributionFormat": [{ - "formatSpecification": { - "title": "Microsoft Excel" - } - }] - } - ] - }, - { - "contact": { - "role": "distributor", - "party": [{ - "contactId": "CID003" - }] - } - } - ] - } - ], - "associatedResource": [ - { - "resourceType": [{ - "type": "modelHardcopy", - "name": "Hardcopy of Model" - }, - { - "type": "videoDigital", - "name": "Video of the Making" - } - ], - "associationType": "partOfSeamlessDatabase", - "initiativeType": "investigation", - "resourceCitation": { - "title": "Resource Citation Title" - }, - "metadataCitation": { - "title": "Metadata Citation Title" - } - }, - { - "resourceType": [{ - "type": "type0", - "name": "name0" - }, - { - "type": "type1", - "name": "name1" - } - ], - "associationType": "associationType", - "initiativeType": "initiativeType", - "resourceCitation": { - "title": "title" - }, - "metadataCitation": { - "title": "title" - } - } - ], - "additionalDocumentation": [ - { - "resourceType": [{ - "type": "webService", - "name": "ADIwg API" - }, - { - "type": "databaseDigital", - "name": "DMV Data" - } - ], - "citation": [{ - "title": "A Good Additional Document" - }, - { - "title": "A More Better Additional Document" - } - ] - }, - { - "resourceType": [{ - "type": "multimediaHardcopy", - "name": "Multi-Media Hard-Copy" - }, - { - "type": "physicalObject", - "name": "Lab Specimen" - } - ], - "citation": [{ - "title": "A Much Mo Betha Additional Document" - }] - } - ], - "funding": [ - { - "allocation": [{ - "sourceAllocationId": "A123FW009", - "amount": 9999.99, - "currency": "USD", - "sourceId": "CID005", - "recipientId": "CID006", - "matching": true, - "onlineResource": [{ - "uri": "http://adiwg.org" - }], - "comment": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur." - }, - { - "amount": 999.99, - "currency": "CAD" - } - ], - "timePeriod": { - "startDateTime": "2016-10-14T11:10:15.2-10:00", - "endDateTime": "2016-12-31", - "id": "TimePeriod001", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "identifier": { - "identifier": "TimePeriod Identifier", - "namespace": "namespace" - }, - "periodName": [ - "periodName0", - "periodName1" - ], - "timeInterval": { - "interval": 9.9, - "units": "year" - }, - "duration": { - "months": 9 - } - } - }, - { - "allocation": [{ - "amount": 9999.99, - "currency": "EUR" - }], - "timePeriod": { - "startDateTime": "2016-10-14" - } - } - ] - }, - "dataDictionary": [ - { - "citation": { - "title": "title" - }, - "subject": [ - "subject0", - "subject1" - ], - "recommendedUse": [ - "use0", - "use1" - ], - "locale": [{ - "language": "language0", - "country": "country0", - "characterSet": "characterSet0" - }, - { - "language": "language1", - "country": "country1", - "characterSet": "characterSet1" - } - ], - "responsibleParty": { - "role": "author", - "party": [{ - "contactId": "CID001" - }] - }, - "dictionaryFunctionalLanguage": "UML", - "dictionaryIncludedWithResource": true, - "domain": [{ - "domainId": "DID001", - "commonName": "commonName", - "codeName": "codeName", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "domainItem": [{ - "name": "name0", - "value": "value0", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }, - { - "name": "name1", - "value": "value1", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }, - { - "name": "name2", - "value": "value2", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - } - ] - }, - { - "domainId": "DID002", - "commonName": "commonName", - "codeName": "codeName", - "description": "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.", - "domainItem": [{ - "name": "name0", - "value": "value0", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore." - }] - } - ], - "entity": [{ - "entityId": "entityId0", - "commonName": "commonName", - "codeName": "codeName", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "entityReference": [{ - "title": "entity reference citation 0" - }], - "primaryKeyAttributeCodeName": [ - "primaryAttribute0", - "primaryAttribute1" - ], - "index": [{ - "codeName": "codeName0", - "allowDuplicates": false, - "attributeCodeName": [ - "attributeCodeName00", - "attributeCodeName01" - ] - }, - { - "codeName": "codeName1", - "allowDuplicates": true, - "attributeCodeName": [ - "attributeCodeName1" - ] - } - ], - "attribute": [{ - "commonName": "Department ID", - "codeName": "codeName", - "alias": [ - "alias0", - "alias1" - ], - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "attributeReference": { - "title": "attribute reference citation Department ID" - }, - "dataType": "dataType", - "allowNull": true, - "mustBeUnique": false, - "units": "units", - "domainId": "DID001", - "minValue": "minValue", - "maxValue": "maxValue" - }, - { - "commonName": "Employee ID", - "codeName": "empId", - "alias": [ - "employeeId", - "employeeNumber" - ], - "definition": "Numeric code to uniquely identify an employee of Acme Oil", - "attributeReference": { - "title": "attribute reference citation for Employee ID" - }, - "dataType": "numeric", - "allowNull": false, - "mustBeUnique": true, - "units": "meters", - "domainId": "DID002", - "minValue": "1000000", - "maxValue": "5000000" - } - ], - "foreignKey": [{ - "localAttributeCodeName": [ - "localAttributeCodeName0", - "localAttributeCodeName1" - ], - "referencedEntityCodeName": "referencedEntityCodeName", - "referencedAttributeCodeName": [ - "referencedAttributeCodeName0", - "referencedAttributeCodeName1" - ] - }, - { - "localAttributeCodeName": [ - "employeeID" - ], - "referencedEntityCodeName": "EMPLOYEE", - "referencedAttributeCodeName": [ - "employeeID" - ] - } - ] - }, - { - "entityId": "entityId1", - "commonName": "commonName", - "codeName": "codeName", - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "entityReference": [{ - "title": "entity reference citation 1" - }], - "primaryKeyAttributeCodeName": [ - "primaryAttribute" - ], - "attribute": [{ - "commonName": "Supervisor", - "codeName": "codeName", - "alias": [ - "alias0", - "alias1" - ], - "definition": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore.", - "attributeReference": { - "title": "attribute reference citation for supervisor" - }, - "dataType": "dataType", - "allowNull": true, - "mustBeUnique": false, - "units": "units", - "domainId": "DID001", - "minValue": "minValue", - "maxValue": "maxValue" - }, - { - "commonName": "Grade", - "codeName": "empId", - "alias": [ - "employeeId", - "employeeNumber" - ], - "definition": "Numeric code to uniquely identify an employee of Acme Oil", - "attributeReference": { - "title": "attribute reference citation for grade" - }, - "dataType": "numeric", - "allowNull": false, - "mustBeUnique": true, - "units": "meters", - "domainId": "DID002", - "minValue": "1000000", - "maxValue": "5000000" - } - ] - } - ] - }, - { - "citation": { - "title": "My Dictionary Title" - }, - "subject": [ - "birds", - "loons" - ], - "recommendedUse": [ - "Reconstruct database" - ], - "locale": [{ - "language": "eng", - "country": "USA", - "characterSet": "UTF-8" - }], - "responsibleParty": { - "role": "author", - "party": [{ - "contactId": "CID006" - }] - }, - "dictionaryFunctionalLanguage": "MSSQL", - "dictionaryIncludedWithResource": false - } - ], - "metadataRepository": [ - { - "repository": "USGS ScienceBase", - "metadataStandard": "FGDC" - }, - { - "repository": "data.gov", - "metadataStandard": "iso19115_2" - } - ] - } - \ No newline at end of file