From e213959cbfde97ced37cf6ba4d6d61741950b4ea Mon Sep 17 00:00:00 2001 From: Johnathan <jwaspin@users.noreply.github.com> Date: Tue, 10 Dec 2024 16:32:48 -0700 Subject: [PATCH] Feature: DCAT-US v1 (v2.20.0) (#383) * 264 dcat us writer required fields (#274) * Add DCAT-US Writer Migrating changes from another branch. Unit tests and writers for most required fields and some if-applicable fileds. * Add DCAT-US.md * Remove Whitespace * New Access Level Unit Test Fix accessLevel writer. * Add Unit Tests Access Level New tests for public and restricted public. * New Unit Test For License * New Unit Test Spatial * Remove Comment Headers * New Temporal Unit Test * Remove Comment Header * Add DCAT-US Tests to Rakefile * Update MiniTest to Minitest * New Distribution Unit Test * Complete Temporal Unit Test & Writer * Update Rights Unit Test & Writer * Remove Sample Files * 269 dcat us writer optional fields (#282) * Add DCAT-US Writer Migrating changes from another branch. Unit tests and writers for most required fields and some if-applicable fileds. * Add DCAT-US.md * Remove Whitespace * New Access Level Unit Test Fix accessLevel writer. * Add Unit Tests Access Level New tests for public and restricted public. * New Unit Test For License * New Unit Test Spatial * Remove Comment Headers * New Temporal Unit Test * Remove Comment Header * Add DCAT-US Tests to Rakefile * Update MiniTest to Minitest * New Distribution Unit Test * Complete Temporal Unit Test & Writer * Update Rights Unit Test & Writer * Remove Sample Files * New Issued Field Writer, unit test, and test file. Enabled issue field in main dcat_us writer. * New Theme Field Writer, unit test, and test file. Enabled theme in main dcat_us writer. * New Landing Page Field Writer, unit test, and test file. Enabled landingPage in main writer. * New IsPartOf Field Writer, unit test, and test file. Enabled isPartOf in main writer. * Update DCAT-US.md * New Described By Field Writer, unit test, and test file. Enabled describedBy in the main writer. * New References Field Writer, unit test, and test file. Enabled references field in main writer. * New System of Records Field Writer, unit test, and test file. Enabled systemOfRecords field in main writer. * Update description mapping * Update test data * Enable Fields * Fix Conditional includedWithDataset is the internal version of the dictionaryIncludedWithResource field in mdJson. * Fix Description Moved into its own file and fixed the mapping. * Update version * Add sbJson External Contact Identifiers Reader and writer. Reader looks for orcId and maps to external identifier. Writer looks for external identifier with namespace ORCID and maps associated id to orcId. Both only work for contact type of person, disabled for organizations. * Update Version * Add Data Quality Reports Array * Fix internal metadata object * Cleanup & Fix * Fix Data Quality Reader - mdJson * Cleanup * Fix Data Quality * Implement Data Quality Report * Implement Coverage Result - mdJson writer * Fix & Cleanup Data Quality * Fix Spatial Representation * Fix HTML citation Writer * Cleanup * Update Version * Update Version * Fix Internal Metadata Object - Data Quality Coverage Result * Fix Refereence Typo * Add Data Quality Link * Handle Empty Citation * Improve Data Quality Add Reports Section * Implement Data Quality Reports * Add Null Checks * Handle nil and empty * Handle nil & empty * New Generator newRangeElementDescription * close out function * fix reader to recognize rangeElement key from mdJson file (#317) * fix key retrieval for Html_RangeElementDescription writer class (#318) * fix key retrieval for Html_RangeElementDescription writer class * fix br in rangeElement * fix rangeElementDescription class for iso-3 (#321) * add contact - external identifiers * Fix Simple HTML and mdJson hash objects rangeElements -> rangeElement * Fix misplaced br tag * make changes based on feedback found in release v2.18.5 branch (#325) * make changes based on feedback found in release v2.18.5 branch * Fix evaluationMethod in mdJson * remove extra argument * Revert Changes * Reorder and Add derivedElementReport * Add Report Fields type standaloneQualityReportDetails * Change dateTime to array * Revert * Add standaloneQualityReportDetails * Add derivedElementReport * add posacc w hori and vert tags. fix key retrieval from qualityMeasure (#327) * Update Gemfile.lock * Dcat us v1/cleanup (#326) * Updated Gemfile to work with tests. Added test documentation. * Added github action to run automated tests * Updated DCAT-US to not use namespace See examples of what DCAT-US and data.gov expect here: https://github.com/GSA/ckanext-datajson/tree/main/ckanext/datajson/tests/datajson-samples * New GitHub Test Action (#328) This merge is not intended to have the tests passing yet, just adding the test action workflow file. * Bugfix/unit tests (#329) * Update Internal Object * Fix Data Quality Order * Fix Data Quality Order * Fixing Legal Constraint Order * Fix Allocation Order * Fix Funding Order * Fix Data Quality Order * Update Data Quality Object * And standaloneQualityReportDetails to mdJson Reader * Fix Order * Fix Standalone Quality Report * Update Version for mdJson-schemas * Add Quality Result File to Coverage Result * Update Gemfile.lock * Update nokogiri * Rename standaloneQualityReport.rb Need to fix naming case. * Fix File Name * Fix Typo * Fix Internal Object resultContent --> resultContentDescription and { } not [ ] * Completed Feature: Coverage Result (#330) * Add Quality Result File to Coverage Result * add resultFile to coverageResult in mdJson reader (#331) * add resultFile to coverageResult in mdJson reader * remove pp lib * revert files * generate resourceFormat file and add to CR. fix metadata object in resultFile * fix internal metadata obj in resultFile * fix qualityResultFile class and reference * revert files * fix relative import * remove writer changes * Remove module_resourceFormat * Injection/md json writer cr (#332) * rename to qualityResultFile * add format and QualityResultFile classes to coverageResult in writer * revert files * add qualityResultFile * Fixed Names fileName was repeated in place of fileDescription and fileType. * Fix Result Content resultContent -> resultContentDescription Uses coverageDescription * Change nil? to empty? --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Injection/html writer cr (#336) * add qualityMeasure to mdJson reader * fix qualityMeasure key * add resultFile class to dataQualityReport html writer * Fix Quality Measure Identifier needs to be built not directly assigned. * Improve Quality Measure Name and description will only be populated if they exist. --------- Co-authored-by: Jonathan Oliveros <joliveros@xentity.com> * Injection/simple html writer cr (#335) * add dataQualityReport and resultFile classes * fix file format comment * reference resultFile class * change details to div * change details to div in dataQualityReport * change module to simple_html. Add nil or empty to citation within identifier. * add simple_html test * Add Coverage Result New class_qualityResultFile for iso19115-3 writer. * Fix Data Quality Report Fixed the order. Fixed quality measure. * Fix Quality Measure * Fix Quality Measure * Fix Evaluation Method * New Conformance Result ISO 19115-3 Writer --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Jonathan Oliveros <joliveros@xentity.com> * Increment Minor Version * Update Version * Revert Changes * Revert Changes * Revert Changes * Revert Changes * Remove nil Check Including the check for nil can actually cause errors. If there is an error then the problem is somewhere else. * Remove nil Check Should not check for nil, if it is nil then there's a problem with the reader. * Revert Changes * change divs to headers (#337) * change divs to headers * fix key within qualityMeasure. change to header tags * Update mdCodes Version * Update Gemfile.lock * Fix Data Quality fgdc reader needed some refactoring. Added/fixed checks for nil/empty. * Fix name -> nameOfMeasure * Increment Patch Version * Fix FGDC Reader quantitativeResult was being set to the qualityMeasure and using the qualityMeasure object. Fixed to use the correct object and location. * Fix Data Quality (#342) * Increment Patch Version * Simple HTML Enhancements (#339) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Bugfixes for Simple HTML (#343) * change divs to headers (#337) * change divs to headers * fix key within qualityMeasure. change to header tags * Simple HTML Enhancements (#339) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Increment Patch Version * Fix Data Quality * Increment Patch Version * Feature/simple html (#345) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version * Bugfixes for Simple HTML (#343) * change divs to headers (#337) * change divs to headers * fix key within qualityMeasure. change to header tags * Simple HTML Enhancements (#339) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Increment Patch Version * Fix Data Quality * Increment Patch Version * simple_html output formatting (#344) --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Update mdJson-schemas version mdJson-schemas -> 2.8.3 * Increment Patch Version * Feature/fgdc reader lineage process (#347) * add references to process * redirect citation to processSteps * revert to lineageCitation * Fix newLineage Order dataSources after processSteps * Moving Methodology to Process Steps * Restore hResourceInfo Variable * Commented Keyword - Method Required Warning * Upgrade adiwg-mdjson_schemas adiwg-mdjson_schemas -> 2.9.0 * Update Gemfile.lock * commented out mdJson reader minor version test * Refactor lineage module and process module. Updated tests. * Add comment about test being disabled. * Add comment to explain why code is disabled --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Update mdtranslator version to 2.20.0 * Update ruby/setup-ruby version in test.yml * Update adiwg-mdtranslator and adiwg-mdjson_schemas versions * Update mdtranslator version to 2.21.0 * Update adiwg-mdtranslator gem dependencies * Update adiwg-mdcodes gem dependency to version 2.9.1 * Disable test_mdJson_reader_schema_version_future_minor method * Update mdtranslator version to 2.19.0-beta.6 * Update adiwg-mdcodes gem dependency to version 2.9.1 * Fix data quality report type Remove DQ_ prefix. * Add mapping to accessLevel (#352) * Add mapping to accessLevel * Formatting * Update tests to reflect mapping * remove unnecessary print statement * fix legal and security accessLevel codes in tests * Add test cases for accessLevel. fix array append to accessLevelCodes. * Add language support to DCAT-US writer (#349) * Update accrualPeriodicity field in DCAT-US writer (#350) * Update accrualPeriodicity field in DCAT-US writer * Break out accrualPeriodicity and add mapping * add nil check to frequency * Add primaryITInvestmentUII in DCAT-US writer (#351) * Add primaryITInvestmentUII in DCAT-US writer * add support for primaryITInvestmentUII --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Update mdtranslator version to 2.19.0-beta.7 * Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies * Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies * Add support to describedByType in DCAT-US writer (#355) * Add AccessURL, DownloadURL, and MediaType modules to DCAT-US writer (#354) * Release Version 2.20.0 (#346) * change divs to headers (#337) * change divs to headers * fix key within qualityMeasure. change to header tags * Simple HTML Enhancements (#339) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Feature/simple html (#345) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version * Bugfixes for Simple HTML (#343) * change divs to headers (#337) * change divs to headers * fix key within qualityMeasure. change to header tags * Simple HTML Enhancements (#339) * add geographicExtent to simple_html writer (#338) * add geographicExtent to simple_html writer * Fix Data Quality Fixed checks for nil and empty. Fixed tags. Fixed structures. * Fix Data Quality * Remove bodyScript and other js * Fix Typo referenceDocument -> referenceDocuments --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * add bookmark span tags to headers (#340) Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Increment Patch Version * Increment Minor Version --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Increment Patch Version * Fix Data Quality * Increment Patch Version * simple_html output formatting (#344) --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> * Feature/fgdc reader lineage process (#347) * add references to process * redirect citation to processSteps * revert to lineageCitation * Fix newLineage Order dataSources after processSteps * Moving Methodology to Process Steps * Restore hResourceInfo Variable * Commented Keyword - Method Required Warning * Upgrade adiwg-mdjson_schemas adiwg-mdjson_schemas -> 2.9.0 * Update Gemfile.lock * commented out mdJson reader minor version test * Refactor lineage module and process module. Updated tests. * Add comment about test being disabled. * Add comment to explain why code is disabled --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> * Update 19115-3 test data (#334) * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * upate attributeGroup * update 19115_3_citation.xml * update 19115_3_constraintCommon.xml * update 19115_3_constraintCommon.xml and 19115_3_citation.xml * update 19115_3_dataIdentification.xml * update 19115_3_leProcessStep.xml * update 19115_3_maintenance.xml * update 19115_3_mdBand.xml * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update 19115-3 test data * Update remoteSchema URL in class_mdMetadata.rb * Add fix for 19115-3 writer in class_rangeElementDescription and class_sampleDimension * fix unit definition identifiers in test cases * fix attributeGroup test data * Refactor algorithm element to LE_Processing in 19115_3_leProcessStep.xml and 19115_3_processing.xml * Refactor algorithm element to LE_Processing in 19115_3_processing.xml * Remove underscore from id's in iso19115-3 writer tests * Update organization external identifier namespace from ORCID to ROR Remove duplicate external contact identifier in iso19115-3 writer * Update to ROR on feature xml and proper capitalization of multiPoint * Removed partyIdentifier duplicate in expected organization output * Remove duplicate partyIdentifier in expected constraintCommon xml * Fix Spacing * Fix spacing and remove duplicate partyIdentifier in expected constraintCommon xml --------- Co-authored-by: Johnathan Aspinwall <jwaspin@gmail.com> Co-authored-by: Jonathan Oliveros <joliveros@xentity.com> * Fix version comparison bug in mdJson_reader.rb (#356) * Fix version comparison bug in mdJson_reader.rb * Fix version comparison logic * Update adiwg-mdtranslator version to 2.20.0-beta.0 * Update adiwg-mdtranslator version to 2.19.0-beta.8 --------- Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: Chris MacDermaid <64213093+chris-macdermaid@users.noreply.github.com> Co-authored-by: Jonathan Oliveros <joliveros@xentity.com> * Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies * Update adiwg-mdtranslator version to 2.20.0-beta.1 * Update adiwg-mdcodes gem dependency to version 2.9.3.pre.beta.3 * Update adiwg-mdjson_schemas gem dependency to version 2.9.2.pre.beta.19 * Update mdtranslator version to 2.19.0-beta.9 * Update adiwg-mdtranslator version to 2.19.0.pre.beta.9 * Fix data quality report type * Update adiwg-mdtranslator version to 2.19.0.pre.beta.10 * Update adiwg-mdtranslator version to 2.20.0.pre.beta.1 * Fix evaluationMethodType in class_dataQualityReport.rb * Update adiwg-mdtranslator version to 2.20.0-beta.0 * Update adiwg-mdjson_schemas and adiwg-mdcodes gem dependencies to latest versions * Update adiwg-mdtranslator version to 2.19.0.pre.beta.11 * Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Fix evaluationMethodType in class_dataQualityReport.rb * Fix data quality report type * Update adiwg-mdtranslator version to 2.19.0.pre.beta.13 * Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Fix data quality report type * Fix data quality report type * Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.15 * chore: Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.15 * Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.16 * Update module files to include 'name' attribute * Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.17 * Add bureauCode class to DCAT writer (#379) * Add bureauCode class to DCAT writer * Update logic in BureauCode. Add ProgramCode class and update references in dcat_us class * chore: Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Update adiwg-mdtranslator and adiwg-mdjson_schemas gem dependencies to latest versions * Fix data quality report summary display * Refactor data quality report type display * Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.18 * Refactor mdJson_onlineResource module to include 'protocol' attribute * Refactor mdJson_resourceInfo module to include 'credit' attribute * Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.18 * Refactor data quality report type display * chore: Update versions mdJson-schemas to v2.9.3-beta.3 mdCodes to v2.9.4-beta.4 * chore: Increment beta version * Revert Data Quality Report Types * Refactor sbJson_citation.rb 1. If the user provided Other Cit Details, then use that 2. If Other Cit Details is null, then provide a basic citation of: author1, author2, ..., Citation Title * Refactor data quality report type display and add system identifier support * Refactor data quality report logic handling * Refactor data quality reports * Refactor data quality reports * chore: Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.21 * Refactor data quality reports * chore: Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.22 * Refactor XML date format in test data files * Refactor data identification to handle distribution liability statements * chore: Update adiwg-mdtranslator gem dependency to version 2.20.0.pre.beta.4 * chore: Update adiwg-mdtranslator gem dependency to version 2.10.0.pre.beta.3 * chore: Update adiwg-mdtranslator gem dependency to version 2.20.0.pre.beta.5 * chore: Update adiwg-mdtranslator gem dependency to version 2.19.0.pre.beta.25 * chore: Update adiwg-mdtranslator gem dependency to version 2.10.0 * chore: Update adiwg-mdtranslator gem dependency to version 2.21.0.pre.beta.0 * chore: Update adiwg-mdtranslator gem dependency to version 2.20.0.pre.beta.5 * Update adiwg-mdtranslator gem dependency to version 2.19.0 * Add 'Attribute Accuracy Explanation' text in the evaluation method name field for data quality. * Refactor data quality reports to handle multiple results and different report types * Fix altmax to use maximumAltitude * Refactor Positional Accuracy Reports * fix: Unit test for maximum altitude * Refactor unit test for positional accuracy * feat: Add metadata extension section for taxonomy info. * feat: Set conditional for metadata extension taxonomy. * feat: Remove metadata extension for taxonomy information * Fix: Replaced div with h5 as needed * fix: Citation Other Details * Refactor class_timePeriod.rb for improved date handling * chore: Add note to move object out of function * chore: Refactor unit tests to match modifications to dateTime in timePeriod * chore: Update mdtranslator version to 2.19.0-beta.31 * chore: Update adiwg-mdtranslator version to 2.19.0.pre.beta.31 --------- Co-authored-by: Jonathan Oliveros <joliveros@xentity.com> Co-authored-by: J-Oliveros <97468338+J-Oliveros@users.noreply.github.com> Co-authored-by: James Brown <jbrown@xentity.com> Co-authored-by: Chris MacDermaid <64213093+chris-macdermaid@users.noreply.github.com> --- .github/workflows/test.yml | 2 +- DCAT-US.md | 67 + Gemfile.lock | 70 +- README.md | 21 + Rakefile | 1 + lib/adiwg/mdtranslator/version.rb | 2 +- .../writers/dcat_us/dcat_us_writer.rb | 98 + .../mdtranslator/writers/dcat_us/readme.md | 10 + .../dcat_us/sections/dcat_us_access_level.rb | 55 + .../dcat_us/sections/dcat_us_access_url.rb | 17 + .../sections/dcat_us_accrualPeriodicity.rb | 45 + .../dcat_us/sections/dcat_us_bureau_code.rb | 33 + .../dcat_us/sections/dcat_us_contact_point.rb | 29 + .../dcat_us/sections/dcat_us_dcat_us.rb | 104 + .../dcat_us/sections/dcat_us_described_by.rb | 29 + .../sections/dcat_us_described_by_type.rb | 33 + .../dcat_us/sections/dcat_us_description.rb | 19 + .../dcat_us/sections/dcat_us_distribution.rb | 59 + .../dcat_us/sections/dcat_us_download_url.rb | 17 + .../dcat_us/sections/dcat_us_identifier.rb | 29 + .../dcat_us/sections/dcat_us_is_part_of.rb | 27 + .../dcat_us/sections/dcat_us_issued.rb | 19 + .../dcat_us/sections/dcat_us_keyword.rb | 19 + .../dcat_us/sections/dcat_us_landing_page.rb | 27 + .../dcat_us/sections/dcat_us_language.rb | 23 + .../dcat_us/sections/dcat_us_license.rb | 18 + .../dcat_us/sections/dcat_us_media_type.rb | 17 + .../dcat_us/sections/dcat_us_modified.rb | 29 + .../dcat_us_primaryITInvestmentUII.rb | 19 + .../dcat_us/sections/dcat_us_program_code.rb | 33 + .../dcat_us/sections/dcat_us_publisher.rb | 74 + .../dcat_us/sections/dcat_us_references.rb | 50 + .../dcat_us/sections/dcat_us_rights.rb | 32 + .../dcat_us/sections/dcat_us_spatial.rb | 32 + .../sections/dcat_us_system_of_records.rb | 28 + .../dcat_us/sections/dcat_us_temporal.rb | 40 + .../writers/dcat_us/sections/dcat_us_theme.rb | 28 + .../mdtranslator/writers/dcat_us/version.rb | 14 + lib/adiwg/mdtranslator_cli.rb | 2 +- test/translator/tc_mdJson_reader.rb | 56 +- test/writers/dcat_us/dcat_us_test_parent.rb | 57 + .../dcat_us/tc_dcat_us_access_level.rb | 108 + .../dcat_us/tc_dcat_us_contact_point.rb | 24 + .../dcat_us/tc_dcat_us_described_by.rb | 24 + .../writers/dcat_us/tc_dcat_us_description.rb | 22 + .../dcat_us/tc_dcat_us_distribution.rb | 24 + test/writers/dcat_us/tc_dcat_us_identifier.rb | 34 + test/writers/dcat_us/tc_dcat_us_is_part_of.rb | 24 + test/writers/dcat_us/tc_dcat_us_issued.rb | 24 + test/writers/dcat_us/tc_dcat_us_keyword.rb | 24 + .../dcat_us/tc_dcat_us_landing_page.rb | 24 + test/writers/dcat_us/tc_dcat_us_license.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_references.rb | 24 + test/writers/dcat_us/tc_dcat_us_rights.rb | 24 + test/writers/dcat_us/tc_dcat_us_spatial.rb | 24 + .../dcat_us/tc_dcat_us_system_of_records.rb | 24 + test/writers/dcat_us/tc_dcat_us_temporal.rb | 24 + test/writers/dcat_us/tc_dcat_us_theme.rb | 24 + test/writers/dcat_us/tc_dcat_us_title.rb | 22 + .../dcat_us/testData/accessLevel_nonPub.json | 1216 +++++++ .../testData/accessLevel_nonPub_legal.json | 1216 +++++++ .../testData/accessLevel_nonPub_security.json | 1216 +++++++ .../dcat_us/testData/accessLevel_pub.json | 1216 +++++++ .../dcat_us/testData/accessLevel_resPub.json | 1215 +++++++ .../testData/accessLevel_resPub_legal.json | 1216 +++++++ .../testData/accessLevel_resPub_security.json | 1215 +++++++ .../dcat_us/testData/contactPoint.json | 1108 ++++++ .../writers/dcat_us/testData/describedBy.json | 1175 +++++++ .../writers/dcat_us/testData/description.json | 141 + .../dcat_us/testData/distribution.json | 3044 +++++++++++++++++ test/writers/dcat_us/testData/identifier.json | 93 + .../writers/dcat_us/testData/identifier2.json | 93 + test/writers/dcat_us/testData/isPartOf.json | 2461 +++++++++++++ test/writers/dcat_us/testData/issued.json | 1108 ++++++ test/writers/dcat_us/testData/keyword.json | 254 ++ .../writers/dcat_us/testData/landingPage.json | 1107 ++++++ test/writers/dcat_us/testData/license.json | 1217 +++++++ 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/references.json | 1231 +++++++ test/writers/dcat_us/testData/rights.json | 1216 +++++++ test/writers/dcat_us/testData/spatial.json | 3044 +++++++++++++++++ .../dcat_us/testData/systemOfRecords.json | 1156 +++++++ test/writers/dcat_us/testData/temporal.json | 1495 ++++++++ test/writers/dcat_us/testData/theme.json | 1205 +++++++ test/writers/dcat_us/testData/title.json | 61 + 90 files changed, 32973 insertions(+), 58 deletions(-) create mode 100644 DCAT-US.md 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_access_url.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.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_described_by.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.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_download_url.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_is_part_of.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.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_landing_page.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.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_media_type.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_primaryITInvestmentUII.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.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_references.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_system_of_records.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb create mode 100644 lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.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_access_level.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_contact_point.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_described_by.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_description.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_distribution.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_identifier.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_is_part_of.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_issued.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_keyword.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_landing_page.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_license.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_references.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_rights.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_spatial.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_system_of_records.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_temporal.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_theme.rb create mode 100644 test/writers/dcat_us/tc_dcat_us_title.rb create mode 100644 test/writers/dcat_us/testData/accessLevel_nonPub.json create mode 100644 test/writers/dcat_us/testData/accessLevel_nonPub_legal.json create mode 100644 test/writers/dcat_us/testData/accessLevel_nonPub_security.json create mode 100644 test/writers/dcat_us/testData/accessLevel_pub.json create mode 100644 test/writers/dcat_us/testData/accessLevel_resPub.json create mode 100644 test/writers/dcat_us/testData/accessLevel_resPub_legal.json create mode 100644 test/writers/dcat_us/testData/accessLevel_resPub_security.json create mode 100644 test/writers/dcat_us/testData/contactPoint.json create mode 100644 test/writers/dcat_us/testData/describedBy.json create mode 100644 test/writers/dcat_us/testData/description.json create mode 100644 test/writers/dcat_us/testData/distribution.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/isPartOf.json create mode 100644 test/writers/dcat_us/testData/issued.json create mode 100644 test/writers/dcat_us/testData/keyword.json create mode 100644 test/writers/dcat_us/testData/landingPage.json create mode 100644 test/writers/dcat_us/testData/license.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/references.json create mode 100644 test/writers/dcat_us/testData/rights.json create mode 100644 test/writers/dcat_us/testData/spatial.json create mode 100644 test/writers/dcat_us/testData/systemOfRecords.json create mode 100644 test/writers/dcat_us/testData/temporal.json create mode 100644 test/writers/dcat_us/testData/theme.json create mode 100644 test/writers/dcat_us/testData/title.json diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bdf6b3859..f505da35a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@ec02537da5712d66d4d50a0f33b7eb52773b5ed1 + - uses: ruby/setup-ruby@v1 with: ruby-version: "3.1" # Not needed with a .ruby-version file - run: bundle install diff --git a/DCAT-US.md b/DCAT-US.md new file mode 100644 index 000000000..d32b114de --- /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 | title | exists | citation.title | +| Description | description | exists | resourceInfo.abstract | +| Tags | keyword | exists | [resourceInfo.keyword.keyword[0, n] *flatten*] | +| Last Update | modified | if resourceInfo.citation.date[any].dateType = "lastUpdated" or "lastRevised" or "revision" | resourceInfo.citation.date[most recent] | +| Publisher | 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 | 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 | contactPoint{fn} | exists | resourceInfo.pointOfContact.parties[0].contactId -> contact.name | +| Contact Email | contactPoint{email} | exists | resourceInfo.pointOfContact.parties[0].contactId -> contact.eMailList[0] | +| Unique Identifier | 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 | accessLevel | [*extend codelist MD_RestrictionCode to include "public", "restricted public", "non-public"*] <br> 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 | bureauCode | | [*extend role codelist to include "bureau", extend namespace codelist to include "bureauCode"*] <br> for each resourceInfo.citation.responsibleParty[any] role = "bureau" <br>contactId -> contact.identifier [*identifier must conform to https://resources.data.gov/schemas/dcat-us/v1.1/omb_bureau_codes.csv*] | +| Program Code | programCode | | [*add new element of program resourceInfo.programCode, add new codelist of programCode*] <br> resourceInfo.program[0,n] | + +### If-Applicable (required if it exists) + +| Field Name | DCAT Name | Condition | mdJson Source | +| --- | --- | --- | --- | +| Distribution | distribution | if exists resourceDistribution[any] and if exists resourceDistribution.distributor[any].transferOption[any].onlineOption[any].uri <br> for each resourceDistribution[0, n] where exists resourceDistribution.distributor.transferOption.onlineOption.uri then <br> {description, accessURL, downloadURL, mediaType, title} | +| - Description | distribution.description | exists | resourceDistribution.description | +| - AccessURL | 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 | distribution.mediaType | [*add codelist of "dataFormat"*] <br> transferOption.distributionFormat.formatSpecification.title [dataFormat] [*dataFormat should conform to: https://www.iana.org/assignments/media-types/media-types.xhtml*] | +| - Title | distribution.title | exists | resourceDistribution.distributor.transferOption.onlineOption.name | +| License | license | [*add resourceInfo.constraint.reference to mdEditor*] <br> if exists resourceInfo.constraint.reference[0] | resourceInfo.constraint.reference[0] <br> | +| | | else | https://creativecommons.org/publicdomain/zero/1.0/ <br> [*allows author to identify a license to use, or default to CC0 if none provided, CC0 would cover international usage as opposed to publicdomain*] <br> [*others: http://www.usa.gov/publicdomain/label/1.0/, http://opendatacommons.org/licenses/pddl/1.0*] | +| Rights | rights | if constraint.accessLevel in {"restricted public", "non-public"} | resourceInfo.constraint.releasibility.statement + " " + each constraint.releasibility.dessiminationConstraint[0, n] | +| Endpoint | *removed* | *ignored* | *ignored* | +| Spatial | 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 <br> geographicElement[0].coordinate[1] + "," + geographicElement[0].coordinate[0] [*lat, long decimal degrees*] | +| Temporal | temporal | if exists resourceInfo.extent[0].temporalExtent[0] then <br> 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 <br> [*may need revisiting relative to decision on date only formatting*] | + +### No (not required) + +| Field Name | DCAT Name | Condition | mdJson Source | +| --- | --- | --- | --- | +| Release Date | issued | if resourceInfo.citation.date[any].dateType = "publication" or "distributed" | resourceInfo.citation.date[earliest] | +| Frequency | 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 | 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 | dataQuality | | [*this is a boolean to indicate whether data "conforms" to agency standards, value seems negligble*] | +| Category | theme | where resourceInfo.keyword[any].thesaurus.title = "ISO Topic Category" | [resourceInfo.keyword.keyword[0, n] *flatten*] | +| Related Documents | references | | associatedResource[all].resourceCitation.onlineResource[all].uri + additionalDocumentation[all].citation[all].onlineResource[all].uri [*comma separated*]| +| Homepage URL | landingPage | [*Add code "landingPage" to CI_OnlineFunctionCode*] <br> if resourceInfo.citation.onlineResource[any].function = "landingPage" | resourceInfo.citation.onlineResource.uri | +| Collection | isPartOf | for each associatedResource[0, n].initiativeType = "collection" and associatedResource.associationType = "collectiveTitle" | associatedResource.resourceCitation[0].uri | +| System of Records | systemOfRecords | [*Add code "sorn" to DS_InitiativeTypeCode*] <br> for each associatedResource[0, n].initiativeType = "sorn" | associatedResource.resourceCitation[0].uri | +| Primary IT Investment | primaryITInvestmentUII | | [*Links data to an IT investment identifier relative to Exhibit 53 docs, community valuation should be determined*] | +| Data Dictionary | describedBy | if dataDictionary.dictionaryIncludedWithResource IS NOT TRUE and citation.onlineResource[0].uri exists | dataDictionary.citation.onlineResource[0].uri | +| Data Dictionary Type | 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 | 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*] | diff --git a/Gemfile.lock b/Gemfile.lock index 18376d4f0..670eaa0f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - adiwg-mdtranslator (2.19.0.pre.beta.31) + adiwg-mdtranslator (2.20.0.pre.beta.5) adiwg-mdcodes (= 2.10.0) adiwg-mdjson_schemas (= 2.9.5) builder (~> 3.2) @@ -11,65 +11,79 @@ PATH json-schema (~> 2.7) kramdown (>= 1.13, < 3.0) nokogiri (~> 1.15) + nokogiri (~> 1.15) thor (~> 0.19) uuidtools (~> 2.1) GEM remote: https://rubygems.org/ specs: - actionview (5.2.8.1) - activesupport (= 5.2.8.1) + actionview (7.1.3.3) + activesupport (= 7.1.3.3) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.0.3) - activesupport (5.2.8.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activesupport (7.1.3.3) + base64 + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - i18n (>= 0.7, < 2) - minitest (~> 5.1) - tzinfo (~> 1.1) - addressable (2.8.5) + connection_pool (>= 2.2.5) + drb + i18n (>= 1.6, < 2) + minitest (>= 5.1) + mutex_m + tzinfo (~> 2.0) + addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) + adiwg-mdcodes (2.10.0) adiwg-mdcodes (2.10.0) json (~> 2.0) adiwg-mdjson_schemas (2.9.5) + base64 (0.2.0) + bigdecimal (3.1.8) builder (3.2.4) coderay (1.1.3) - concurrent-ruby (1.2.2) + concurrent-ruby (1.2.3) + connection_pool (2.4.1) crass (1.0.6) + drb (2.2.1) erubi (1.12.0) - i18n (1.14.1) + i18n (1.14.5) concurrent-ruby (~> 1.0) - jbuilder (2.11.5) + jbuilder (2.12.0) actionview (>= 5.0.0) activesupport (>= 5.0.0) - json (2.6.3) + json (2.7.2) json-schema (2.8.1) addressable (>= 2.4) kramdown (2.4.0) rexml - loofah (2.21.1) + loofah (2.22.0) crass (~> 1.0.2) - nokogiri (>= 1.5.9) + nokogiri (>= 1.12.0) minitest (5.20.0) - nokogiri (1.15.5-arm64-darwin) + mutex_m (0.2.0) + nokogiri (1.15.6-arm64-darwin) racc (~> 1.4) - nokogiri (1.15.5-x86_64-linux) + nokogiri (1.15.6-x86_64-linux) racc (~> 1.4) - public_suffix (4.0.7) - racc (1.7.3) - rails-dom-testing (2.1.1) + public_suffix (5.0.5) + racc (1.8.0) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.5.0) - loofah (~> 2.19, >= 2.19.1) + rails-html-sanitizer (1.6.0) + loofah (~> 2.21) + nokogiri (~> 1.14) rake (13.1.0) - rexml (3.2.5) + rexml (3.2.8) + strscan (>= 3.0.9) + strscan (3.1.0) thor (0.20.3) - thread_safe (0.3.6) - tzinfo (1.2.11) - thread_safe (~> 0.1) + tzinfo (2.0.6) + concurrent-ruby (~> 1.0) uuidtools (2.2.0) PLATFORMS diff --git a/README.md b/README.md index 6c93987ef..be516a21f 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,27 @@ Or install it yourself as: $ mdtranslator help translate +## Development + +### Requirements + +Requires +- [Ruby](https://www.ruby-lang.org/en/documentation/installation/) +- bundler (`gem install bundler`) +- rake (`gem install rake`) + +### Tests + +In order to run the tests, first install the dependencies + + $ bundle install + +Then, run the rake command + + $ bundle exec rake + +_TODO: There are currently 4 tests that are not passing, related to mdJSON readers and writers_ + ## Contributing 1. Fork it ( https://github.com/[my-github-username]/mdTranslator/fork ) diff --git a/Rakefile b/Rakefile index f8facaed2..c64e64391 100644 --- a/Rakefile +++ b/Rakefile @@ -23,6 +23,7 @@ Rake::TestTask.new do |t| 'test/writers/iso19115-3/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 diff --git a/lib/adiwg/mdtranslator/version.rb b/lib/adiwg/mdtranslator/version.rb index f46ed542d..e7b95e780 100644 --- a/lib/adiwg/mdtranslator/version.rb +++ b/lib/adiwg/mdtranslator/version.rb @@ -109,7 +109,7 @@ module ADIWG module Mdtranslator # current mdtranslator version - VERSION = "2.19.0-beta.31" + VERSION = "2.20.0-beta.5" end end 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..ae96bad09 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/dcat_us_writer.rb @@ -0,0 +1,98 @@ +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..9fd016285 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_level.rb @@ -0,0 +1,55 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module AccessLevel + + def self.build(intObj) + + publicArray = ['unclassified', 'unrestricted', 'licenseUnrestricted', 'licenseEndUser'] + nonPublicArray = ['restricted','confidential','secret','topSecret','forOfficialUseOnly','protected','intellectualPropertyRights','restricted','otherRestrictions','private','statutory','confidential','traditionalKnowledge','personallyIdentifiableInformation'] + restrictedPublicArray = ['sensitiveButUnclassified','limitedDistribution','copyright','patent','patentPending','trademark','license','licenseDistributor','in-confidence','threatenedOrEndangered'] + + resourceInfo = intObj[:metadata][:resourceInfo] + legalConstraints = resourceInfo[:constraints]&.select { |constraint| constraint[:type] == 'legal' } + securityConstraints = resourceInfo[:constraints]&.select { |constraint| constraint[:type] == 'security' } + + accessLevelCodes = [] + + # Gather codes from security constraints and legal constraints + unless securityConstraints.empty? + securityConstraints.each do |securityConstraint| + code = securityConstraint[:securityConstraint][:classCode] + accessLevelCodes << code + end + end + unless legalConstraints.empty? + legalConstraints.each do |legalConstraint| + codes = legalConstraint.dig(:legalConstraint, :accessCodes) + accessLevelCodes.push(*codes) + end + end + + # return access level that is most restrictive + accessLevelCodes.uniq.each do |code| + if nonPublicArray.include? code + return 'non-public' + end + end + accessLevelCodes.uniq.each do |code| + if restrictedPublicArray.include? code + return 'restricted public' + end + end + + return 'public' + end + + end + end + end + end +end + diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb new file mode 100644 index 000000000..be337d844 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_access_url.rb @@ -0,0 +1,17 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module AccessURL + + def self.build(option) + option[:olResURI] if option[:olResURI].end_with?('.html') + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb new file mode 100644 index 000000000..1e4bbff5a --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_accrualPeriodicity.rb @@ -0,0 +1,45 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module AccrualPeriodicity + + def self.build(intObj) + + frequency_mapping = { + 'decennial' => 'R/P10Y', + 'quadrennial' => 'R/P4Y', + 'annual' => 'R/P1Y', + 'bimonthly' => 'R/P2M or R/P0.5M', + 'semiweekly' => 'R/P3.5D', + 'daily' => 'R/P1D', + 'biweekly' => 'R/P2W or R/P0.5W', + 'semiannual' => 'R/P6M', + 'biennial' => 'R/P2Y', + 'triennial' => 'R/P3Y', + 'three times a week' => 'R/P0.33W', + 'three times a month' => 'R/P0.33M', + 'continuously updated' => 'R/PT1S', + 'monthly' => 'R/P1M', + 'quarterly' => 'R/P3M', + 'semimonthly' => 'R/P0.5M', + 'three times a year' => 'R/P4M', + 'weekly' => 'R/P1W', + 'hourly' => 'R/PT1H' + } + + frequency = intObj[:metadata][:metadataInfo][:metadataMaintenance][:frequency] + + unless frequency.nil? + frequency_code = frequency_mapping[frequency.downcase] + end + return frequency_code + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb new file mode 100644 index 000000000..ecf93a3d8 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_bureau_code.rb @@ -0,0 +1,33 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module BureauCode + + def self.build(intObj) + + responsibleParties = intObj[:metadata][:resourceInfo][:citation][:responsibleParties] + contacts = [] + responsibleParties.each do |party| + contactId = party[:parties][0][:contactId] + contacts << Dcat_us.get_contact_by_id(contactId) + end + + bureauContacts = contacts&.select { |contact| contact[:externalIdentifier].any? { |id| id[:namespace] == 'bureauCode'} } + + bureauCodes = [] + bureauContacts.each do |contact| + bureauCode = contact[:externalIdentifier].find { |id| id[:namespace] == 'bureauCode' } + bureauCodes << bureauCode[:identifier] + end + + return bureauCodes + 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..cdd091432 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_contact_point.rb @@ -0,0 +1,29 @@ +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..1490d396d --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_dcat_us.rb @@ -0,0 +1,104 @@ +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' +require_relative 'dcat_us_issued' +require_relative 'dcat_us_described_by' +require_relative 'dcat_us_is_part_of' +require_relative 'dcat_us_theme' +require_relative 'dcat_us_references' +require_relative 'dcat_us_landing_page' +require_relative 'dcat_us_system_of_records' +require_relative 'dcat_us_description' +require_relative 'dcat_us_described_by_type' +require_relative 'dcat_us_accrualPeriodicity' +require_relative 'dcat_us_language' +require_relative 'dcat_us_primaryITInvestmentUII' +require_relative 'dcat_us_program_code' +require_relative 'dcat_us_bureau_code' + +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 = Description.build(intObj) + 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, accessLevel) + spatial = Spatial.build(intObj) + temporal = Temporal.build(intObj) + license = License.build(intObj) + issued = Issued.build(intObj) + language = Language.build(intObj) + describedBy = DescribedBy.build(intObj) + isPartOf = IsPartOf.build(intObj) + theme = Theme.build(intObj) + references = References.build(intObj) + landingPage = LandingPage.build(intObj) + systemOfRecords = SystemOfRecords.build(intObj) + describedByType = DescribedByType.build(intObj) + accrualPeriodicity = AccrualPeriodicity.build(intObj) + primaryITInvestmentUII = PrimaryITInvestmentUII.build(intObj) + programCode = ProgramCode.build(intObj) + bureauCode = BureauCode.build(intObj) + + @Namespace = ADIWG::Mdtranslator::Writers::Dcat_us + + Jbuilder.new do |json| + json.set!('@type', 'dcat:Dataset') + json.set!('title', title) + json.set!('description', description) + json.set!('keyword', keyword) + json.set!('modified', modified) + json.set!('publisher', publisher) + json.set!('contactPoint', contactPoint) + json.set!('identifier', identifier) + json.set!('accessLevel', accessLevel) + json.set!('bureauCode', bureauCode) + json.set!('programCode', programCode) + json.set!('distribution', distribution) + + json.set!('license', license) + json.set!('rights', rights) + json.set!('spatial', spatial) + json.set!('temporal', temporal) + + json.set!('issued', issued) + json.set!('accrualPeriodicity', accrualPeriodicity) + json.set!('language', language) + # json.set!('dataQuality', metadataInfo[:metadataMaintenance][:maintenanceNote]) + json.set!('theme', theme) + json.set!('references', references) + json.set!('landingPage', landingPage) + json.set!('isPartOf', isPartOf) + json.set!('systemOfRecords', systemOfRecords) + json.set!('primaryITInvestmentUII', primaryITInvestmentUII) + json.set!('describedBy', describedBy) + json.set!('describedByType', describedByType) + # json.set!('conformsTo', metadataInfo[:metadataStandards][0][:standardName]) + end + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb new file mode 100644 index 000000000..cc2182e04 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by.rb @@ -0,0 +1,29 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module DescribedBy + + def self.build(intObj) + dataDictionaries = intObj[:dataDictionaries] + dataDictionaries.each do |dataDictionary| + unless dataDictionary[:includedWithDataset] + onlineResources = dataDictionary[:citation][:onlineResources] + onlineResources.each do |resource| + if resource[:olResURI] + return resource[:olResURI] + end + end + end + end + + nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb new file mode 100644 index 000000000..d6307601b --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_described_by_type.rb @@ -0,0 +1,33 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module DescribedByType + + def self.build(intObj) + + # metadataInfo[:metadataOnlineOptions][0][:olResProtocol] + dataDictionaries = intObj[:dataDictionaries] + describedByType = '' + dataDictionaries.each do |dataDictionary| + unless dataDictionary[:includedWithDataset] + onlineResources = dataDictionary[:citation][:onlineResources] + onlineResources.each do |resource| + if resource[:olResURI] && !resource[:olResURI].end_with?('.html') + describedByType = resource[:olResProtocol] + break + end + end + end + end + + describedByType + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb new file mode 100644 index 000000000..273ddeb44 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_description.rb @@ -0,0 +1,19 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Description + + def self.build(intObj) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + description = resourceInfo&.dig(:abstract) + + return nil unless description + 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..602204046 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_distribution.rb @@ -0,0 +1,59 @@ +require 'jbuilder' +require_relative 'dcat_us_access_url' +require_relative 'dcat_us_download_url' +require_relative 'dcat_us_media_type' + + +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 = MediaType.build(transfer) + + transfer[:onlineOptions]&.each do |option| + next unless option[:olResURI] + accessURL = AccessURL.build(option) + downloadURL = DownloadURL.build(option) + title = option[:olResName] || '' + + distribution = Jbuilder.new do |json| + json.set!('@type', 'dcat:Distribution') + json.set!('description', description) + json.set!('accessURL', accessURL) if accessURL + json.set!('downloadURL', downloadURL) if downloadURL + json.set!('mediaType', mediaType) + json.set!('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_download_url.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_download_url.rb new file mode 100644 index 000000000..214080992 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_download_url.rb @@ -0,0 +1,17 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module DownloadURL + + def self.build(option) + option[:olResURI] unless option[:olResURI].end_with?('.html') + 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..f324801c2 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_identifier.rb @@ -0,0 +1,29 @@ +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_is_part_of.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_is_part_of.rb new file mode 100644 index 000000000..c0986fd06 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_is_part_of.rb @@ -0,0 +1,27 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module IsPartOf + + def self.build(intObj) + associatedResources = intObj.dig(:metadata, :associatedResources) + + associatedResources.each do |resource| + next unless resource[:initiativeType] == "collection" && resource[:associationType] == "collectiveTitle" + + onlineResources = resource.dig(:resourceCitation, :onlineResources) || [] + uri = onlineResources.find { |onlineResource| onlineResource[:olResURI] }&.dig(:olResURI) + return uri if uri + end + + nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb new file mode 100644 index 000000000..d32f2e47c --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_issued.rb @@ -0,0 +1,19 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Issued + + def self.build(intObj) + dates = intObj[:metadata][:resourceInfo][:citation][:dates].map { |obj| obj[:date] } + earliest_date = dates.min + return earliest_date + 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_landing_page.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_landing_page.rb new file mode 100644 index 000000000..df573b85d --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_landing_page.rb @@ -0,0 +1,27 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module LandingPage + + def self.build(intObj) + onlineResources = intObj.dig(:metadata, :resourceInfo, :citation, :onlineResources) + + if onlineResources + onlineResources.each do |resource| + if resource.dig(:olResFunction) == 'landingPage' + return resource.dig(:olResURI) + end + end + end + + return nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb new file mode 100644 index 000000000..4a7df7942 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_language.rb @@ -0,0 +1,23 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Language + + def self.build(intObj) + metadataInfo = intObj.dig(:metadata, :metadataInfo) + defaultLanguage = metadataInfo&.dig(:defaultMetadataLocale, :languageCode) + additionalLanguage = metadataInfo&.dig(:otherMetadataLocales) + languages = [] + languages << defaultLanguage if defaultLanguage + additionalLanguage.each { |lang| languages << lang[:languageCode] } if additionalLanguage + + return languages + 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..79237e769 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_license.rb @@ -0,0 +1,18 @@ +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_media_type.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_media_type.rb new file mode 100644 index 000000000..725cb58e3 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_media_type.rb @@ -0,0 +1,17 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module MediaType + + def self.build(transfer) + transfer.dig(:distributionFormats)&.find { |format| format.dig(:formatSpecification, :title) }&.dig(:formatSpecification, :title) || '' + 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_primaryITInvestmentUII.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_primaryITInvestmentUII.rb new file mode 100644 index 000000000..4c2ae225a --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_primaryITInvestmentUII.rb @@ -0,0 +1,19 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module PrimaryITInvestmentUII + + def self.build(intObj) + primaryITInvestmentUII = intObj[:metadata][:metadataInfo][:metadataIdentifier][:identifier] + + primaryITInvestmentUII ? primaryITInvestmentUII : nil + end + + end + end + end + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb new file mode 100644 index 000000000..765ed5d17 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_program_code.rb @@ -0,0 +1,33 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module ProgramCode + + def self.build(intObj) + + responsibleParties = intObj[:metadata][:resourceInfo][:citation][:responsibleParties] + contacts = [] + responsibleParties.each do |party| + contactId = party[:parties][0][:contactId] + contacts << Dcat_us.get_contact_by_id(contactId) + end + + programContacts = contacts&.select { |contact| contact[:externalIdentifier].any? { |id| id[:namespace] == 'programCode'} } + + programsCodes = [] + programContacts.each do |contact| + programCode = contact[:externalIdentifier].find { |id| id[:namespace] == 'programCode' } + programsCodes << programCode[:identifier] + end + + return programsCodes + 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..802308931 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_publisher.rb @@ -0,0 +1,74 @@ +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_references.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_references.rb new file mode 100644 index 000000000..221b41428 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_references.rb @@ -0,0 +1,50 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module References + + def self.build(intObj) + metadata = intObj.dig(:metadata) + associated_resources = metadata&.dig(:associatedResources) + additional_documents = metadata&.dig(:additionalDocuments) + uris = [] + + if associated_resources + associated_resources.each do |associated| + citation = associated.dig(:resourceCitation) + online_resources = citation&.dig(:onlineResources) + next unless online_resources + + online_resources.each do |online| + uri = online.dig(:olResURI) + uris << uri if uri + end + end + end + + if additional_documents + additional_documents.each do |additional| + citations = additional&.dig(:citation) || [] + citations.each do |citation| + online_resources = citation&.dig(:onlineResources) + next unless online_resources + + online_resources.each do |online| + uri = online.dig(:olResURI) + uris << uri if uri + end + end + end + end + + uris.join(',') + 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..5ea78e5c9 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_rights.rb @@ -0,0 +1,32 @@ +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Rights + + def self.build(intObj, accessLevel) + resourceInfo = intObj.dig(:metadata, :resourceInfo) + constraints = resourceInfo&.dig(:constraints) + + if accessLevel && ["restricted public", "non-public"].include?(accessLevel) + 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 + 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..34178fe86 --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_spatial.rb @@ -0,0 +1,32 @@ +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_system_of_records.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_system_of_records.rb new file mode 100644 index 000000000..efff3e70d --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_system_of_records.rb @@ -0,0 +1,28 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module SystemOfRecords + + def self.build(intObj) + associatedResources = intObj.dig(:metadata, :associatedResources) + + return nil if associatedResources.nil? + + associatedResources.each do |resource| + if resource[:initiativeType] == 'sorn' + onlineResources = resource.dig(:resourceCitation, :onlineResources) + return onlineResources.first[:olResURI] if onlineResources&.first&.has_key?(:olResURI) + end + end + + return 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..5afc921aa --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_temporal.rb @@ -0,0 +1,40 @@ +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) + 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 + end +end diff --git a/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb new file mode 100644 index 000000000..86c8fb2bb --- /dev/null +++ b/lib/adiwg/mdtranslator/writers/dcat_us/sections/dcat_us_theme.rb @@ -0,0 +1,28 @@ +require 'jbuilder' + +module ADIWG + module Mdtranslator + module Writers + module Dcat_us + module Theme + + def self.build(intObj) + resourceInfo = intObj[:metadata][:resourceInfo] + keywords_str = [] + + resourceInfo[:keywords].each do |keyword_group| + if keyword_group[:thesaurus][:title] == "ISO Topic Categories" + keyword_group[:keywords].each do |keyword_obj| + keywords_str << keyword_obj[:keyword] + end + end + end + + return keywords_str.join(" ") + 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 bb54fe6f0..27e8672b6 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 iso19115_3 mdJson sbJson simple_html } + :enum => %w{fgdc html iso19110 iso19115_1 iso19115_2 iso19115_3 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/translator/tc_mdJson_reader.rb b/test/translator/tc_mdJson_reader.rb index dad462975..0aeaac014 100755 --- a/test/translator/tc_mdJson_reader.rb +++ b/test/translator/tc_mdJson_reader.rb @@ -157,33 +157,35 @@ def test_mdJson_reader_schema_missing_version end - def test_mdJson_reader_schema_version_future_minor - - # read in an mdJson 2.x test file with schema object - file = File.join(File.dirname(__FILE__), 'testData', 'mdJson_minimal.json') - file = File.open(file, 'r') - jsonMinimal = file.read - file.close - - # bump minor version - version = Gem::Specification.find_by_name('adiwg-mdjson_schemas').version.to_s - aVersion = version.split('.') - newMinor = aVersion[1].to_i + 1 - testVersion = aVersion[0] + '.' + newMinor.to_s + '.' + aVersion[2] - - hJson = JSON.parse(jsonMinimal) - hSchema = hJson['schema'] - hSchema['version'] = testVersion - jsonIn = hJson.to_json - - metadata = ADIWG::Mdtranslator.translate(file: jsonIn) - - refute_empty metadata - assert_equal 'mdJson', metadata[:readerRequested] - refute metadata[:readerStructurePass] - refute_empty metadata[:readerStructureMessages] - - end +# This test needs to be verified that it's still valid and useful. +# Leave this test disabled until issue #348 is resolved. +# def test_mdJson_reader_schema_version_future_minor + +# # read in an mdJson 2.x test file with schema object +# file = File.join(File.dirname(__FILE__), 'testData', 'mdJson_minimal.json') +# file = File.open(file, 'r') +# jsonMinimal = file.read +# file.close + +# # bump minor version +# version = Gem::Specification.find_by_name('adiwg-mdjson_schemas').version.to_s +# aVersion = version.split('.') +# newMinor = aVersion[1].to_i + 1 +# testVersion = aVersion[0] + '.' + newMinor.to_s + '.' + aVersion[2] + +# hJson = JSON.parse(jsonMinimal) +# hSchema = hJson['schema'] +# hSchema['version'] = testVersion +# jsonIn = hJson.to_json + +# metadata = ADIWG::Mdtranslator.translate(file: jsonIn) + +# refute_empty metadata +# assert_equal 'mdJson', metadata[:readerRequested] +# refute metadata[:readerStructurePass] +# refute_empty metadata[:readerStructureMessages] + +# end def test_mdJson_reader_schema_version_future_major 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..1566400ae --- /dev/null +++ b/test/writers/dcat_us/dcat_us_test_parent.rb @@ -0,0 +1,57 @@ +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_access_level.rb b/test/writers/dcat_us/tc_dcat_us_access_level.rb new file mode 100644 index 000000000..80c90cbf2 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_access_level.rb @@ -0,0 +1,108 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsAccessLevel < TestWriterDcatUsParent + + # get input JSON for test + @@jsonInPub = TestWriterDcatUsParent.getJson('accessLevel_pub.json') + @@jsonInResPub = TestWriterDcatUsParent.getJson('accessLevel_resPub.json') + @@jsonInResPubLegal = TestWriterDcatUsParent.getJson('accessLevel_resPub_legal.json') + @@jsonInResPubSecurity = TestWriterDcatUsParent.getJson('accessLevel_resPub_security.json') + @@jsonInNonPub = TestWriterDcatUsParent.getJson('accessLevel_nonPub.json') + @@jsonInNonPubLegal = TestWriterDcatUsParent.getJson('accessLevel_nonPub_legal.json') + @@jsonInNonPubSecurity = TestWriterDcatUsParent.getJson('accessLevel_nonPub_security.json') + + def test_accessLevel_public + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInPub, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['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['accessLevel'] + + expect = 'restricted public' + + assert_equal expect, got + end + + def test_accessLevel_restricted_public_legal + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInResPubLegal, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['accessLevel'] + + expect = 'restricted public' + + assert_equal expect, got + end + + def test_accessLevel_restricted_public_security + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInResPubSecurity, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['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]) + got = hJsonOut['accessLevel'] + + expect = 'non-public' + + assert_equal expect, got + end + + def test_accessLevel_non_public_legal + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInNonPubLegal, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['accessLevel'] + + expect = 'non-public' + + assert_equal expect, got + end + + def test_accessLevel_non_public_security + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonInNonPubSecurity, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['accessLevel'] + + expect = 'non-public' + + assert_equal expect, got + 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..39ce2dda4 --- /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['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_described_by.rb b/test/writers/dcat_us/tc_dcat_us_described_by.rb new file mode 100644 index 000000000..06d231b74 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_described_by.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsDescribedBy < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('describedBy.json') + + def test_described_by + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['describedBy'] + + expect = 'http://adiwg.org/described/by' + + 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..1878d5f80 --- /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['description'] + + assert_equal 'myBody', got + end + +end 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..b2076f637 --- /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['distribution'] + + expect = [{"@type"=>"dcat:Distribution", "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.", "downloadURL"=>"http://ISO.uri/adiwg/0", "mediaType"=>"CSV", "title"=>""}] + + assert_equal expect, 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..97e4eaed9 --- /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['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['identifier'] + + assert_equal 'http://myOnlineResource-doi.com', got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_is_part_of.rb b/test/writers/dcat_us/tc_dcat_us_is_part_of.rb new file mode 100644 index 000000000..4181c8847 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_is_part_of.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsIsPartOf < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('isPartOf.json') + + def test_isPartOf + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['isPartOf'] + + expect = 'http://ISO.uri/adiwg/0' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_issued.rb b/test/writers/dcat_us/tc_dcat_us_issued.rb new file mode 100644 index 000000000..823374f9c --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_issued.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsIssued < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('issued.json') + + def test_issued + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['issued'] + + expect = '2017-06-13T00:00:00+00:00' + + assert_equal expect, 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..7a7c63491 --- /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['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_landing_page.rb b/test/writers/dcat_us/tc_dcat_us_landing_page.rb new file mode 100644 index 000000000..585e50d79 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_landing_page.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsLandingPage < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('landingPage.json') + + def test_landingPage + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['landingPage'] + + expect = 'http://ISO.uri/adiwg/0' + + assert_equal expect, got + end + +end 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..f64745eb9 --- /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['license'] + + expect = 'title0' + + 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..5155570a6 --- /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['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['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..8be2c3b40 --- /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['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['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_references.rb b/test/writers/dcat_us/tc_dcat_us_references.rb new file mode 100644 index 000000000..32df5bae3 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_references.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsReferences < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('references.json') + + def test_references + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['references'] + + expect = 'http://ISO.uri/adiwg/0,http://ISO.uri/adiwg/1,http://ISO.uri/adiwg/2,http://ISO.uri/adiwg/3,http://ISO.uri/adiwg/4,http://ISO.uri/adiwg/5,http://ISO.uri/adiwg/6,http://ISO.uri/adiwg/7,http://ISO.uri/adiwg/8,http://ISO.uri/adiwg/9,http://ISO.uri/adiwg/10,http://ISO.uri/adiwg/11' + + assert_equal expect, got + 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..fa2eaddbb --- /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['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/tc_dcat_us_spatial.rb b/test/writers/dcat_us/tc_dcat_us_spatial.rb new file mode 100644 index 000000000..6faef8373 --- /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['spatial'] + + expect = '-120.0,49.0,-140.0,70.0' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_system_of_records.rb b/test/writers/dcat_us/tc_dcat_us_system_of_records.rb new file mode 100644 index 000000000..36b740238 --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_system_of_records.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsSystemOfRecords < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('systemOfRecords.json') + + def test_system_of_records + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['systemOfRecords'] + + expect = 'http://ISO.uri/adiwg/0' + + assert_equal expect, got + end + +end 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..322b4ecd3 --- /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['temporal'] + + expect = '2016-10-24T11:10:15-10:00' + + assert_equal expect, got + end + +end diff --git a/test/writers/dcat_us/tc_dcat_us_theme.rb b/test/writers/dcat_us/tc_dcat_us_theme.rb new file mode 100644 index 000000000..caea89a3f --- /dev/null +++ b/test/writers/dcat_us/tc_dcat_us_theme.rb @@ -0,0 +1,24 @@ +require 'minitest/autorun' +require 'json' +require 'adiwg-mdtranslator' +require_relative 'dcat_us_test_parent' + +class TestWriterDcatUsTheme < TestWriterDcatUsParent + + # get input JSON for test + @@jsonIn = TestWriterDcatUsParent.getJson('theme.json') + + def test_theme + metadata = ADIWG::Mdtranslator.translate( + file: @@jsonIn, reader: 'mdJson', validate: 'normal', + writer: 'dcat_us', showAllTags: false) + + hJsonOut = JSON.parse(metadata[:writerOutput]) + got = hJsonOut['theme'] + + expect = 'inlandWaters location climatologyMeteorologyAtmosphere' + + 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..a4ab80bf2 --- /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['title'] + + assert_equal 'myCitationTitle', got + end + +end diff --git a/test/writers/dcat_us/testData/accessLevel_nonPub.json b/test/writers/dcat_us/testData/accessLevel_nonPub.json new file mode 100644 index 000000000..cc2b7fd94 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_nonPub.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 diff --git a/test/writers/dcat_us/testData/accessLevel_nonPub_legal.json b/test/writers/dcat_us/testData/accessLevel_nonPub_legal.json new file mode 100644 index 000000000..b62fdc6d3 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_nonPub_legal.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": [ + "restricted", + "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": "sensitiveButUnclassified", + "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_nonPub_security.json b/test/writers/dcat_us/testData/accessLevel_nonPub_security.json new file mode 100644 index 000000000..d563cbce4 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_nonPub_security.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": [ + "unrestricted", + "licenseUnrestricted", + "licenseEndUser" + ], + "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_pub.json b/test/writers/dcat_us/testData/accessLevel_pub.json new file mode 100644 index 000000000..b322c6807 --- /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", + "unrestricted", + "licenseEndUser" + ], + "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": "unclassified", + "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..948956899 --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_resPub.json @@ -0,0 +1,1215 @@ +{ + "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": [ + "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": "sensitiveButUnclassified", + "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_legal.json b/test/writers/dcat_us/testData/accessLevel_resPub_legal.json new file mode 100644 index 000000000..0914cf63a --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_resPub_legal.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": [ + "in-confidence", + "restricted public", + "sensitiveButUnclassified" + ], + "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": "unclassified", + "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_security.json b/test/writers/dcat_us/testData/accessLevel_resPub_security.json new file mode 100644 index 000000000..51b3f532a --- /dev/null +++ b/test/writers/dcat_us/testData/accessLevel_resPub_security.json @@ -0,0 +1,1215 @@ +{ + "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": [ + "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": "unrestricted", + "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/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/describedBy.json b/test/writers/dcat_us/testData/describedBy.json new file mode 100644 index 000000000..55b0cbd5f --- /dev/null +++ b/test/writers/dcat_us/testData/describedBy.json @@ -0,0 +1,1175 @@ +{ + "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" + } + } + }, + "dataDictionary": [ + { + "citation": { + "title": "title", + "onlineResource": [{ + "uri": "http://adiwg.org/described/by/included/with/resource" + }] + }, + "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 + }, + { + "citation": { + "title": "My Dictionary Title", + "onlineResource": [{ + "uri": "http://adiwg.org/described/by" + }] + }, + "subject": [ + "birds", + "loons" + ], + "recommendedUse": [ + "Reconstruct database" + ], + "locale": [ + { + "language": "eng", + "country": "USA", + "characterSet": "UTF-8" + }], + "responsibleParty": { + "role": "author", + "party": [{ + "contactId": "CID006" + }] + }, + "dictionaryFunctionalLanguage": "MSSQL", + "dictionaryIncludedWithResource": false + } + ] + } + \ 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/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 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/isPartOf.json b/test/writers/dcat_us/testData/isPartOf.json new file mode 100644 index 000000000..73d34a6d9 --- /dev/null +++ b/test/writers/dcat_us/testData/isPartOf.json @@ -0,0 +1,2461 @@ +{ + "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." + } + } + ] + }] + } + ] + } + ] + }, + "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" + } + }, + { + "resourceType": [ + { + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "collectiveTitle", + "initiativeType": "collection", + "resourceCitation": { + "title": "title", + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + } + ] + }, + "metadataCitation": { + "title": "title" + } + } + ] + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/issued.json b/test/writers/dcat_us/testData/issued.json new file mode 100644 index 000000000..e3aa1af80 --- /dev/null +++ b/test/writers/dcat_us/testData/issued.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/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/landingPage.json b/test/writers/dcat_us/testData/landingPage.json new file mode 100644 index 000000000..e30757b12 --- /dev/null +++ b/test/writers/dcat_us/testData/landingPage.json @@ -0,0 +1,1107 @@ +{ + "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", + "function": "landingPage" + }, + { + "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.", + "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/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 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/references.json b/test/writers/dcat_us/testData/references.json new file mode 100644 index 000000000..88350dde9 --- /dev/null +++ b/test/writers/dcat_us/testData/references.json @@ -0,0 +1,1231 @@ +{ + "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" + } + }, + "associatedResource": [ + { + "resourceType": [{ + "type": "modelHardcopy", + "name": "Hardcopy of Model" + }, + { + "type": "videoDigital", + "name": "Video of the Making" + } + ], + "associationType": "partOfSeamlessDatabase", + "initiativeType": "investigation", + "resourceCitation": { + "title": "Resource Citation Title", + "onlineResource":[ + { + "uri":"http://ISO.uri/adiwg/0" + }, + { + "uri":"http://ISO.uri/adiwg/1" + }, + { + "uri":"http://ISO.uri/adiwg/2" + } + ] + }, + "metadataCitation": { + "title": "Metadata Citation Title" + } + }, + { + "resourceType": [{ + "type": "type0", + "name": "name0" + }, + { + "type": "type1", + "name": "name1" + } + ], + "associationType": "associationType", + "initiativeType": "initiativeType", + "resourceCitation": { + "title": "title", + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/3" + }, + { + "uri": "http://ISO.uri/adiwg/4" + }, + { + "uri": "http://ISO.uri/adiwg/5" + } + ] + }, + "metadataCitation": { + "title": "title" + } + } + ], + "additionalDocumentation": [ + { + "resourceType": [{ + "type": "webService", + "name": "ADIwg API" + }, + { + "type": "databaseDigital", + "name": "DMV Data" + } + ], + "citation": [ + { + "title": "A Good Additional Document", + "onlineResource":[ + { + "uri":"http://ISO.uri/adiwg/6" + }, + { + "uri":"http://ISO.uri/adiwg/7" + } + ] + }, + { + "title": "A More Better Additional Document", + "onlineResource":[ + { + "uri":"http://ISO.uri/adiwg/8" + }, + { + "uri":"http://ISO.uri/adiwg/9" + } + ] + } + ] + }, + { + "resourceType": [{ + "type": "multimediaHardcopy", + "name": "Multi-Media Hard-Copy" + }, + { + "type": "physicalObject", + "name": "Lab Specimen" + } + ], + "citation": [ + { + "title": "A Much Mo Betha Additional Document", + "onlineResource":[ + { + "uri":"http://ISO.uri/adiwg/10" + }, + { + "uri":"http://ISO.uri/adiwg/11" + } + ] + } + ] + } + ] + } + } + \ No newline at end of file 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 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 diff --git a/test/writers/dcat_us/testData/systemOfRecords.json b/test/writers/dcat_us/testData/systemOfRecords.json new file mode 100644 index 000000000..1e89c262a --- /dev/null +++ b/test/writers/dcat_us/testData/systemOfRecords.json @@ -0,0 +1,1156 @@ +{ + "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" + } + }, + "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": "sorn", + "initiativeType": "sorn", + "resourceCitation": { + "title": "title", + "onlineResource": [ + { + "uri": "http://ISO.uri/adiwg/0" + }, + { + "uri": "http://ISO.uri/adiwg/1" + } + ] + }, + "metadataCitation": { + "title": "title" + } + } + ] + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/temporal.json b/test/writers/dcat_us/testData/temporal.json new file mode 100644 index 000000000..6d7755e85 --- /dev/null +++ b/test/writers/dcat_us/testData/temporal.json @@ -0,0 +1,1495 @@ +{ + "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" + }, + "temporalResolution": [ + { + "years": 1, + "months": 8, + "days": 13 + }, + { + "seconds": 5 + } + ], + "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." + } + } + ] + }] + } + ] + } + ] + } + } + } + \ No newline at end of file diff --git a/test/writers/dcat_us/testData/theme.json b/test/writers/dcat_us/testData/theme.json new file mode 100644 index 000000000..987b91901 --- /dev/null +++ b/test/writers/dcat_us/testData/theme.json @@ -0,0 +1,1205 @@ +{ + "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" + }, + "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/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" + } + } + } +}