├── .github └── workflows │ └── build-docs.yml ├── .gitignore ├── .project ├── .yamllint ├── FullUMLModel.png ├── Makefile ├── README.md ├── UMLModel.qea ├── config.yml ├── development_notes.md ├── examples ├── APItesting │ ├── 309fc4ed5-cbc9-4821-918a-1ff0aa92d0dd.json │ ├── APIThing-identifier.json │ ├── EDS2BOMAN_8734.json │ ├── ExportServiceJSON.json │ ├── igsn-hrv000r35.json │ └── k2xw4b51b.json ├── GEOME │ ├── GEOME-child-iSamplesMapping.json │ ├── GEOMEFieldsAndMapping.xlsx │ ├── GEOMEiSamplesMapping.json │ ├── Note.txt │ ├── README.md │ ├── raw │ │ ├── ark-21547-CZN2BMOO_08061.json │ │ ├── ark-21547-CaT2PNMNH_50701.json │ │ ├── ark-21547-Car2PIRE_0334.json │ │ ├── ark-21547-CgZ2PEER_7055.json │ │ ├── ark-21547-Cgx2MGH18_1_E4.json │ │ ├── ark-21547-DRW2LACM-DISCO-16924.json │ │ ├── ark-21547-DSz21155.json │ │ ├── ark-21547-DXw21601500071.json │ │ ├── ark-21547-Djr2MS_19_22190.json │ │ ├── ark-21547-RF2USGSDRO288554.json │ │ ├── ark-21547-eg2AB4OQ34.json │ │ ├── ark-21547-oK2HMA81.json │ │ ├── ark-21547-oR2HOR431.json │ │ ├── ark-21547-py2FIkoglLHCO684.json │ │ ├── ark-21547-qx2HL1046.26.json │ │ ├── sample_eg_01.json │ │ ├── sample_eg_02.json │ │ ├── sample_eg_03.json │ │ └── sample_eg_04.json │ ├── required.csv │ └── test1.0Valid │ │ ├── ark-21547-AvL2C02_201705281001-v1.json │ │ ├── ark-21547-Car2PIRE_0334-child-v1.json │ │ ├── ark-21547-CgZ2PEER_7055-v1.json │ │ ├── ark-21547-DRW2LACM-DISCO-16924-v1.json │ │ └── ark-21547-eg2AB4OQ34-v1.json ├── OpenContext │ ├── FeatureCollectionSchema.json │ ├── FeatureCollectionSchemaEcuador.json │ ├── ProjectMetadataWorkflow.docx │ ├── ark-ProjectTemplate-v1.json │ ├── ark-ProjectTemplate-v1.yaml │ ├── raw │ │ ├── README.md │ │ ├── ark-28722-k20v8wf4s.json │ │ ├── ark-28722-k25m6n269.json │ │ ├── ark-28722-k28d0b21r.json │ │ ├── ark-28722-k2b570022.json │ │ ├── ark-28722-k2d511s24.json │ │ ├── ark-28722-k2hx1rn9x.json │ │ ├── ark-28722-k2m61xj9b.json │ │ ├── ark-28722-k2p84pt1m.json │ │ ├── ark-28722-k2qj7np9g.json │ │ ├── ark-28722-k2r78rh73.json │ │ ├── ark-28722-k2s473387.json │ │ ├── ark-28722-k2sj1wp0c.json │ │ ├── ark-28722-k2w66w62f.json │ │ ├── ark-28722-k2wq0d434.json │ │ ├── ark_28722_k27w68z78metadataE555826E-42A5-4293-3B0A-0C76553A9B53.xml │ │ ├── ark_28722_k2ns0m04tmetadata0975F728-9896-40D9-1878-EAC09D1BB0A0.xml │ │ ├── ark_28722_k2sx64g08metadataFC96A49E-FE12-488B-4EFF-02D4E147B885.xml │ │ ├── f423496d-c695-46da-97c5-aacc89553f69.json │ │ ├── sample_eg_01.json │ │ ├── sample_eg_02-redux.json │ │ ├── sample_eg_02.json │ │ ├── sample_eg_03.json │ │ └── sample_eg_04.json │ └── test1.0Valid │ │ ├── ark-28722-k28d0b21r-v1.json │ │ ├── ark-28722-k2b570022-v1.json │ │ ├── ark-28722-k2d511s24-v1.json │ │ ├── ark-28722-k2m61xj9b-v1.json │ │ └── ark-28722-k2w66w62f-v1.json ├── SESAR │ ├── EOI00002H-schemaorg-json-ld.json │ ├── README.md │ ├── SESARjson-ld2jsonMapping.json │ ├── raw │ │ ├── EOI00002Hjson-ld.json │ │ ├── FB2000022json-ld.json │ │ ├── IECJCL265json-ldScript.json │ │ ├── IEDUT103Bjson-ld.json │ │ ├── IEDUT104Cjson-ld.json │ │ ├── IEEJR000Mjson-ld.json │ │ ├── IEEJT006Gjson-ld.json │ │ ├── IEJEN0040json-ld.json │ │ ├── IELUJM108json-ld.json │ │ ├── IERVTL1I7json-ld.json │ │ ├── ODP000002json-ldScript.json │ │ ├── ODP01XBMJjson-ld.json │ │ └── ODP02Q1IZ.json │ └── test1.0Valid │ │ ├── SESARDjango-Template.json │ │ ├── SESARTemplateBasic.json │ │ ├── iSamplesEOI00002HBasic-v1.json │ │ ├── iSamplesIEDUT103BBasic-v1.json │ │ ├── iSamplesIEEJR000MBasic-v1.json │ │ ├── iSamplesIEJEN0040Basic-v1.json │ │ ├── iSamplesIERVTL1I7Basic-v1.json │ │ ├── iSamplesODP02Q1IZ-v1.json │ │ └── mindatBasicM50-AH4-v1.json ├── brainExample1.json ├── brainSubSample1.json ├── fullTestInstance1.json ├── fullTestJSON-LDInstance1.json ├── geoJSON │ ├── GeoJSON0.3-DISCO16924.json │ └── GeoJSON0.3-OpenContextk2qj7np9g.json ├── keywordSchemeName.xlsx └── smithonsonian │ ├── Annotated Smithosonian sample record.docx │ ├── README.md │ ├── Smithosonian-iSamplesMapping.xlsx │ ├── SmithosonianSampleDescriptions.xlsx │ ├── raw │ ├── DwC_occurrence_10.csv │ ├── README.md │ ├── sample_eg_01.json │ ├── sample_eg_02.json │ ├── sample_eg_03.json │ └── sample_eg_04.json │ ├── rtf-nmnh_paleo_dwc-a-v1.37.rtf │ └── test1.0Valid │ ├── ark-65665-300008335-8d74-4c3f-873c-a9d8b4b3d6a8-test.json │ ├── ark-65665-3000094eb-c82e-4c82-88f2-25f2a9b40796-v1.json │ ├── ark-65665-30000cb27-702b-4d34-ac24-3e46e14d5519-v1.json │ └── ark-65665-300042b39-2b9a-4df9-b27f-d47237261659-v1.json ├── mkdocs.yml ├── notes ├── ProjectMetadata │ ├── readme.md │ └── ~$ProjectMetadataModel.xlsx ├── background │ ├── BarcodeOfLife-BOLD Handbook.pdf │ ├── CIDOC │ │ ├── E19 Physical Object - CIDOC CRM.url │ │ └── E19 Physical Object in version 7.docx │ ├── DISCO-DigitalSpecimenModel.png │ ├── DataCite │ │ ├── DataCite-MetadataKernel_v4.4.docx │ │ ├── DataCite-MetadataKernel_v4.4.pdf │ │ ├── DataCiteMetadata4.4-edit.json │ │ ├── DataCiteMetadata4.4.json │ │ └── DataCiteMetadata4.4.xsd │ ├── ENVOmaterial-hierarchy20210302SMR.ttl │ ├── ESS-DIVE │ │ ├── DamerowEtAl2021-1299-9146-1-PB.pdf │ │ ├── ESS-DIVE-SampleMetadata-guide.md │ │ ├── ESS-DIVEsampleTemplate.xls │ │ ├── ESS_DIVE-Materials.xlsx │ │ ├── SESARmetadataProblems10.5334_dsj-2021-011_T3.xls │ │ ├── sampleMetadataTranslationTable.csv │ │ └── sampleMetadataTranslationTable.xlsx │ ├── GEOME-TDWG │ │ ├── GEOME-Config.json │ │ ├── GEOME-MeyerBiocubeTemplateFields.xlsx │ │ ├── GEOME-NMNH-testTemplate.xlsx │ │ ├── GGBN MaterialSampleVocabulary v1 - GGBN Wiki.url │ │ ├── MIDS-TDWGMaterialTypeDiscussion.url │ │ ├── NeoomaSampleTop.png │ │ ├── PrepartionMethod-sampleType-CollectionsDigitisationDashboard.txt │ │ ├── mixs_v5.xlsx │ │ ├── slotDefinitionBioLinkML.md │ │ └── tdwgVocabulary.csv │ ├── GeoScience │ │ ├── CZOSoilSampleProcessing.png │ │ ├── GeoSciMLGeologicSpecimen.png │ │ ├── IGSNContentLevels.pdf │ │ ├── MilanHabermann-marineGeosampleTemplate.html │ │ ├── gaSampleType.xlsx │ │ ├── ga_sample-type_v1-0.ttl │ │ ├── geoCASESpecimenType.png │ │ └── nicholascar_gsq-sample-profile.pdf │ ├── MetadataOverviewESIP2020-01.pdf │ ├── ODM-CUAHSI │ │ ├── CUAHSI-SampleTypeCV.xlsx │ │ ├── ODM2-SamplingFeature.png │ │ ├── ODM2-complexProcessingExample-Rock.png │ │ └── ODM2specimentype.csv │ ├── OpenContext-Archae-anthro │ │ ├── Gilbert_Carlson2011-Schema.docx │ │ ├── Gilbert_Carlson2011-specimen-based-data.pdf │ │ └── OpenContext-Object-FabricType.xlsx │ ├── SOSA-basedModels.eapx │ ├── SOSA-basedModels.qea │ ├── SampleMetadataModel.png │ ├── iSamples Metadata.pptx │ ├── schemaorg-current-https.ttl │ └── sosa.ttl ├── cardSorting │ ├── MaterialTypeCategories-OptimalSortFormat.xlsx │ ├── SpecimenTypeCatories-OptimalSortFormat.xls │ ├── SpecimenTypeCatories-OptimalSortFormat.xlsx │ ├── optimalsort_SpecimenTypeCards.xlsx │ ├── optimalsort_SpecimenTypeCards2.xlsx │ ├── sampledFeatureCatories-OptimalSortFormat.xls │ └── sampledFeatureCatories-OptimalSortFormat.xlsx ├── geological-survey-of-queensland-sample-profile.url ├── parse_vocabulary.ipynb ├── schemaOrg │ ├── iSamplesSchema.orgScheme.json │ ├── iSamplesSchema.orgScheme2.0.json │ ├── instancetest1.json │ ├── instancetest2.json │ └── materialSample-example.json └── vocabulary │ ├── GEOME habitat-sampledFeatureExtension.xlsx │ ├── MaterialTypeDecisionTreev3.pdf │ ├── MaterialTypeDecisionTreev3.pptx │ ├── OpenContextSitesAndSampledFeatureDetail.pptx │ ├── RoleVocabulary.xlsx │ ├── SampledFeatureDecisionTreeV20210703.pdf │ ├── SampledFeatureDecisionTreeV20210703.pptx │ ├── SamplingProcedure.md │ ├── SpecimenTypeDecisionTreev2.pptx │ ├── archive │ ├── MaterialTypeDecisionTree.pdf │ ├── MaterialTypeDecisionTree.pptx │ ├── MaterialTypeDecisionTreev2.pdf │ ├── MaterialTypeDecisionTreev2.pptx │ ├── Object.docx │ ├── SampledFeatureDecisionTree.png │ ├── SampledFeatureDecisionTree.pptx │ ├── SampledFeatureDecisionTreeV2.pdf │ ├── SampledFeatureDecisionTreeV2.pptx │ ├── SampledFeatureDecisionTreeV3.pdf │ ├── SampledFeatureDecisionTreeV3.pptx │ ├── SampledFeatureDecisionTreeV4.pdf │ ├── SampledFeatureDecisionTreeV4.pptx │ ├── SpecimenTypeDecisionTreev2.pdf │ ├── SpecimentTypeDecisionTree.pdf │ ├── SpecimentTypeDecisionTree.pptx │ ├── SpecimentTypeDecisionTree20210420.pdf │ ├── iSample-Material-newURI.ttl │ ├── iSample-Material.ttl │ ├── iSample-SampledFeature-newURI.ttl │ ├── iSample-SampledFeature.ttl │ ├── iSample-SampledFeaturebkuttl │ ├── iSample-SpecimenType-newURI.ttl │ ├── iSample-SpecimenType.ttl │ ├── iSamplesSchema.ttl │ ├── materialType.md │ ├── sampledFeature.md │ ├── specimenType.md │ └── vocabulary-archive │ │ ├── SampleMaterial-GSQ.ttl │ │ ├── iSample-Material-newURI.ttl │ │ ├── iSample-SampledFeature-newURI.ttl │ │ └── iSample-SpecimenType-newURI.ttl │ ├── background │ ├── BGBaseKindOfSpecimen.xlsx │ ├── IGSN-description_metadata_documentation.md │ ├── OpenContextVocabularies-oc-general.owl │ ├── SESARVocabularyMapping.xls │ ├── SampleTypeCompilation.xlsx │ ├── abcdefg.xsd │ └── periodov.ttl │ ├── catalog-v001.xml │ ├── iSample-SampleMetadataProperties.xlsx │ ├── iSample-SamplePurpose.ttl │ └── sample-material.ttlGgeological-survey-of-queensland.url ├── poetry.lock ├── pyproject.toml ├── quarto ├── _quarto.yml └── styles.scss ├── requirements.txt ├── schemaMapping ├── DataCite-iSamplesMapping.csv ├── DataCite-iSamplesMapping.docx ├── DataCite-iSamplesMapping.pdf ├── IGSN-iSamplesMapping.csv ├── IGSN-iSamplesMapping.docx ├── IGSN-iSamplesMapping.pdf ├── MIDS-iSamplesMapping.csv ├── MIDS-iSamplesMapping.docx ├── MIDS-iSamplesMapping.pdf ├── OpenDS-iSamplesMapping.csv ├── OpenDS-iSamplesMapping.docx ├── OpenDS-iSamplesMapping.pdf ├── schema.org-iSamplesMapping-ODIS.docx ├── schema.org-iSamplesMapping.csv ├── schema.org-iSamplesMapping.docx └── schema.org-iSamplesMapping.pdf ├── specimen-materialSampleReplacements.txt ├── src ├── docs │ └── glossary.md └── schemas │ ├── iSamplesSchemaCore1.0.json │ └── isamples_core.yaml └── tools ├── docgen.py ├── docgen ├── _model.yml.jinja2 ├── class.md.jinja2 ├── class.qmd.jinja2 ├── class_diagram.md.jinja2 ├── class_diagram.qmd.jinja2 ├── class_overview_diagram.qmd.jinja2 ├── common_metadata.md.jinja2 ├── common_metadata.qmd.jinja2 ├── enum.md.jinja2 ├── enum.qmd.jinja2 ├── index.md.jinja2 ├── index.qmd.jinja2 ├── index.tex.jinja2 ├── schema.md.jinja2 ├── schema.qmd.jinja2 ├── slot.md.jinja2 ├── slot.qmd.jinja2 ├── subset.md.jinja2 ├── subset.qmd.jinja2 ├── type.md.jinja2 └── type.qmd.jinja2 ├── vocab2jsonld.py ├── vocab2md.py ├── vocab2md └── vocab.md.jinja2 └── vocab2yml.py /.github/workflows/build-docs.yml: -------------------------------------------------------------------------------- 1 | name: Build and publish documentation 2 | 3 | # Docs are built with a push to main or when triggered manually. 4 | # Docs are placed in the gh-pages branch. 5 | # 6 | # Note that manually triggering this action from another branch 7 | # will replace the gh-pages branch 8 | on: 9 | push: 10 | branches: 11 | - main 12 | workflow_dispatch: 13 | 14 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 15 | jobs: 16 | github-pages: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - name: for running under act on mac os 20 | run: | 21 | # Hack to get setup-python to work on act 22 | if [ ! -f "/etc/lsb-release" ] ; then 23 | echo "DISTRIB_RELEASE=22.04" > /etc/lsb-release 24 | fi 25 | - uses: quarto-dev/quarto-actions/setup@v2 26 | with: 27 | version: 1.6.40 28 | - uses: actions/checkout@v4 29 | - uses: actions/setup-python@v5 30 | with: 31 | python-version: 3.11 32 | cache: 'pip' 33 | 34 | - name: Install dependencies 35 | run: pip install -r requirements.txt 36 | 37 | #- name: Make directory for output (workaround for permissions issue) 38 | # run: mkdir -p ${{ github.workspace }}/build/docs/vocabularies 39 | 40 | #- name: Parse vocabularies 41 | # uses: isamplesorg/vocabularies@main 42 | # with: 43 | # action: docs 44 | # path: ${{ github.workspace }}/build/docs/vocabularies 45 | 46 | #- name: List the output of the vocabulary 47 | # run: ls -l ${{ github.workspace }}/build/docs/vocabularies 48 | 49 | - name: Render documentation 50 | run: make gen-docs 51 | 52 | - name: List the output of the docs directory 53 | run: ls -l ${{ github.workspace }}/build/docs/ 54 | 55 | - name: Publish documentation 56 | uses: peaceiris/actions-gh-pages@v3 57 | with: 58 | github_token: ${{ secrets.GITHUB_TOKEN }} 59 | publish_dir: ./docs 60 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .DS_Store 3 | /.quarto 4 | /_site 5 | 6 | # Byte-compiled / optimized / DLL files 7 | __pycache__/ 8 | *.py[cod] 9 | *$py.class 10 | 11 | # C extensions 12 | *.so 13 | 14 | # Distribution / packaging 15 | .Python 16 | build/ 17 | develop-eggs/ 18 | dist/ 19 | downloads/ 20 | eggs/ 21 | .eggs/ 22 | lib/ 23 | lib64/ 24 | parts/ 25 | sdist/ 26 | var/ 27 | wheels/ 28 | pip-wheel-metadata/ 29 | share/python-wheels/ 30 | *.egg-info/ 31 | .installed.cfg 32 | *.egg 33 | MANIFEST 34 | 35 | # PyInstaller 36 | # Usually these files are written by a python script from a template 37 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 38 | *.manifest 39 | *.spec 40 | 41 | # Installer logs 42 | pip-log.txt 43 | pip-delete-this-directory.txt 44 | 45 | # Unit test / coverage reports 46 | htmlcov/ 47 | .tox/ 48 | .nox/ 49 | .coverage 50 | .coverage.* 51 | .cache 52 | nosetests.xml 53 | coverage.xml 54 | *.cover 55 | *.py,cover 56 | .hypothesis/ 57 | .pytest_cache/ 58 | 59 | # Translations 60 | *.mo 61 | *.pot 62 | 63 | # Django stuff: 64 | *.log 65 | local_settings.py 66 | db.sqlite3 67 | db.sqlite3-journal 68 | 69 | # Flask stuff: 70 | instance/ 71 | .webassets-cache 72 | 73 | # Scrapy stuff: 74 | .scrapy 75 | 76 | # Sphinx documentation 77 | docs/_build/ 78 | 79 | # PyBuilder 80 | /target/ 81 | 82 | # Jupyter Notebook 83 | .ipynb_checkpoints 84 | 85 | # IPython 86 | profile_default/ 87 | ipython_config.py 88 | 89 | # pyenv 90 | .python-version 91 | 92 | # pipenv 93 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 94 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 95 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 96 | # install all needed dependencies. 97 | #Pipfile.lock 98 | 99 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 100 | __pypackages__/ 101 | 102 | # Celery stuff 103 | celerybeat-schedule 104 | celerybeat.pid 105 | 106 | # SageMath parsed files 107 | *.sage.py 108 | 109 | # Environments 110 | .env 111 | .venv 112 | env/ 113 | venv/ 114 | ENV/ 115 | env.bak/ 116 | venv.bak/ 117 | 118 | # Spyder project settings 119 | .spyderproject 120 | .spyproject 121 | 122 | # Rope project settings 123 | .ropeproject 124 | 125 | # mkdocs documentation 126 | /site 127 | 128 | # mypy 129 | .mypy_cache/ 130 | .dmypy.json 131 | dmypy.json 132 | 133 | # Pyre type checker 134 | .pyre/ 135 | tools/local/jwt.txt 136 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | metadata 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | extends: default 4 | 5 | rules: 6 | line-length: 7 | max: 120 8 | -------------------------------------------------------------------------------- /FullUMLModel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/FullUMLModel.png -------------------------------------------------------------------------------- /UMLModel.qea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/UMLModel.qea -------------------------------------------------------------------------------- /config.yml: -------------------------------------------------------------------------------- 1 | includes: 2 | - markdown 3 | - jsonschema 4 | - jsonldcontext 5 | - shacl 6 | - rdf 7 | - owl 8 | - python 9 | - csv 10 | directory: generated 11 | -------------------------------------------------------------------------------- /development_notes.md: -------------------------------------------------------------------------------- 1 | # iSamples Schema Development Notes 2 | 3 | 1. All artifacts should be built from the source schema. 4 | 2. The source schema is `src/schemas/isamples_core.yaml`. 5 | 3. The source schema is defined using LinkML YAML. 6 | 4. Artifacts are generated using the linkml tools. 7 | 5. HTML documentation is built with Quarto, with linkml used to generate the `.qmd` 8 | 9 | ## Generating HTML 10 | 11 | Destination = `docs/`. On GitHub, that folder is used to serve the content using GitHub pages. An intermediate folder `build/docs` is used to hold ther intermediate files prior to running the markdown to html generator. 12 | 13 | Generating the `.qmd` files: 14 | ``` 15 | python tools/docgen.py \ 16 | --log_level INFO 17 | --dialect quarto \ 18 | --sort-by name \ 19 | --format quarto \ 20 | --mergeimports \ 21 | --metadata \ 22 | --directory docs \ 23 | src/schema/isamples_core.yaml 24 | ``` 25 | 26 | Building the HTML using quarto: 27 | ``` 28 | # create intermediate folder 29 | mkdir docs 30 | # Copy static stuff from source to destination 31 | cp src/docs/*.md docs/ 32 | # Copy quarto config and related artifacts to docs 33 | cp quarto/* docs/ 34 | touch docs/.nojekyll 35 | pushd docs 36 | quarto render 37 | popd 38 | ``` -------------------------------------------------------------------------------- /examples/APItesting/APIThing-identifier.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.isamples.org/digitalsample/igsn/NHB000TLJ", 4 | "label": "NMNH 125875-00 (MIN)", 5 | "sample_identifier": "IGSN:NHB000TLJ", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Any sampled feature", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/anysampledfeature" 11 | } 12 | ], 13 | "has_context_category_confidence": [1.0], 14 | "has_material_category": [ 15 | { 16 | "label": "Mineral", 17 | "identifier": "https://w3id.org/isample/vocabulary/material/mineral" 18 | } 19 | ], 20 | "has_material_category_confidence": "None", 21 | "has_specimen_category": [ 22 | { 23 | "label": "Physical specimen", 24 | "identifier": "https://w3id.org/isample/vocabulary/specimentype/physicalspecimen" 25 | } 26 | ], 27 | "has_specimen_category_confidence": [1.0], 28 | "informal_classification": [""], 29 | "keywords": ["Individual Sample"], 30 | "produced_by": { 31 | "@id": "", 32 | "label": "", 33 | "description": "", 34 | "has_feature_of_interest": "", 35 | "responsibility": ["Adam Mansur,,Sample Owner"], 36 | "result_time": "2015-05-02 11:21:17", 37 | "sampling_site": { 38 | "description": "Matched to Tsumeb (3352593) in GeoNames based on township and country. Assigned a 5 km error radius around the city.", 39 | "label": "", 40 | "sample_location": { 41 | "elevation": "", 42 | "latitude": -19.23, 43 | "longitude": 17.72 44 | }, 45 | "place_name": [ 46 | "Otjikoto", 47 | "Tsumeb" 48 | ] 49 | } 50 | }, 51 | "registrant": {"name": "Adam Mansur"}, 52 | "sampling_purpose": "", 53 | "curation": { 54 | "label": "", 55 | "description": "", 56 | "access_constraints": "", 57 | "curation_location": "", 58 | "responsibility": [] 59 | }, 60 | "related_resource": [], 61 | "authorized_by": [], 62 | "complies_with": [], 63 | "producedBy_samplingSite_location_h3_0": "80adfffffffffff", 64 | "producedBy_samplingSite_location_h3_1": "81acbffffffffff", 65 | "producedBy_samplingSite_location_h3_2": "82acb7fffffffff", 66 | "producedBy_samplingSite_location_h3_3": "83acb3fffffffff", 67 | "producedBy_samplingSite_location_h3_4": "84acb33ffffffff", 68 | "producedBy_samplingSite_location_h3_5": "85acb32ffffffff", 69 | "producedBy_samplingSite_location_h3_6": "86acb32e7ffffff", 70 | "producedBy_samplingSite_location_h3_7": "87acb32e6ffffff", 71 | "producedBy_samplingSite_location_h3_8": "88acb32e65fffff", 72 | "producedBy_samplingSite_location_h3_9": "89acb32e643ffff", 73 | "producedBy_samplingSite_location_h3_10": "8aacb32e640ffff", 74 | "producedBy_samplingSite_location_h3_11": "8bacb32e6408fff", 75 | "producedBy_samplingSite_location_h3_12": "8cacb32e64083ff", 76 | "producedBy_samplingSite_location_h3_13": "8dacb32e64082bf", 77 | "producedBy_samplingSite_location_h3_14": "8eacb32e640828f" 78 | } -------------------------------------------------------------------------------- /examples/APItesting/ExportServiceJSON.json: -------------------------------------------------------------------------------- 1 | { 2 | "sample_identifier": "IGSN:NHB000TLJ", 3 | "label": "NMNH 125875-00 (MIN)", 4 | "description": "", 5 | "source_collection": "SESAR", 6 | "has_sample_object_type": [{"label":"Other solid object"}], 7 | "has_material_category": [{"label":"Mineral"}], 8 | "has_context_category": [{"label":"Earth interior"}], 9 | "keywords": [{"keyword":"Individual Sample"}], 10 | "produced_by": { 11 | "responsibility": [{"name":"Adam Mansur","role":"Sample Owner"}], 12 | "result_time": "2015-05-02", 13 | "sampling_site": { 14 | "description": "Matched to Tsumeb (3352593) in GeoNames based on township and country. Assigned a 5 km error radius around the city.", 15 | "place_name": [ 16 | "Otjikoto", 17 | "Tsumeb" 18 | ], 19 | "sample_location": { 20 | "elevation": "", 21 | "latitude": -19.23, 22 | "longitude": 17.72 } 23 | } 24 | }, 25 | "registrant": { 26 | "name": "Adam Mansur" 27 | }, 28 | "sampling_purpose": "", 29 | "curation": { 30 | "label": "", 31 | "description": "", 32 | "access_constraints": [], 33 | "curation_location": "", 34 | "responsibility": [] 35 | }, 36 | "related_resource": [], 37 | "authorized_by": null, 38 | "complies_with": [] 39 | } -------------------------------------------------------------------------------- /examples/APItesting/igsn-hrv000r35.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../../src/schemas/iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.isamples.org/digitalsample/igsn/HRV000R35", 4 | "label": "87831", 5 | "sample_identifier": "IGSN:HRV000R35", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Any sampled feature", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/anysampledfeature" 11 | } 12 | ], 13 | "has_context_category_confidence": [1.0], 14 | "has_material_category": [ 15 | { 16 | "label": "Mineral", 17 | "identifier": "https://w3id.org/isample/vocabulary/material/mineral" 18 | } 19 | ], 20 | "has_material_category_confidence": null, 21 | "has_sample_object_type": [ 22 | { 23 | "label": "Material sample", 24 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/materialsample" 25 | } 26 | ], 27 | "has_sample_object_type_confidence": [1.0], 28 | "informal_classification": [""], 29 | "keywords": [{"keyword":"Individual Sample"}], 30 | "produced_by": { 31 | "label": "Manual", 32 | "description": "Manual. Mineral Group: Columbite; ", 33 | "has_feature_of_interest": "", 34 | "identifier":"SamplingEventID", 35 | "responsibility": [{"name":"Carl Francis","role":"Sample Owner"}], 36 | "result_time": "2007-02-03", 37 | "sampling_site": { 38 | "description": "", 39 | "label": "", 40 | "sample_location": {}, 41 | "place_name": [ 42 | "Connecticut", 43 | "Middletown", 44 | "Middletown" 45 | ] 46 | } 47 | }, 48 | "registrant": {"name": "Carl Francis"}, 49 | "sampling_purpose": "", 50 | "curation": { 51 | "label": "", 52 | "description": "", 53 | "access_constraints": [""], 54 | "curation_location": "", 55 | "responsibility": [] 56 | }, 57 | "related_resource": [], 58 | "authorized_by": [], 59 | "complies_with": [], 60 | "producedBy_samplingSite_location_h3_0": null, 61 | "producedBy_samplingSite_location_h3_1": null, 62 | "producedBy_samplingSite_location_h3_2": null, 63 | "producedBy_samplingSite_location_h3_3": null, 64 | "producedBy_samplingSite_location_h3_4": null, 65 | "producedBy_samplingSite_location_h3_5": null, 66 | "producedBy_samplingSite_location_h3_6": null, 67 | "producedBy_samplingSite_location_h3_7": null, 68 | "producedBy_samplingSite_location_h3_8": null, 69 | "producedBy_samplingSite_location_h3_9": null, 70 | "producedBy_samplingSite_location_h3_10": null, 71 | "producedBy_samplingSite_location_h3_11": null, 72 | "producedBy_samplingSite_location_h3_12": null, 73 | "producedBy_samplingSite_location_h3_13": null, 74 | "producedBy_samplingSite_location_h3_14": null 75 | } -------------------------------------------------------------------------------- /examples/GEOME/GEOME-child-iSamplesMapping.json: -------------------------------------------------------------------------------- 1 | { 2 | "NOTE":"USE THIS FOR children that are entity: tissue", 3 | 4 | "@schema": "iSamplesSchemaCore1.0.json", 5 | "@id": "concatenate 'metadata/' prefix with ark from child/bcid, e.g. metadata/21547/Cat2INDO106431.1]", 6 | "label": "child/tissueID", 7 | "sample_identifier": "child/bcid", 8 | "description": "key value pairs from any content in the child record that isn't otherwise used.", 9 | "has_context_category": ["same as parent"], 10 | "has_material_category": ["'Organic material' unless record/entity, record/basisOfRecord, or record/collectionCode indicate otherwise"], 11 | "has_sample_object_type": ["'Organism part' unless record/entity, record/basisOfRecord, or record/collectionCode indicate otherwise"], 12 | "keywords": [], 13 | "produced_by": { 14 | "label": "'tissue subsample from' & {record/materialSampleID}", 15 | "description": "", 16 | "has_feature_of_interest": "", 17 | "responsibility": [{"role":"collector","name":"who did the tissue extract, if available"}], 18 | "result_time": "time the tissue extract was done, if available", 19 | "sampling_site": { 20 | "description": "This is same as parent sample; concatenate other stuff from parent. Include min and max elevation if both present and not equal: 'elevation range:'& parent/maximumElevationInMeters &'-' & parent/maximumElevationInMeters. 'coordinate uncertainty:'& parent/coordinateUncertaintyInMeters. ", 21 | "label": "parent/locality", 22 | "sample_location": { 23 | "elevation": "parent/maximumElevationInMeters", 24 | "latitude": "[parent/decimalLatitude]", 25 | "longitude": "[decimalLatitude/decimalLongitude]" 26 | }, 27 | "place_name": ["most specific of parent/ -country, -county, -stateProvince, -continentOcean. Need to determine what are all the possible place name fields and set up partial order. "] 28 | } 29 | }, 30 | "registrant": {}, 31 | "sampling_purpose": "", 32 | "curation": { 33 | "label":"", 34 | "description":"", 35 | "access_constraints": [], 36 | "curation_location": "'tissueWell:' & child/tissueWell & 'tissuePlate:' & child/tissuePlate", 37 | "responsibility": [] 38 | }, 39 | "related_resource": [ { 40 | "label":"'parent sample' & record/materialSampleID", 41 | "description":"", 42 | "target":"record/bcid", 43 | "relationship":"'derived_from'" 44 | } ] 45 | } -------------------------------------------------------------------------------- /examples/GEOME/GEOMEFieldsAndMapping.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/GEOME/GEOMEFieldsAndMapping.xlsx -------------------------------------------------------------------------------- /examples/GEOME/Note.txt: -------------------------------------------------------------------------------- 1 | Question and Problem: 2 | 1) It's hard to determine "hasFeatureofIneterest" without expertise. 3 | 2) some children fields aren't mapped to the iSamples. 4 | 3) some fields need uniform format. 5 | e.g in the description, should we use ";" or "|" to distinguish different infomation? 6 | 4) As for "hascontextcategory", we roughly use sampledfeature from the record to represent this field. 7 | 8 | 9 | 10 | 11 | Ark list (14 total) 12 | 13 | ark:/21547/Dei2BOMAN_3342 14 | 15 | ark:/21547/AvL2C02_201705281001 16 | 17 | ark:/21547/uL2FTP_3175_tissue 18 | 19 | ark:/21547/Dlt2K0147A1 20 | 21 | ark:/21547/DXw290_SCP 22 | 23 | ark:/21547/DXw21700400292 24 | 25 | ark:/21547/Dei2BOMAN_3337 26 | 27 | ark:/21547/Caz2ES25_H02 28 | 29 | ark:/21547/Clq2ES30_A9 30 | 31 | ark:/21547/DXw216017_00089 32 | 33 | ark:/21547/DXw22_SBWMA 34 | 35 | ark:/21547/DXw2ADA_18Feb16_21 36 | 37 | ark:/21547/Dei2BOMAN_3584 38 | 39 | ark:/21547/mx2CMU_176 40 | -------------------------------------------------------------------------------- /examples/GEOME/README.md: -------------------------------------------------------------------------------- 1 | # OpenContext Example Metadata 2 | 3 | These samples were pulled from the [GEOME](https://api.geome-db.org/apidocs/) service API. 4 | using an unpublished service. 5 | 6 | * Example 01 7 | * Identifier: `ark:/21547/CvL21552460` 8 | * Landing page: https://geome-db.org/record/ark:~2F21547~2FCvL21552460 9 | * JSON: [sample_eg_01.json](sample_eg_01.json) 10 | * Example 02 11 | * Identifier: `ark:/21547/Caz20184658500_ES89_H05` 12 | * Landing page: https://geome-db.org/record/ark:~2F21547~2FCaz20184658500_ES89_H05 13 | * JSON: [sample_eg_02.json](sample_eg_02.json) 14 | * Example 03 15 | * Identifier: `ark:/21547/Caz20184659124_ES91_D05` 16 | * Landing page: https://geome-db.org/record/ark:~2F21547~2FCaz20184659124_ES91_D05 17 | * JSON: [sample_eg_03.json](sample_eg_03.json) 18 | * Example 04 19 | * Identifier: `ark:/21547/AdI20102453454` 20 | * Landing page: https://geome-db.org/record/ark:~2F21547~2FAdI20102453454 21 | * JSON: [sample_eg_04.json](sample_eg_04.json) 22 | 23 | -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-CZN2BMOO_08061.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/CZP2BIZ_036", 4 | "entity": "Event", 5 | "island": "Moorea", 6 | "country": "French Polynesia", 7 | "eventID": "BIZ_036", 8 | "taxTeam": "MINV", 9 | "locality": "Up hill at Gump station", 10 | "projectId": "75", 11 | "dayCollected": "24", 12 | "collectorList": "Gustav Paulay", 13 | "yearCollected": "2009", 14 | "eventEnteredBy": "Sarah McPherson", 15 | "expeditionCode": "MINV_BMOO", 16 | "monthCollected": "10", 17 | "decimalLatitude": "-17.49090", 18 | "horizontalDatum": "unknown", 19 | "decimalLongitude": "-149.82830", 20 | "samplingProtocol": "picked up at night", 21 | "maximumElevationInMeters": "15", 22 | "minimumElevationInMeters": "15" 23 | }, 24 | "record": { 25 | "bcid": "ark:/21547/CZN2BMOO_08061", 26 | "class": "Malacostraca", 27 | "genus": "Coenobita", 28 | "order": "Decapoda", 29 | "entity": "Sample", 30 | "family": "Coenobitidae", 31 | "phylum": "Arthropoda", 32 | "eventID": "BIZ_036", 33 | "kingdom": "Animalia", 34 | "fixative": "75% ethanol", 35 | "subClass": "Eumalacostraca", 36 | "subOrder": "Pleocyemata", 37 | "projectId": "75", 38 | "subPhylum": "Crustacea", 39 | "taxonRank": "specificEpithet", 40 | "infraOrder": "Anomura", 41 | "superOrder": "Eucarida", 42 | "superFamily": "Paguroidea", 43 | "identifiedBy": "Gustav Paulay", 44 | "preservative": "75% ethanol", 45 | "catalogNumber": "http://n2t.net/ark:/21547/R2MBIO26504", 46 | "dayIdentified": "2", 47 | "expeditionCode": "MINV_BMOO", 48 | "scientificName": "Coenobita brevimanus", 49 | "yearIdentified": "2009", 50 | "institutionCode": "University of Florida", 51 | "monthIdentified": "11", 52 | "sampleEnteredBy": "Sarah McPherson", 53 | "specificEpithet": "brevimanus", 54 | "materialSampleID": "BMOO_08061", 55 | "voucherCatalogNumber": "UF:Arthropoda:23853" 56 | }, 57 | "children": [ 58 | { 59 | "bcid": "ark:/21547/CZQ2MBIO26504.1", 60 | "entity": "Tissue", 61 | "tissueID": "MBIO26504.1", 62 | "projectId": "75", 63 | "tissueWell": "C08", 64 | "tissuePlate": "Plate_M162", 65 | "expeditionCode": "MINV_BMOO", 66 | "materialSampleID": "BMOO_08061", 67 | "tissueCatalogNumber": "http://n2t.net/ark:/21547/Q2MBIO26504.1" 68 | }, 69 | { 70 | "bcid": "ark:/21547/CZR2BMOO_08061_photo_2", 71 | "entity": "Sample_Photo", 72 | "img128": "https://photos.geome-db.org/75/Sample_Photo/MINV_BMOO_BMOO_08061_photo_2_128.jpg", 73 | "img512": "https://photos.geome-db.org/75/Sample_Photo/MINV_BMOO_BMOO_08061_photo_2_512.jpg", 74 | "img1024": "https://photos.geome-db.org/75/Sample_Photo/MINV_BMOO_BMOO_08061_photo_2_1024.jpg", 75 | "photoID": "BMOO_08061_photo_2", 76 | "processed": "true", 77 | "projectId": "75", 78 | "originalUrl": "https://photos.geome-db.org/biocodephotos/4444+4444+0513+1216.jpg", 79 | "photographer": "Gustav Paulay", 80 | "expeditionCode": "MINV_BMOO", 81 | "materialSampleID": "BMOO_08061" 82 | } 83 | ], 84 | "projectId": 75 85 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-Car2PIRE_0334.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/Cas2INDO_2016_SEU_1B", 4 | "entity": "Event", 5 | "island": "Sumatra", 6 | "country": "Indonesia", 7 | "eventID": "INDO_2016_SEU_1B", 8 | "habitat": "Shallow, coastal reef. Apparent exposure to current, Porites dominated. Less impacted bleaching site, high recruitment, 12 m.", 9 | "taxTeam": "MINV", 10 | "locality": "Pulau Seulako", 11 | "projectId": "80", 12 | "dayCollected": "9", 13 | "collectorList": "Aji Wahyu Anggoro, Andrianus Sembiring", 14 | "stateProvince": "Aceh", 15 | "yearCollected": "2016", 16 | "continentOcean": "Asia", 17 | "eventEnteredBy": "Chris Meyer", 18 | "expeditionCode": "INDO_PIRE", 19 | "monthCollected": "8", 20 | "decimalLatitude": "5.89430", 21 | "horizontalDatum": "unknown", 22 | "decimalLongitude": "95.25293", 23 | "samplingProtocol": "ARMS", 24 | "maximumDepthInMeters": "12" 25 | }, 26 | "record": { 27 | "bcid": "ark:/21547/Car2PIRE_0334", 28 | "class": "Gastropoda", 29 | "entity": "Sample", 30 | "phylum": "Mollusca", 31 | "eventID": "INDO_2016_SEU_1B", 32 | "projectId": "80", 33 | "taxonRank": "class", 34 | "catalogNumber": "http://n2t.net/ark:/21547/R2INDO106431", 35 | "expeditionCode": "INDO_PIRE", 36 | "scientificName": "Gastropoda", 37 | "institutionCode": "No Voucher", 38 | "sampleEnteredBy": "Chris Meyer", 39 | "materialSampleID": "PIRE_0334" 40 | }, 41 | "children": [ 42 | { 43 | "bcid": "ark:/21547/Cat2INDO106431.1", 44 | "entity": "Tissue", 45 | "tissueID": "INDO106431.1", 46 | "projectId": "80", 47 | "tissueWell": "C06", 48 | "tissuePlate": "03_ACEH_080916", 49 | "expeditionCode": "INDO_PIRE", 50 | "materialSampleID": "PIRE_0334", 51 | "tissueCatalogNumber": "http://n2t.net/ark:/21547/Q2INDO106431.1" 52 | } 53 | ], 54 | "projectId": 80 55 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-CgZ2PEER_7055.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/Cga2INDO_224", 4 | "county": "Indonesia", 5 | "entity": "Event", 6 | "island": "Nusa Tenggara", 7 | "country": "Indonesia", 8 | "eventID": "INDO_224", 9 | "taxTeam": "MINV", 10 | "locality": "Gili Asahan", 11 | "projectId": "78", 12 | "islandGroup": "Lombok", 13 | "dayCollected": "4", 14 | "collectorList": "Eka Maya Kurniasih", 15 | "stateProvince": "West Nusa Tenggara", 16 | "yearCollected": "2017", 17 | "continentOcean": "Asia", 18 | "eventEnteredBy": "Eka Maya Kurniasih", 19 | "expeditionCode": "PEER_2016", 20 | "monthCollected": "6", 21 | "decimalLatitude": "-8.73642", 22 | "horizontalDatum": "unknown", 23 | "decimalLongitude": "115.88083", 24 | "samplingProtocol": "Dead Coral Head" 25 | }, 26 | "record": { 27 | "bcid": "ark:/21547/CgZ2PEER_7055", 28 | "class": "Polychaeta", 29 | "entity": "Sample", 30 | "phylum": "Annelida", 31 | "eventID": "INDO_224", 32 | "projectId": "78", 33 | "taxonRank": "class", 34 | "catalogNumber": "http://n2t.net/ark:/21547/R2INDO119289", 35 | "expeditionCode": "PEER_2016", 36 | "scientificName": "Polychaeta", 37 | "institutionCode": "Indonesian Biodiversity Research Center", 38 | "sampleEnteredBy": "Eka Maya Kurniasih", 39 | "materialSampleID": "PEER_7055" 40 | }, 41 | "projectId": 78 42 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-Cgx2MGH18_1_E4.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/Cgy2FMNH", 4 | "entity": "Event", 5 | "country": "Bahamas", 6 | "eventID": "FMNH", 7 | "taxTeam": "MINV", 8 | "locality": "FMNH", 9 | "projectId": "69", 10 | "yearCollected": "2018", 11 | "eventEnteredBy": "Makiri Sei", 12 | "expeditionCode": "HARASEWYCH_LEGACY", 13 | "monthCollected": "2", 14 | "horizontalDatum": "unknown" 15 | }, 16 | "record": { 17 | "bcid": "ark:/21547/Cgx2MGH18_1_E4", 18 | "genus": "Cerion", 19 | "entity": "Sample", 20 | "phylum": "Mollusca", 21 | "eventID": "FMNH", 22 | "projectId": "69", 23 | "taxonRank": "specificEpithet", 24 | "subProject": "CERIONIDAE", 25 | "identifiedBy": "Jerry Harasewych", 26 | "subSubProject": "Harasewych", 27 | "expeditionCode": "HARASEWYCH_LEGACY", 28 | "scientificName": "Cerion coloni", 29 | "institutionCode": "Smithsonian", 30 | "sampleEnteredBy": "Makiri Sei", 31 | "specificEpithet": "coloni", 32 | "materialSampleID": "MGH18_1_E4" 33 | }, 34 | "children": [ 35 | { 36 | "bcid": "ark:/21547/Cgz2SLAB127022.1", 37 | "entity": "Tissue", 38 | "tissueID": "SLAB127022.1", 39 | "projectId": "69", 40 | "tissueWell": "E04", 41 | "tissuePlate": "MGH18_1", 42 | "expeditionCode": "HARASEWYCH_LEGACY", 43 | "materialSampleID": "MGH18_1_E4" 44 | } 45 | ], 46 | "projectId": 69 47 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-DRW2LACM-DISCO-16924.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/DRX2DISCO_CollectionID:21213", 4 | "county": "Los Angeles", 5 | "entity": "Event", 6 | "country": "USA", 7 | "eventID": "DISCO_CollectionID:21213", 8 | "locality": "San Pedro Bay, breakwater", 9 | "projectId": "44", 10 | "dayCollected": "25", 11 | "eventRemarks": "L.A. Urban Ocean Expedition 2019. 66°F bottom 70°F surface, horizontal visibility 10-15 ft.", 12 | "microHabitat": "kelp", 13 | "collectorList": "Giant Stride|Kimo Morris|Z. Gold|Shawn Wiedrick|Gustav Paulay|Jessica Whelpley|Amanda Bemis", 14 | "stateProvince": "California", 15 | "yearCollected": "2019", 16 | "continentOcean": "North Pacific Ocean", 17 | "eventEnteredBy": "Diversity Initiative for the Southern California Ocean project of the Natural History Museum of Los Angeles County", 18 | "expeditionCode": "LAUOE", 19 | "monthCollected": "8", 20 | "decimalLatitude": "33.7345167", 21 | "decimalLongitude": "-118.277367", 22 | "samplingProtocol": "SCUBA, hand, hand dredge, rock hammer", 23 | "permitInformation": "CA SCP S\u2010191440006\u201019209\u2010001", 24 | "depthOfBottomInMeters": "4.57" 25 | }, 26 | "record": { 27 | "bcid": "ark:/21547/DRW2LACM:DISCO:16924", 28 | "class": "Ascidiacea", 29 | "genus": "Clavelina", 30 | "order": "Aplousobranchia", 31 | "entity": "Sample", 32 | "family": "Clavelinidae", 33 | "phylum": "Chordata", 34 | "eventID": "DISCO_CollectionID:21213", 35 | "kingdom": "Animalia", 36 | "fixative": "95% ethanol", 37 | "projectId": "44", 38 | "subPhylum": "Tunicata", 39 | "taxonRank": "specificEpithet", 40 | "modifiedBy": "Mike O'Mahoney", 41 | "subProject": "LAUOE", 42 | "identifiedBy": "G. Paulay", 43 | "preservative": "95% ethanol", 44 | "dayIdentified": "2", 45 | "expeditionCode": "LAUOE", 46 | "modifiedReason": "updated tissueID from 9013 to corrected value 9597 (19Aug20)", 47 | "scientificName": "Clavelina huntsmani", 48 | "yearIdentified": "2019", 49 | "institutionCode": "Natural History Museum of Los Angeles County", 50 | "monthIdentified": "9", 51 | "sampleEnteredBy": "Mike O'Mahoney", 52 | "specificEpithet": "huntsmani", 53 | "materialSampleID": "LACM:DISCO:16924", 54 | "voucherCatalogNumber": "LACM:DISCO:16924" 55 | }, 56 | "children": [ 57 | { 58 | "bcid": "ark:/21547/DRY2LACM:DISCO:16924:9597", 59 | "entity": "Tissue", 60 | "tissueID": "LACM:DISCO:16924:9597", 61 | "projectId": "44", 62 | "expeditionCode": "LAUOE", 63 | "tissueContainer": "2.0 ml Cryovial", 64 | "materialSampleID": "LACM:DISCO:16924", 65 | "tissueInstitution": "Smithsonian", 66 | "tissuePreservative": "95% ethanol", 67 | "tissueSamplingYear": "2020" 68 | }, 69 | { 70 | "bcid": "ark:/21547/DRY2LACM:DISCO:16924.2", 71 | "entity": "Tissue", 72 | "tissueID": "LACM:DISCO:16924.2", 73 | "projectId": "44", 74 | "tissueWell": "E08", 75 | "tissuePlate": "LABB_10", 76 | "expeditionCode": "LAUOE", 77 | "materialSampleID": "LACM:DISCO:16924" 78 | } 79 | ], 80 | "projectId": 44 81 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-DSz21155.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/DSy24b04ab0d53fd1bdd4222eeba41a67f8d", 4 | "entity": "Event", 5 | "country": "USA", 6 | "eventID": "4b04ab0d53fd1bdd4222eeba41a67f8d", 7 | "locality": "California", 8 | "projectId": "244", 9 | "dayCollected": "9", 10 | "collectorList": "Vance Vredenburg", 11 | "stateProvince": "California", 12 | "yearCollected": "1905", 13 | "expeditionCode": "newts", 14 | "monthCollected": "6", 15 | "decimalLatitude": "37.974972", 16 | "decimalLongitude": "-119.909103", 17 | "principalInvestigator": "Vance Vredenburg", 18 | "minimumElevationInMeters": "368.9", 19 | "coordinateUncertaintyInMeters": "30" 20 | }, 21 | "record": { 22 | "bcid": "ark:/21547/DSz21155", 23 | "genus": "Taricha", 24 | "entity": "Sample", 25 | "eventID": "4b04ab0d53fd1bdd4222eeba41a67f8d", 26 | "projectId": "244", 27 | "basisOfRecord": "PreservedSpecimen", 28 | "expeditionCode": "newts", 29 | "specificEpithet": "sierrae", 30 | "materialSampleID": "1155" 31 | }, 32 | "children": [ 33 | { 34 | "bcid": "ark:/21547/DTA2be2d77de4d1bf6bff314878636742c31", 35 | "fatal": "false", 36 | "entity": "Diagnostics", 37 | "projectId": "244", 38 | "sampleType": "swabbing", 39 | "diagnosticID": "be2d77de4d1bf6bff314878636742c31", 40 | "diseaseTested": "Bd", 41 | "expeditionCode": "newts", 42 | "diseaseDetected": "false", 43 | "materialSampleID": "1155", 44 | "quantityDetected": "0" 45 | } 46 | ], 47 | "projectId": 244 48 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-DXw21601500071.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/DXv214e4b82fbcaf5d76701ae803839a2938", 4 | "entity": "Event", 5 | "country": "USA", 6 | "eventID": "14e4b82fbcaf5d76701ae803839a2938", 7 | "habitat": "terrestrial", 8 | "locality": "Rockaway River WMA_Rock1", 9 | "projectId": "292", 10 | "collectorList": "J. Hardin Waddle|Daniel A. Grear|Brad M. Glorioso |Adam R. Backlin|William J. Barichivich|Adrianne B. Brand|Daniel L. Calhoun|Jillian E. Fleming|Andrew E. Dietrich|Patrick M. Kleeman|Marcella A. Cruz", 11 | "stateProvince": "New Jersey", 12 | "yearCollected": "2016", 13 | "expeditionCode": "USGSBsal", 14 | "monthCollected": "05", 15 | "decimalLatitude": "40.98859", 16 | "horizontalDatum": "WGS1984", 17 | "decimalLongitude": "-74.57244", 18 | "principalInvestigator": "Hardin Waddle", 19 | "maximumElevationInMeters": "354", 20 | "minimumElevationInMeters": "354", 21 | "coordinateUncertaintyInMeters": "30" 22 | }, 23 | "record": { 24 | "bcid": "ark:/21547/DXw21601500071", 25 | "genus": "Notophthalmus", 26 | "entity": "Sample", 27 | "length": "35", 28 | "eventID": "14e4b82fbcaf5d76701ae803839a2938", 29 | "lifeStage": "juvenile", 30 | "projectId": "292", 31 | "lengthUnits": "millimeters", 32 | "basisOfRecord": "LivingSpecimen", 33 | "expeditionCode": "USGSBsal", 34 | "specificEpithet": "viridescens", 35 | "materialSampleID": "1601500071", 36 | "occurrenceRemarks": "2-May-16", 37 | "associatedReferences": "Waddle, J.H., Grear, D.A., Glorioso, B.M., Backlin, A.R., Barichivich, W.J., Brand, A.B., Calhoun, D.L., Fleming, J.E., Dietrich, A.E., Kleeman, P.M., and Cruz, M.A., 2019, Data from a national survey for the amphibian chytrid fungus Batrachochytrium salamandrivorans: U.S. Geological Survey data release, https://doi.org/10.5066/P9BGQA1T." 38 | }, 39 | "children": [ 40 | { 41 | "bcid": "ark:/21547/DXx2430f30e72a8837439945d078c9997861", 42 | "fatal": "FALSE", 43 | "entity": "Diagnostics", 44 | "projectId": "292", 45 | "sampleType": "swabbing", 46 | "testMethod": "realtime PCR", 47 | "diagnosticID": "430f30e72a8837439945d078c9997861", 48 | "diagnosticLab": "National Wildlife Health Center, Madison, WI", 49 | "diseaseTested": "Bsal", 50 | "expeditionCode": "USGSBsal", 51 | "diseaseDetected": "FALSE", 52 | "materialSampleID": "1601500071" 53 | } 54 | ], 55 | "projectId": 292 56 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-Djr2MS_19_22190.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/Djq2542c6b17fb69e8452fb8c0932362908e", 4 | "entity": "Event", 5 | "country": "Canada", 6 | "eventID": "542c6b17fb69e8452fb8c0932362908e", 7 | "locality": "east basin", 8 | "projectId": "190", 9 | "waterBody": "Lake Erie", 10 | "yearCollected": "2017", 11 | "expeditionCode": "1904-commercial-2", 12 | "decimalLatitude": "42.708335", 13 | "decimalLongitude": "-79.708335" 14 | }, 15 | "record": { 16 | "sex": "not collected", 17 | "bcid": "ark:/21547/Djr2MS_19_22190", 18 | "entity": "Sample", 19 | "length": "558", 20 | "eventID": "542c6b17fb69e8452fb8c0932362908e", 21 | "projectId": "190", 22 | "expeditionCode": "1904-commercial-2", 23 | "scientificName": "Sander vitreus", 24 | "materialSampleID": "MS_19_22190" 25 | }, 26 | "children": [ 27 | { 28 | "bcid": "ark:/21547/Djs2MS_19_22190.1", 29 | "entity": "Tissue", 30 | "tissueID": "MS_19_22190.1", 31 | "projectId": "190", 32 | "expeditionCode": "1904-commercial-2", 33 | "materialSampleID": "MS_19_22190" 34 | } 35 | ], 36 | "projectId": 190 37 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-RF2USGSDRO288554.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/Bxa2246e9beb6ed6eaa7ed6d852cdc90c418", 4 | "entity": "Event", 5 | "country": "Cuba", 6 | "eventID": "246e9beb6ed6eaa7ed6d852cdc90c418", 7 | "locality": "Cuba", 8 | "projectId": "85", 9 | "yearCollected": "2011", 10 | "expeditionCode": "CarBee-P03", 11 | "monthCollected": "6" 12 | }, 13 | "record": { 14 | "bcid": "ark:/21547/RF2USGSDRO288554", 15 | "class": "Insecta", 16 | "genus": "Hoplisoides", 17 | "order": "Hymenoptera", 18 | "entity": "Sample", 19 | "family": "Crabronidae", 20 | "phylum": "Arthropoda", 21 | "eventID": "246e9beb6ed6eaa7ed6d852cdc90c418", 22 | "kingdom": "Animalia", 23 | "projectId": "85", 24 | "catalogNumber": "USGSDRO288554", 25 | "expeditionCode": "CarBee-P03", 26 | "scientificName": "Hoplisoides jibacoa", 27 | "institutionCode": "USNM", 28 | "specificEpithet": "jibacoa", 29 | "materialSampleID": "USGSDRO288554", 30 | "voucherCatalogNumber": "USGSDRO288554" 31 | }, 32 | "children": [ 33 | { 34 | "bcid": "ark:/21547/Bxb2USGSDRO288554.1", 35 | "entity": "Tissue", 36 | "tissueID": "USGSDRO288554.1", 37 | "projectId": "85", 38 | "tissueWell": "D02", 39 | "tissuePlate": "CarBee-P03", 40 | "expeditionCode": "CarBee-P03", 41 | "materialSampleID": "USGSDRO288554" 42 | } 43 | ], 44 | "projectId": 85 45 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-eg2AB4OQ34.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/CAZ22d56d67d0d9114f5eaec25e71aeb6604", 4 | "entity": "Event", 5 | "country": "USA", 6 | "eventID": "2d56d67d0d9114f5eaec25e71aeb6604", 7 | "locality": "USA", 8 | "projectId": "85", 9 | "dayCollected": "7", 10 | "collectorList": "Northeast Fisheries Science Center (NEFSC), Woods Hole, MA", 11 | "yearCollected": "2006", 12 | "expeditionCode": "PT_02", 13 | "monthCollected": "9", 14 | "decimalLatitude": "37.5267", 15 | "decimalLongitude": "-74.3667" 16 | }, 17 | "record": { 18 | "bcid": "ark:/21547/eg2AB4OQ34", 19 | "class": "Actinopterygii", 20 | "genus": "Cookeolus", 21 | "order": "Perciformes", 22 | "entity": "Sample", 23 | "family": "Priacanthidae", 24 | "phylum": "Chordata", 25 | "eventID": "2d56d67d0d9114f5eaec25e71aeb6604", 26 | "kingdom": "Animalia", 27 | "projectId": "85", 28 | "catalogNumber": "433156", 29 | "collectionCode": "Fish", 30 | "expeditionCode": "PT_02", 31 | "scientificName": "Cookeolus japonicus", 32 | "institutionCode": "USNM", 33 | "specificEpithet": "japonicus", 34 | "materialSampleID": "AB4OQ34", 35 | "voucherCatalogNumber": "USNM:Fish:433156" 36 | }, 37 | "children": [ 38 | { 39 | "bcid": "ark:/21547/CAa2AB4OQ34", 40 | "entity": "Tissue", 41 | "tissueID": "AB4OQ34", 42 | "projectId": "85", 43 | "tissueWell": "E02", 44 | "tissuePlate": "Proficiency_Test_02", 45 | "tissueBarcode": "AB4OQ34", 46 | "expeditionCode": "PT_02", 47 | "materialSampleID": "AB4OQ34" 48 | } 49 | ], 50 | "projectId": 85 51 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-oK2HMA81.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/BLs210343a067c32e5ef5d675fe682ed49b8", 4 | "entity": "Event", 5 | "eventID": "10343a067c32e5ef5d675fe682ed49b8", 6 | "locality": "Marshall Islands", 7 | "projectId": "1", 8 | "yearCollected": "2006", 9 | "expeditionCode": "halmar_CO1_WL", 10 | "decimalLatitude": "9.0612269", 11 | "decimalLongitude": "167.2939682", 12 | "georeferenceProtocol": "Google Earth", 13 | "principalInvestigator": "Luiz Rocha", 14 | "coordinateUncertaintyInMeters": "100000" 15 | }, 16 | "record": { 17 | "bcid": "ark:/21547/oK2HMA81", 18 | "class": "Actinopterygii", 19 | "genus": "Halichoeres", 20 | "order": "Perciformes", 21 | "entity": "Sample", 22 | "family": "Labridae", 23 | "phylum": "Chordata", 24 | "eventID": "10343a067c32e5ef5d675fe682ed49b8", 25 | "wormsID": "218987", 26 | "projectId": "1", 27 | "expeditionCode": "halmar_CO1_WL", 28 | "specificEpithet": "margaritaceus", 29 | "materialSampleID": "HMA81", 30 | "associatedReferences": "DOI: 10.1371/journal.pone.0038113", 31 | "identificationRemarks": "morphology" 32 | }, 33 | "children": [ 34 | { 35 | "bcid": "ark:/21547/BLt2HMA81", 36 | "entity": "Tissue", 37 | "tissueID": "HMA81", 38 | "projectId": "1", 39 | "expeditionCode": "halmar_CO1_WL", 40 | "materialSampleID": "HMA81" 41 | } 42 | ], 43 | "projectId": 1 44 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-oR2HOR431.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/BMK2864f558ab88d6823bfa96a5eebddeecc", 4 | "entity": "Event", 5 | "eventID": "864f558ab88d6823bfa96a5eebddeecc", 6 | "locality": "\"Niihau, NWHI\"", 7 | "projectId": "1", 8 | "yearCollected": "2009", 9 | "expeditionCode": "halorn_CR_MB", 10 | "decimalLatitude": "21.9", 11 | "decimalLongitude": "-160.1667", 12 | "georeferenceProtocol": "Google Earth", 13 | "principalInvestigator": "Luiz Rocha", 14 | "coordinateUncertaintyInMeters": "100000" 15 | }, 16 | "record": { 17 | "bcid": "ark:/21547/oR2HOR431", 18 | "class": "Actinopterygii", 19 | "genus": "Halichoeres", 20 | "order": "Perciformes", 21 | "entity": "Sample", 22 | "family": "Labridae", 23 | "phylum": "Chordata", 24 | "eventID": "864f558ab88d6823bfa96a5eebddeecc", 25 | "wormsID": "275783", 26 | "projectId": "1", 27 | "expeditionCode": "halorn_CR_MB", 28 | "specificEpithet": "ornatissimus", 29 | "materialSampleID": "HOR431", 30 | "associatedReferences": "DOI: 10.1371/journal.pone.0038240", 31 | "identificationRemarks": "Morphology" 32 | }, 33 | "children": [ 34 | { 35 | "bcid": "ark:/21547/BML2HOR431", 36 | "entity": "Tissue", 37 | "tissueID": "HOR431", 38 | "projectId": "1", 39 | "expeditionCode": "halorn_CR_MB", 40 | "materialSampleID": "HOR431" 41 | } 42 | ], 43 | "projectId": 1 44 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-py2FIkoglLHCO684.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/BSH2303f9bbfa4c5aaba7a225ab3ebb0bbb4", 4 | "entity": "Event", 5 | "country": "Sri Lanka", 6 | "eventID": "303f9bbfa4c5aaba7a225ab3ebb0bbb4", 7 | "locality": "Koggala lagoon", 8 | "projectId": "1", 9 | "yearCollected": "2009", 10 | "expeditionCode": "Penind_COI_SP", 11 | "decimalLatitude": "5.9859", 12 | "decimalLongitude": "80.3384", 13 | "principalInvestigator": "Snaebjorn Palsson" 14 | }, 15 | "record": { 16 | "bcid": "ark:/21547/py2FIkoglLHCO684", 17 | "genus": "Penaeus", 18 | "entity": "Sample", 19 | "phylum": "Arthropoda", 20 | "eventID": "303f9bbfa4c5aaba7a225ab3ebb0bbb4", 21 | "wormsID": "210375", 22 | "projectId": "1", 23 | "expeditionCode": "Penind_COI_SP", 24 | "associatedMedia": "Doi:10.1051/alr/2010027", 25 | "specificEpithet": "indicus", 26 | "materialSampleID": "FIkoglLHCO684", 27 | "identificationRemarks": "Morphology" 28 | }, 29 | "children": [ 30 | { 31 | "bcid": "ark:/21547/BSI2FIkoglLHCO684", 32 | "entity": "Tissue", 33 | "tissueID": "FIkoglLHCO684", 34 | "projectId": "1", 35 | "expeditionCode": "Penind_COI_SP", 36 | "materialSampleID": "FIkoglLHCO684" 37 | } 38 | ], 39 | "projectId": 1 40 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/ark-21547-qx2HL1046.26.json: -------------------------------------------------------------------------------- 1 | { 2 | "parent": { 3 | "bcid": "ark:/21547/BVE206b97330940ecd706165dcdab51d06b4", 4 | "entity": "Event", 5 | "island": "Kararorika Island", 6 | "country": "Indonesia", 7 | "eventID": "06b97330940ecd706165dcdab51d06b4", 8 | "locality": "Halmahera", 9 | "projectId": "1", 10 | "stateProvince": "North Maluku", 11 | "yearCollected": "2005", 12 | "expeditionCode": "Sialae_COI_PB", 13 | "decimalLatitude": "0.730142", 14 | "decimalLongitude": "128.449745", 15 | "permitInformation": "LIPI 1187/SU/KS/2006 and 04239/SU.3/KS/2076", 16 | "georeferenceProtocol": "Approximated from Google Maps", 17 | "principalInvestigator": "Paul Barber", 18 | "coordinateUncertaintyInMeters": "500000" 19 | }, 20 | "record": { 21 | "bcid": "ark:/21547/qx2HL1046.26", 22 | "genus": "Siamosquilla", 23 | "entity": "Sample", 24 | "phylum": "Arthropoda", 25 | "eventID": "06b97330940ecd706165dcdab51d06b4", 26 | "wormsID": "409001", 27 | "projectId": "1", 28 | "expeditionCode": "Sialae_COI_PB", 29 | "specificEpithet": "laevicaudata", 30 | "materialSampleID": "HL1046.26", 31 | "associatedReferences": "Barber PH Cheng SH Erdmann MV Tenggardjaja K Ambariyanto. 2011. Evolution and conservation of marine biodiversity in the Coral Triangle: insights from stomatopod Crustacea. In: Crustacean Issues 19. pp. 1_32.", 32 | "identificationRemarks": "Morphology" 33 | }, 34 | "children": [ 35 | { 36 | "bcid": "ark:/21547/BVF2HL1046.26", 37 | "entity": "Tissue", 38 | "tissueID": "HL1046.26", 39 | "projectId": "1", 40 | "expeditionCode": "Sialae_COI_PB", 41 | "materialSampleID": "HL1046.26" 42 | } 43 | ], 44 | "projectId": 1 45 | } -------------------------------------------------------------------------------- /examples/GEOME/raw/sample_eg_01.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectId": 67, 3 | "parent": { 4 | "country": "Australia", 5 | "decimalLatitude": "-44.2017", 6 | "eventID": "1552460", 7 | "yearCollected": "2007", 8 | "eventEnteredBy": "Wirshing", 9 | "decimalLongitude": "147.318", 10 | "locality": "Tasmanian Seamounts", 11 | "expeditionCode": "IZ_Cairns", 12 | "projectId": "67", 13 | "bcid": "ark:/21547/CvM21552460", 14 | "entity": "Event" 15 | }, 16 | "record": { 17 | "eventID": "1552460", 18 | "scientificName": "Pleurogorgia/Artosmonicasis", 19 | "phylum": "Cnidaria", 20 | "taxonRank": "genus", 21 | "genus": "Pleurogorgia/Artosmonicasis", 22 | "materialSampleID": "1552460", 23 | "sampleEnteredBy": "Wirshing", 24 | "institutionCode": "Smithsonian", 25 | "expeditionCode": "IZ_Cairns", 26 | "projectId": "67", 27 | "bcid": "ark:/21547/CvL21552460", 28 | "entity": "Sample" 29 | }, 30 | "children": [ 31 | { 32 | "tissuePlate": "chrysogorgiid_6", 33 | "tissueWell": "D01", 34 | "materialSampleID": "1552460", 35 | "tissueID": "1552460.1", 36 | "expeditionCode": "IZ_Cairns", 37 | "projectId": "67", 38 | "bcid": "ark:/21547/CvN21552460.1", 39 | "entity": "Tissue" 40 | } 41 | ] 42 | } 43 | -------------------------------------------------------------------------------- /examples/GEOME/raw/sample_eg_02.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectId": 81, 3 | "parent": { 4 | "collectorList": "Ellen Strong, Philippe Bouchet", 5 | "samplingProtocol": "hand", 6 | "dayCollected": "14", 7 | "decimalLatitude": "-21.84806", 8 | "monthCollected": "11", 9 | "eventEnteredBy": "Amanda Windsor", 10 | "locality": "New Caledonia", 11 | "country": "New Caledonia", 12 | "horizontalDatum": "unknown", 13 | "island": "New Caledonia", 14 | "eventID": "Ouam_ni_2", 15 | "yearCollected": "2014", 16 | "continentOcean": "Pacific Ocean", 17 | "maximumElevationInMeters": "100", 18 | "taxTeam": "MINV", 19 | "decimalLongitude": "166.18556", 20 | "verbatimLatitude": "21\u00b049.113'S", 21 | "expeditionCode": "STRONG_LEGACY", 22 | "projectId": "81", 23 | "bcid": "ark:/21547/CbA2Ouam_ni_2", 24 | "entity": "Event" 25 | }, 26 | "record": { 27 | "identifiedBy": "EE Strong", 28 | "eventID": "Ouam_ni_2", 29 | "catalogNumber": "http://n2t.net/ark:/21547/R2SLAB85903", 30 | "scientificName": "Lymnaea", 31 | "phylum": "Mollusca", 32 | "taxonRank": "genus", 33 | "genus": "Lymnaea", 34 | "materialSampleID": "0184658500_ES89_H05", 35 | "sampleEnteredBy": "Amanda Windsor", 36 | "institutionCode": "Smithsonian", 37 | "expeditionCode": "STRONG_LEGACY", 38 | "projectId": "81", 39 | "bcid": "ark:/21547/Caz20184658500_ES89_H05", 40 | "entity": "Sample" 41 | }, 42 | "children": [ 43 | { 44 | "tissuePlate": "ES89", 45 | "tissueWell": "H05", 46 | "tissueCatalogNumber": "http://n2t.net/ark:/21547/Q2SLAB85903.1", 47 | "materialSampleID": "0184658500_ES89_H05", 48 | "tissueID": "SLAB85903.1", 49 | "expeditionCode": "STRONG_LEGACY", 50 | "projectId": "81", 51 | "bcid": "ark:/21547/CbB2SLAB85903.1", 52 | "entity": "Tissue" 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /examples/GEOME/raw/sample_eg_03.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectId": 81, 3 | "parent": { 4 | "dayCollected": "12", 5 | "decimalLatitude": "-5.29667", 6 | "monthCollected": "11", 7 | "eventEnteredBy": "Daniel Mulcahy", 8 | "maximumDepthInMeters": "10", 9 | "locality": "BilBil I.", 10 | "country": "Papua New Guinea", 11 | "horizontalDatum": "unknown", 12 | "eventID": "PR22.A", 13 | "yearCollected": "2012", 14 | "verbatimLongitude": "145\u00b046.9'E", 15 | "minimumDepthInMeters": "3", 16 | "taxTeam": "MINV", 17 | "stateProvince": "Madang", 18 | "decimalLongitude": "145.78167", 19 | "verbatimLatitude": "05\u00b017.8'S", 20 | "expeditionCode": "STRONG_LEGACY", 21 | "projectId": "81", 22 | "bcid": "ark:/21547/CbA2PR22.A", 23 | "entity": "Event" 24 | }, 25 | "record": { 26 | "identifiedBy": "M deMaintenon", 27 | "eventID": "PR22.A", 28 | "catalogNumber": "http://n2t.net/ark:/21547/R2SLAB86003", 29 | "scientificName": "Zafrona isomella", 30 | "morphospeciesMatch": "IM-2013-2315", 31 | "phylum": "Mollusca", 32 | "taxonRank": "specificEpithet", 33 | "genus": "Zafrona", 34 | "specificEpithet": "isomella", 35 | "materialSampleID": "0184659124_ES91_D05", 36 | "sampleEnteredBy": "Amanda Windsor", 37 | "institutionCode": "Smithsonian", 38 | "expeditionCode": "STRONG_LEGACY", 39 | "projectId": "81", 40 | "bcid": "ark:/21547/Caz20184659124_ES91_D05", 41 | "entity": "Sample" 42 | }, 43 | "children": [ 44 | { 45 | "tissuePlate": "ES91", 46 | "tissueWell": "D05", 47 | "tissueCatalogNumber": "http://n2t.net/ark:/21547/Q2SLAB86003.1", 48 | "materialSampleID": "0184659124_ES91_D05", 49 | "tissueID": "SLAB86003.1", 50 | "expeditionCode": "STRONG_LEGACY", 51 | "projectId": "81", 52 | "bcid": "ark:/21547/CbB2SLAB86003.1", 53 | "entity": "Tissue" 54 | } 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /examples/GEOME/raw/sample_eg_04.json: -------------------------------------------------------------------------------- 1 | { 2 | "projectId": 85, 3 | "parent": { 4 | "country": "USA", 5 | "collectorList": "Robert Aguilar", 6 | "dayCollected": "30", 7 | "decimalLatitude": "38.88519", 8 | "eventID": "121b4d1e83dfda52f33f03ca68ddd146", 9 | "yearCollected": "2016", 10 | "monthCollected": "6", 11 | "decimalLongitude": "-76.53187", 12 | "locality": "Maryland, Anne Arundel County, Rhode River, between Flat Island and High Island", 13 | "expeditionCode": "FY14_SERCInvP13", 14 | "projectId": "85", 15 | "bcid": "ark:/21547/CEt2121b4d1e83dfda52f33f03ca68ddd146", 16 | "entity": "Event" 17 | }, 18 | "record": { 19 | "family": "Carinimidae", 20 | "collectionCode": "INVERT", 21 | "phylum": "Nemertea", 22 | "kingdom": "Animalia", 23 | "genus": "Carinoma", 24 | "institutionCode": "SERC", 25 | "identifiedBy": "Robert Aguilar", 26 | "eventID": "121b4d1e83dfda52f33f03ca68ddd146", 27 | "catalogNumber": "1180", 28 | "class": "Palaeonemertea", 29 | "scientificName": "Carinoma tremaphoros", 30 | "voucherCatalogNumber": "SERCINVERT1180", 31 | "specificEpithet": "tremaphoros", 32 | "materialSampleID": "0102453454", 33 | "expeditionCode": "FY14_SERCInvP13", 34 | "projectId": "85", 35 | "bcid": "ark:/21547/AdI20102453454", 36 | "entity": "Sample" 37 | }, 38 | "children": [ 39 | { 40 | "tissuePlate": "SERCINVERT_P13", 41 | "tissueWell": "A08", 42 | "materialSampleID": "0102453454", 43 | "tissueID": "0102453454", 44 | "tissueBarcode": "0102453454", 45 | "expeditionCode": "FY14_SERCInvP13", 46 | "projectId": "85", 47 | "bcid": "ark:/21547/CEu20102453454", 48 | "entity": "Tissue" 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /examples/GEOME/test1.0Valid/ark-21547-AvL2C02_201705281001-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/21547/Car2PIRE_0334", 4 | "label": "C02_201705281001, Aplysina fistularis", 5 | "sample_identifier": "ark:/21547/AvL2C02_201705281001", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Marine environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/marinewaterbody" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Whole organism material sample", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/wholeorganism" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Demospongiae", 28 | "scheme_name": "Taxon: class" 29 | }, 30 | { 31 | "keyword": "Aplysina fistularis", 32 | "scheme_name": "Taxon: species" 33 | }, 34 | { 35 | "keyword": "Cuba", 36 | "scheme_name": "Getty Thesaurus of Geographic Names", 37 | "scheme_uri": "http://vocab.getty.edu/page/tgn/7005380" 38 | }, 39 | { 40 | "keyword": "Porifera", 41 | "scheme_name": "Taxon: phylum" 42 | } 43 | ], 44 | "produced_by": { 45 | "identifier": "ark:/21547/CHk238e4e09d98ddb31008c63b0e546fd062", 46 | "label": "event 38e4e09d98ddb31008c63b0e546fd062", 47 | "description": "expeditionCode: HBOI_CubaPor_P01; projectId: 85", 48 | "has_feature_of_interest": "coral reef", 49 | "responsibility": [], 50 | "sampling_site": { 51 | "description": "", 52 | "label": "Cuba", 53 | "sample_location": {}, 54 | "place_name": ["Cuba"] 55 | } 56 | }, 57 | "registrant": {}, 58 | "last_modified_time":"2024-09-13T09:20:00-07:00", 59 | "sampling_purpose": "genomic analysis", 60 | "curation": { 61 | "access_constraints": [], 62 | "curation_location": "", 63 | "responsibility": [ 64 | {"name": "HBOI"} 65 | ] 66 | }, 67 | "related_resource": [ 68 | { 69 | "label": "Tissue", 70 | "description": "", 71 | "target": "ark:/21547/CHl2C02_201705281001", 72 | "relationship": "tissue extract" 73 | } 74 | ] 75 | } -------------------------------------------------------------------------------- /examples/GEOME/test1.0Valid/ark-21547-Car2PIRE_0334-child-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/21547/Cat2INDO106431.1", 4 | "label": "INDO106431.1", 5 | "sample_identifier": "ark:/21547/Cat2INDO106431.1", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Marine environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/marinewaterbody" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Organism part", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/organismpart" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Aceh", 28 | "scheme_name": "Getty Thesaurus of Geographic Names", 29 | "keyword_uri": "http://vocab.getty.edu/page/tgn/7016479" 30 | }, 31 | { 32 | "keyword": "Sumatra", 33 | "scheme_name": "Getty Thesaurus of Geographic Names", 34 | "keyword_uri": "http://vocab.getty.edu/page/tgn/7016484" 35 | }, 36 | { 37 | "keyword": "Pulau Seulako", 38 | "scheme_uri": "https://id.wikipedia.org/wiki/", 39 | "keyword_uri": "https://id.wikipedia.org/wiki/Pulau_Seulako" 40 | }, 41 | { 42 | "keyword": "Mollusca", 43 | "scheme_name": "Taxon: phylum" 44 | }, 45 | { 46 | "keyword": "Gastropoda", 47 | "scheme_name": "Taxon: class" 48 | } 49 | ], 50 | "produced_by": { 51 | "label": "tissue subsample from PIRE_0334", 52 | "description": "", 53 | "has_feature_of_interest": "", 54 | "responsibility": [], 55 | "sampling_site": { 56 | "description": "", 57 | "label": "", 58 | "sample_location": { 59 | "elevation": "maximumDepthInMeters: 12", 60 | "latitude": 5.89430, 61 | "longitude": 95.25293 62 | }, 63 | "place_name": [ 64 | "Aceh", 65 | "Sumatra", 66 | "Pulau Seulako", 67 | "Indonesia", 68 | "Asia" 69 | ] 70 | } 71 | }, 72 | "registrant": {"name": "Chris Meyer"}, 73 | "last_modified_time":"2024-09-13T09:20:00-07:00", 74 | "sampling_purpose": "genomic analysis", 75 | "curation": { 76 | "access_constraints": [], 77 | "curation_location": "tissueWell: C06, tissuePlate: 03_ACEH_080916", 78 | "responsibility": [] 79 | }, 80 | "related_resource": [ 81 | { 82 | "label": "parent sample PIRE_0334", 83 | "description": "", 84 | "target": "ark:/21547/Car2PIRE_0334", 85 | "relationship": "derived from" 86 | } 87 | ] 88 | } -------------------------------------------------------------------------------- /examples/GEOME/test1.0Valid/ark-21547-CgZ2PEER_7055-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata:21547/CgZ2PEER_7055", 4 | "label": "Polychaeta PEER_7055", 5 | "sample_identifier": "http://n2t.net/ark:/21547/R2INDO119289", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Marine environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/marinewaterbody" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Biogenic non-organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/biogenicnonorganicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Organism product", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/organismproduct" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Lombok", 28 | "scheme_name": "Getty Thesaurus of Geographic Names", 29 | "keyword_uri": "http://vocab.getty.edu/page/tgn/1007904" 30 | }, 31 | { 32 | "keyword": "Gili Asahan", 33 | "scheme_name": "Wikidata", 34 | "keyword_uri": "https://www.wikidata.org/wiki/Q25020575" 35 | }, 36 | { 37 | "keyword": "Annelida", 38 | "scheme_name": "Taxon: phylum" 39 | }, 40 | { 41 | "keyword": "Polychaeta", 42 | "scheme_name": "Taxon: class" 43 | } 44 | ], 45 | "complies_with": ["sampling protocol:Dead Coral Head"], 46 | "produced_by": { 47 | "identifier": "ark:/21547/Cga2INDO_224", 48 | "label": "event INDO_224", 49 | "description": "sampling protocol:Dead Coral Head; projectId:78 ; expeditionCode: PEER_2016", 50 | "has_feature_of_interest": "Coral Reef", 51 | "responsibility": [ 52 | { 53 | "role": "Taxonymy team", 54 | "name": "MINV" 55 | }, 56 | { 57 | "role": "Collector", 58 | "name": "Eka Maya Kurniasih" 59 | } 60 | ], 61 | "result_time": "2017-06-04", 62 | "sampling_site": { 63 | "description": "", 64 | "label": "Gili Asahan", 65 | "sample_location": { 66 | "elevation": "", 67 | "latitude": -8.73642, 68 | "longitude": 115.88083 69 | }, 70 | "place_name": [ 71 | "Nusa Tenggara", 72 | "Indonesia", 73 | "West Nusa Tenggara", 74 | "Asia" 75 | ] 76 | } 77 | }, 78 | "registrant": {"name": "Eka Maya Kurniasih"}, 79 | "last_modified_time":"2024-09-13T09:20:00-07:00", 80 | "sampling_purpose": "", 81 | "curation": { 82 | "access_constraints": [], 83 | "curation_location": "", 84 | "responsibility": [ 85 | { 86 | "role": "curator", 87 | "name": "Indonesian Biodiversity Research Center" 88 | } 89 | ] 90 | } 91 | } -------------------------------------------------------------------------------- /examples/GEOME/test1.0Valid/ark-21547-eg2AB4OQ34-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata:21547-eg2AB4OQ34", 4 | "label": "Cookeolus japonicus AB4OQ34", 5 | "sample_identifier": "AB4OQ34", 6 | "description": "voucherCatalogNumber: USNM:Fish:433156", 7 | "has_context_category": [ 8 | { 9 | "label": "Marine environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/marinewaterbody" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Whole organism material sample", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/wholeorganism" 23 | } 24 | ], 25 | "keywords": [ 26 | {"keyword": "Chordata"}, 27 | {"keyword": "Priacanthidae"}, 28 | { 29 | "keyword": "Actinopterygii", 30 | "scheme_name": "taxon: class", 31 | "keyword_uri": "https://www.wikidata.org/wiki/Q127282" 32 | }, 33 | {"keyword": "fish"}, 34 | { 35 | "keyword": "Cookeolus japonicus", 36 | "scheme_name": "taxon: species", 37 | "keyword_uri": "https://www.wikidata.org/wiki/Q2274174" 38 | } 39 | ], 40 | "produced_by": { 41 | "identifier": "ark:/21547/CAZ22d56d67d0d9114f5eaec25e71aeb6604", 42 | "label": "expeditionCode: PT_02", 43 | "description": "projectId: 85", 44 | "has_feature_of_interest": "", 45 | "responsibility": [ 46 | { 47 | "role": "sponsor", 48 | "name": "Northeast Fisheries Science Center (NEFSC), Woods Hole, MA" 49 | } 50 | ], 51 | "result_time": "2006-09-07", 52 | "sampling_site": { 53 | "description": "", 54 | "label": "", 55 | "sample_location": { 56 | "elevation": "", 57 | "latitude": 37.5267, 58 | "longitude": -74.3667 59 | }, 60 | "place_name": [ 61 | "USA", 62 | "North Atlantic Ocean" 63 | ] 64 | } 65 | }, 66 | "registrant": {}, 67 | "last_modified_time":"2024-09-13T09:20:00-07:00", 68 | "sampling_purpose": "", 69 | "curation": { 70 | "label": "", 71 | "description": "", 72 | "access_constraints": [], 73 | "curation_location": "", 74 | "responsibility": [ 75 | {"name": "institutionCode: USNM"} 76 | ] 77 | }, 78 | "related_resource": [ 79 | { 80 | "label": "tissue", 81 | "description": "", 82 | "target": "ark:/21547/CAa2AB4OQ34", 83 | "relationship": "subsample" 84 | } 85 | ] 86 | } -------------------------------------------------------------------------------- /examples/OpenContext/ProjectMetadataWorkflow.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/OpenContext/ProjectMetadataWorkflow.docx -------------------------------------------------------------------------------- /examples/OpenContext/ark-ProjectTemplate-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "has_context_category": [ 4 | { 5 | "label": "Site of past human activities", 6 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/pasthumanoccupationsite" 7 | } 8 | ], 9 | 10 | "keywords": [ 11 | { 12 | "keyword": "generic keyword(s)for site and project", 13 | "scheme_name": "", 14 | "keyword_uri": "" 15 | }, 16 | { 17 | } 18 | ], 19 | "complies_with": ["if the project is using a sampling protocol for all samples, describe it here, else blank"], 20 | "produced_by": { 21 | "has_feature_of_interest": "default value for project; could be replaced on individual sample basis", 22 | "responsibility": [ 23 | { 24 | "role": "Collector", 25 | "name": "... populate with Agent object; template leaves slot because collector is required " 26 | }, 27 | { 28 | "role" : "Project" , 29 | "name" : "constant for project, pre populate" 30 | } 31 | ], 32 | 33 | "sampling_site": { 34 | "description": "template can contain generic site description, sample collectors add detail for individual samples", 35 | "label": " some standard syntax with generic name for site and detail name for particular sampling event; Template prepopulate with generic name", 36 | "place_name": [ 37 | "list of generic place names" 38 | ] 39 | }, 40 | "authorized_by": [ 41 | "any permits under which the sampling is operating; " 42 | ] 43 | }, 44 | "curation": { 45 | "access_constraints": ["include in template if known"], 46 | "curation_location": "include in template if known", 47 | "responsibility": [ 48 | { 49 | "role": "curator", 50 | "name": "include in template if known" 51 | } 52 | ] 53 | } 54 | } -------------------------------------------------------------------------------- /examples/OpenContext/ark-ProjectTemplate-v1.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # this is an iSamples JSON record converted to YAML so I can put comments in.... 3 | '@schema': iSamplesSchemaCore1.0.json #this stays constant 4 | '@id': #the @id becomes the node identifier, which is the iSamples record, not the material sample identifier, leave blank until a sample is collected 5 | label: # label for the metadata record, not assigned in template 6 | sample_identifier: # identifier for the material sample, not assigned in template 7 | description: # description of the material sample, not assigned in template 8 | has_context_category: # the high level context will likely be the same for all samples in an archaeology project 9 | - label: Site of past human activities 10 | identifier: https://w3id.org/isample/vocabulary/sampledfeature/0.9/pasthumanoccupationsite 11 | has_material_category: # this will vary from sample to sample, the project should provide a pick list, using iSamples Material type and openContext materials exetension 12 | - label: 13 | identifier: 14 | has_sample_object_type: # this will vary from sample to sample, the project should provide a pick list, using iSamples Material Sample Type Vocabulary. 15 | - label: 16 | identifier: 17 | keywords: # this will vary from sample to sample, the project might provide a pick list and allow free text 'tagging' 18 | 19 | complies_with: # if the project is using a sampling protocol for all samples, describe it here, else blank 20 | - 21 | produced_by: # the sampling event 22 | identifier: # identifier for sampleing eventa assigned when sample collected; this could be assigned automatically based on trench, operator, and time stamp. Project needs to determine granularity of sampling events, e.g. an event is one investigator, in one trench, on the same day. 23 | label: 24 | description: '' 25 | has_feature_of_interest: what was sampled, general site name, with more specific feature within site if applicable. 26 | responsibility: 27 | - role: Collector 28 | name: # Required at collection time. This will be populated at start of event based on who is logged in to collect data. 29 | result_time: '2017-06-04' # populate at collection time, could be start or end of collecting session, or a time interval with begin/end. 30 | sampling_site: # the high-level description of the sample site, e.g. Poggio Civitate, 31 | description: #template can contain generic site description, sample collectors add detail for individual samples 32 | label: # some standard syntax with generic name for site and detail name for particular sampling event; Template prepopulate with generic name. 33 | sample_location: # locations specified with lat/long; this could be centroid for the site shared by all samples, or more granular coordinates within site. If samples are located using a site-specific grid, those should be described in the descrition. 34 | elevation: '' 35 | latitude: -8.73642 36 | longitude: 115.88083 37 | place_name: # hight level keywords (country, ocean, state, county.. ) provide in template. 38 | - name1 39 | registrant: 40 | name: #populate with samples are registered 41 | sampling_purpose: # sample specific 42 | curation: #if this is known in advance, it can be populated in teh template 43 | access_constraints: [] 44 | curation_location: 'where samples collected by teh project will end up' 45 | responsibility: 46 | - role: curator 47 | name: name of curator (person/affiliation, or organization -------------------------------------------------------------------------------- /examples/OpenContext/raw/README.md: -------------------------------------------------------------------------------- 1 | # OpenContext Example Metadata 2 | 3 | These samples were pulled from the [OpenContext](https://opencontext.org/about/services#tab_query-syntax) service query API. 4 | using an unpublished service. 5 | 6 | * Example 01 7 | * Identifier: `ark:/28722/k27w68z78` 8 | * Landing page: https://opencontext.org/subjects/E555826E-42A5-4293-3B0A-0C76553A9B53 9 | * JSON: [sample_eg_01.json](sample_eg_01.json) 10 | * Example 02 11 | * Identifier: `ark:/28722/k2sx64g08` 12 | * Landing page: https://opencontext.org/subjects/FC96A49E-FE12-488B-4EFF-02D4E147B885 13 | * JSON: [sample_eg_02.json](sample_eg_02.json) 14 | * Example 03 15 | * Identifier: `ark:/28722/k2x63b85b` 16 | * Landing page: https://opencontext.org/subjects/DD52EEA8-76A3-4C1D-AAC9-F32B62EC5996 17 | * JSON: [sample_eg_03.json](sample_eg_03.json) 18 | * Example 04 19 | * Identifier: `ark:/28722/k2n00zx3n` 20 | * Landing page: https://opencontext.org/subjects/B10101F2-802B-4FD0-5977-619E092ECEAC 21 | * JSON: [sample_eg_04.json](sample_eg_04.json) 22 | 23 | -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k20v8wf4s.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/9da35843-397e-4c7a-96ee-9272f9a0d185", 3 | "citation uri": "https://n2t.net/ark:/28722/k20v8wf4s", 4 | "label": "8110256", 5 | "project label": "Early Bronze Age Numayra", 6 | "project uri": "http://opencontext.org/projects/685a86a5-ed68-4f92-8c50-d2dfb8f20995", 7 | "context label": "Jordan/Numayra/Unit NE 4-1/Locus 8", 8 | "context uri": "http://opencontext.org/subjects/3df0104e-66f0-4742-a56e-bf01175eca64", 9 | "latitude": 31.13142, 10 | "longitude": 35.52837, 11 | "early bce/ce": -2850.0, 12 | "late bce/ce": -2550.0, 13 | "item category": "Pottery", 14 | "published": "2019-10-05", 15 | "updated": "2021-06-28T02:11:48Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/265a123e-3941-41b2-b309-5c4dd8208250", 18 | "label": "Meredith S. Chesson" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/35876789-332c-4e26-89e4-1c30c9b6a0c2", 22 | "label": "R. Thomas Schaub" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/f276c41d-f3c6-456c-b1c1-63325f52f37f", 26 | "label": " Walter E. Rast" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k25m6n269.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/2013457A-B187-4534-0F3C-0B0D0A1EE376", 3 | "citation uri": "https://n2t.net/ark:/28722/k25m6n269", 4 | "label": "PC 19710276", 5 | "project label": "Murlo", 6 | "project uri": "http://opencontext.org/projects/DF043419-F23B-41DA-7E4D-EE52AF22F92F", 7 | "context label": "Italy/Poggio Civitate/Tesoro Rectangle/Tesoro Rectangle 7/1971, ID:283", 8 | "context uri": "http://opencontext.org/subjects/B91809DA-A28D-438B-F735-636D941825E1", 9 | "latitude": 43.153368, 10 | "longitude": 11.401406, 11 | "early bce/ce": -700.0, 12 | "late bce/ce": -535.0, 13 | "item category": "Object", 14 | "published": "2012-12-28", 15 | "updated": "2021-06-27T20:38:12Z", 16 | "Has type": [{ 17 | "id": "http://collection.britishmuseum.org/id/thesauri/x5250", 18 | "label": "artefact" 19 | }], 20 | "Consists of": [{ 21 | "id": "http://collection.britishmuseum.org/id/thesauri/x10424", 22 | "label": "bronze" 23 | }], 24 | "Creator": [{ 25 | "id": "http://opencontext.org/persons/61D87033-881E-48B9-FF27-27337BBCDAA0", 26 | "label": "Anthony Tuck" 27 | }], 28 | "Temporal Coverage": [{ 29 | "id": "http://n2t.net/ark:/99152/p06v8w4g9dz", 30 | "label": "Archaic (580 BCE - 482 BCE)" 31 | }, 32 | { 33 | "id": "http://n2t.net/ark:/99152/p06v8w45852", 34 | "label": "Orientalizing (750 BCE - 582 BCE)" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k28d0b21r.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/f423496d-c695-46da-97c5-aacc89553f69", 3 | "citation uri": "https://n2t.net/ark:/28722/k28d0b21r", 4 | "label": "8110546", 5 | "project label": "Early Bronze Age Numayra", 6 | "project uri": "http://opencontext.org/projects/685a86a5-ed68-4f92-8c50-d2dfb8f20995", 7 | "context label": "Jordan/Numayra/Unit SE 9-1/Locus 22", 8 | "context uri": "http://opencontext.org/subjects/7c767465-af87-49ef-97a2-3d77e2885eea", 9 | "latitude": 31.13142, 10 | "longitude": 35.52837, 11 | "early bce/ce": -2850.0, 12 | "late bce/ce": -2550.0, 13 | "item category": "Pottery", 14 | "published": "2019-10-05", 15 | "updated": "2021-06-28T02:11:48Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/265a123e-3941-41b2-b309-5c4dd8208250", 18 | "label": "Meredith S. Chesson" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/35876789-332c-4e26-89e4-1c30c9b6a0c2", 22 | "label": "R. Thomas Schaub" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/f276c41d-f3c6-456c-b1c1-63325f52f37f", 26 | "label": " Walter E. Rast" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2b570022.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/fba17d13-1242-407e-8f62-33ca9d79221f", 3 | "citation uri": "https://n2t.net/ark:/28722/k2b570022", 4 | "label": "11208190", 5 | "project label": "Historic Fort Snelling", 6 | "project uri": "http://opencontext.org/projects/fab0532a-2953-4f13-aa97-8a9d7e992dbe", 7 | "context label": "United States/Minnesota/Fort Snelling/Fort Snelling Short Barracks/Base of stairwell", 8 | "context uri": "http://opencontext.org/subjects/803733ae-6e29-4370-b3c7-5761e6d64bb8", 9 | "latitude": 44.893131, 10 | "longitude": -93.181061, 11 | "early bce/ce": 1820.0, 12 | "late bce/ce": 1950.0, 13 | "item category": "Object", 14 | "published": "2016-06-23T19:15:39Z", 15 | "updated": "2021-06-27T19:54:46Z", 16 | "Consists of": [{ 17 | "id": "http://vocab.getty.edu/aat/300011845", 18 | "label": "leather" 19 | }], 20 | "Creator": [{ 21 | "id": "http://opencontext.org/persons/c2c92a0a-4acb-40c0-822d-e20e85fa10a1", 22 | "label": "Nancy Hoffman" 23 | }], 24 | "Has type": [{ 25 | "id": "http://vocab.getty.edu/aat/300117130", 26 | "label": "fragments (object portions)" 27 | }] 28 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2d511s24.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/FA9AEDFE-914A-4951-D890-DB513C67CB60", 3 | "citation uri": "https://n2t.net/ark:/28722/k2d511s24", 4 | "label": "PC 19711008", 5 | "project label": "Murlo", 6 | "project uri": "http://opencontext.org/projects/DF043419-F23B-41DA-7E4D-EE52AF22F92F", 7 | "context label": "Italy/Poggio Civitate/Tesoro Rectangle/Tesoro Rectangle 8/1971, ID:286", 8 | "context uri": "http://opencontext.org/subjects/F81F3432-2A5C-40E4-CE78-B40E4BE7A3F7", 9 | "latitude": 43.153333, 10 | "longitude": 11.401381, 11 | "early bce/ce": -700.0, 12 | "late bce/ce": -535.0, 13 | "item category": "Glass", 14 | "published": "2012-12-28", 15 | "updated": "2021-06-27T20:49:18Z", 16 | "Has type": [{ 17 | "id": "http://collection.britishmuseum.org/id/thesauri/x8875", 18 | "label": "sample" 19 | }], 20 | "Consists of": [{ 21 | "id": "http://collection.britishmuseum.org/id/thesauri/x10879", 22 | "label": "glass" 23 | }, 24 | { 25 | "id": "http://en.wikipedia.org/wiki/Cobalt_glass", 26 | "label": "Cobalt glass" 27 | } 28 | ], 29 | "Creator": [{ 30 | "id": "http://opencontext.org/persons/61D87033-881E-48B9-FF27-27337BBCDAA0", 31 | "label": "Anthony Tuck" 32 | }], 33 | "Temporal Coverage": [{ 34 | "id": "http://n2t.net/ark:/99152/p06v8w4g9dz", 35 | "label": "Archaic (580 BCE - 482 BCE)" 36 | }, 37 | { 38 | "id": "http://n2t.net/ark:/99152/p06v8w45852", 39 | "label": "Orientalizing (750 BCE - 582 BCE)" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2hx1rn9x.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/35f00175-6e61-45ed-9e69-dad4ca16359c", 3 | "citation uri": "https://n2t.net/ark:/28722/k2hx1rn9x", 4 | "label": "8110531", 5 | "project label": "Early Bronze Age Numayra", 6 | "project uri": "http://opencontext.org/projects/685a86a5-ed68-4f92-8c50-d2dfb8f20995", 7 | "context label": "Jordan/Numayra/Unit SE 9-1/Locus 22", 8 | "context uri": "http://opencontext.org/subjects/7c767465-af87-49ef-97a2-3d77e2885eea", 9 | "latitude": 31.13142, 10 | "longitude": 35.52837, 11 | "early bce/ce": -2850.0, 12 | "late bce/ce": -2550.0, 13 | "item category": "Pottery", 14 | "published": "2019-10-05", 15 | "updated": "2021-06-28T02:11:47Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/265a123e-3941-41b2-b309-5c4dd8208250", 18 | "label": "Meredith S. Chesson" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/35876789-332c-4e26-89e4-1c30c9b6a0c2", 22 | "label": "R. Thomas Schaub" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/f276c41d-f3c6-456c-b1c1-63325f52f37f", 26 | "label": " Walter E. Rast" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2m61xj9b.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/f92c3c4b-f7cd-4cf5-aeab-30e0baad3b62", 3 | "citation uri": "https://n2t.net/ark:/28722/k2m61xj9b", 4 | "label": "Bone 6874", 5 | "project label": "Neolithic and Bronze Age cattle data from Switzerland", 6 | "project uri": "http://opencontext.org/projects/c89e6a9e-105a-4368-9e90-26940d7bf37a", 7 | "context label": "Liechtenstein/Eschen-Lutzengüetle/Eschen-Lutzengüetle SR", 8 | "context uri": "http://opencontext.org/subjects/f17ec2a7-2a31-4714-9ec4-c1cce4ec7ea8", 9 | "latitude": 47.210228, 10 | "longitude": 9.522178, 11 | "early bce/ce": -4100.0, 12 | "late bce/ce": -3900.0, 13 | "item category": "Animal Bone", 14 | "published": "2021-02-10T05:37:53Z", 15 | "updated": "2021-06-27T21:34:12Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/48b6e880-2ee2-484f-abde-7300ed134b1b", 18 | "label": "Elizabeth Wright" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/3eba07e1-8caa-4128-81d4-8ab732c84c85", 22 | "label": "Margherita Schäfer" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/219a423b-f5d1-4d2e-8ff1-4f083263c388", 26 | "label": "Barbara Stopp" 27 | }, 28 | { 29 | "id": "http://opencontext.org/persons/abf469e2-5ceb-44ff-ae1e-a2a71aa6cbaf", 30 | "label": "Elisabeth Marti-Grädel" 31 | }, 32 | { 33 | "id": "http://opencontext.org/persons/3d80735c-0446-4dac-b695-71ccfd22af44", 34 | "label": "Francesca Ginella" 35 | }, 36 | { 37 | "id": "http://opencontext.org/persons/3adbbdbb-3b7b-4e5a-86e1-5fc0ed0ba366", 38 | "label": "Manar Kerdy" 39 | }, 40 | { 41 | "id": "http://opencontext.org/persons/88f28e1e-3ae8-4fa5-9b11-20457c68c53f", 42 | "label": "Miki Bopp-Ito" 43 | }, 44 | { 45 | "id": "http://opencontext.org/persons/d43d3a3f-d5af-4171-a378-8a677ca01246", 46 | "label": "Sabine Deschler-Erb" 47 | }, 48 | { 49 | "id": "http://opencontext.org/persons/c5130829-606f-4b3b-a7dc-4ac6c4ae50a0", 50 | "label": "Jörg Schibler" 51 | } 52 | ], 53 | "Temporal Coverage": [{ 54 | "id": "http://id.loc.gov/authorities/subjects/sh85090768", 55 | "label": "Neolithic" 56 | }, 57 | { 58 | "id": "http://id.loc.gov/authorities/subjects/sh85017098", 59 | "label": "Bronze age--Europe" 60 | }, 61 | { 62 | "id": "http://n2t.net/ark:/99152/p0qhb66d5b9", 63 | "label": "Neolithikum" 64 | } 65 | ], 66 | "Has taxonomic identifier": [{ 67 | "id": "http://www.gbif.org/species/2441022", 68 | "label": "Bos taurus" 69 | }], 70 | "Has anatomical identification": [{ 71 | "id": "http://purl.obolibrary.org/obo/UBERON_0013588", 72 | "label": "fused metatarsal bones 3 and 4" 73 | }] 74 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2p84pt1m.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/8eebfdb5-fb5f-4549-9612-f746de3f6227", 3 | "citation uri": "https://n2t.net/ark:/28722/k2p84pt1m", 4 | "label": "8110137", 5 | "project label": "Early Bronze Age Numayra", 6 | "project uri": "http://opencontext.org/projects/685a86a5-ed68-4f92-8c50-d2dfb8f20995", 7 | "context label": "Jordan/Numayra/Unit NE 4-2/Locus 3", 8 | "context uri": "http://opencontext.org/subjects/94df06cb-1002-4815-a278-88457bf1a713", 9 | "latitude": 31.13142, 10 | "longitude": 35.52837, 11 | "early bce/ce": -2850.0, 12 | "late bce/ce": -2550.0, 13 | "item category": "Pottery", 14 | "published": "2019-10-05", 15 | "updated": "2021-06-28T02:09:13Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/265a123e-3941-41b2-b309-5c4dd8208250", 18 | "label": "Meredith S. Chesson" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/35876789-332c-4e26-89e4-1c30c9b6a0c2", 22 | "label": "R. Thomas Schaub" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/f276c41d-f3c6-456c-b1c1-63325f52f37f", 26 | "label": " Walter E. Rast" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2qj7np9g.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/08218014-fa73-4fad-8e8c-45d41bb39891", 3 | "label": "Object 68", 4 | "Creator": [ 5 | { 6 | "id": "http://opencontext.org/persons/14e62343-3801-40b4-9f34-1354e18aa8f4", 7 | "label": "Justin Walsh" 8 | }, 9 | { 10 | "id": "http://opencontext.org/persons/b2ed6953-ce71-43e6-ab82-7ce13e208d38", 11 | "label": "Alice Gorman" 12 | }, 13 | { 14 | "id": "http://opencontext.org/persons/4f079b0f-8bf2-419a-a27f-4c2557b7ee3a", 15 | "label": "Wendy Salmond" 16 | } 17 | ], 18 | "updated": "2021-01-27T03:57:23Z", 19 | "Has type": [ 20 | { 21 | "id": "http://vocab.getty.edu/aat/300391047", 22 | "label": "color patches (military patches)" 23 | } 24 | ], 25 | "latitude": false, 26 | "longitude": false, 27 | "published": "2021-01-27T02:47:12Z", 28 | "context uri": "http://opencontext.org/subjects/a2ec568f-2483-4c98-901b-3f7dfbe5f34b", 29 | "late bce/ce": false, 30 | "project uri": "http://opencontext.org/projects/e682f907-6e4a-44cc-8a5f-3e2c73001673", 31 | "citation uri": "https://n2t.net/ark:/28722/k2ks6xw6t", 32 | "early bce/ce": false, 33 | "context label": "International Space Station/Zvezda Service Module", 34 | "item category": "Object", 35 | "project label": "Archaeology of the International Space Station" 36 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2r78rh73.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/5142a2ce-e69e-43fb-9765-37c298a794f3", 3 | "citation uri": "https://n2t.net/ark:/28722/k2r78rh73", 4 | "label": "11208747", 5 | "project label": "Historic Fort Snelling", 6 | "project uri": "http://opencontext.org/projects/fab0532a-2953-4f13-aa97-8a9d7e992dbe", 7 | "context label": "United States/Minnesota/Fort Snelling/Fort Snelling Short Barracks/10 S :: 20 E east half", 8 | "context uri": "http://opencontext.org/subjects/d5d186e9-c4a4-4aa4-8f92-a99b3ea2ff47", 9 | "latitude": 44.893206, 10 | "longitude": -93.18089, 11 | "early bce/ce": 1820.0, 12 | "late bce/ce": 1950.0, 13 | "item category": "Object", 14 | "published": "2016-06-23T19:15:27Z", 15 | "updated": "2021-06-27T19:55:08Z", 16 | "Consists of": [{ 17 | "id": "http://vocab.getty.edu/aat/300010445", 18 | "label": "kaolin" 19 | }], 20 | "Creator": [{ 21 | "id": "http://opencontext.org/persons/c2c92a0a-4acb-40c0-822d-e20e85fa10a1", 22 | "label": "Nancy Hoffman" 23 | }], 24 | "Has type": [{ 25 | "id": "http://vocab.getty.edu/aat/300248067", 26 | "label": "pipes (smoking equipment)" 27 | }] 28 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2s473387.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/dc86d1b7-b0b6-4503-b3c9-e58c25dafe49", 3 | "citation uri": "https://n2t.net/ark:/28722/k2s473387", 4 | "label": "Obj 1185000014", 5 | "project label": "The Eastern Korinthia Archaeological Survey", 6 | "project uri": "http://opencontext.org/projects/bc71c724-eb1e-47d6-9d45-b586ddafdcfe", 7 | "context label": "Greece/Corinthia/EKAS Region/Kokkinia/DU 1185", 8 | "context uri": "http://opencontext.org/subjects/c7581e8c-e127-44ef-8ea0-fd8568bf922b", 9 | "latitude": 37.889375, 10 | "longitude": 22.984746, 11 | "early bce/ce": -6700.0, 12 | "late bce/ce": 700.0, 13 | "item category": "Object", 14 | "published": "2021-06-04T07:17:27Z", 15 | "updated": "2021-06-27T23:27:39Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/01B146EA-9654-4A13-FE59-DEA17A785EFE", 18 | "label": "David K. Pettegrew" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/5653da47-bfc6-47c3-a40d-36b306ccce01", 22 | "label": "Timothy E Gregory" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/12381811-c322-4acc-aa21-8c09563ddc8e", 26 | "label": "Daniel J Pullen" 27 | }, 28 | { 29 | "id": "http://opencontext.org/persons/278ab53c-e94a-4562-acd3-c29c76fd9c8b", 30 | "label": "Richard Rothaus" 31 | }, 32 | { 33 | "id": "http://opencontext.org/persons/f6759704-16f0-4a6e-90e0-a9cd7275059e", 34 | "label": "Thomas F Tartaron" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2sj1wp0c.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/bc414637-bd59-47a2-836a-1d97e3e12f62", 3 | "citation uri": "https://n2t.net/ark:/28722/k2sj1wp0c", 4 | "label": "8110051", 5 | "project label": "Early Bronze Age Numayra", 6 | "project uri": "http://opencontext.org/projects/685a86a5-ed68-4f92-8c50-d2dfb8f20995", 7 | "context label": "Jordan/Numayra/Unit NE 2-2/Locus 3", 8 | "context uri": "http://opencontext.org/subjects/9555dd10-97c2-49b5-9503-df22259798c0", 9 | "latitude": 31.13142, 10 | "longitude": 35.52837, 11 | "early bce/ce": -2850.0, 12 | "late bce/ce": -2550.0, 13 | "item category": "Pottery", 14 | "published": "2019-10-05", 15 | "updated": "2021-06-28T02:11:27Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/265a123e-3941-41b2-b309-5c4dd8208250", 18 | "label": "Meredith S. Chesson" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/35876789-332c-4e26-89e4-1c30c9b6a0c2", 22 | "label": "R. Thomas Schaub" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/f276c41d-f3c6-456c-b1c1-63325f52f37f", 26 | "label": " Walter E. Rast" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2w66w62f.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/0bdb7906-a57b-4073-b329-1705cf49765c", 3 | "citation uri": "https://n2t.net/ark:/28722/k2w66w62f", 4 | "label": "Obj 1278000007", 5 | "project label": "The Eastern Korinthia Archaeological Survey", 6 | "project uri": "http://opencontext.org/projects/bc71c724-eb1e-47d6-9d45-b586ddafdcfe", 7 | "context label": "Greece/Corinthia/EKAS Region/Ayios Kosmas/DU 1278", 8 | "context uri": "http://opencontext.org/subjects/49699adf-f781-4eba-b394-fd6f3c1b1439", 9 | "latitude": 37.90846, 10 | "longitude": 22.966693, 11 | "early bce/ce": -6700.0, 12 | "late bce/ce": -6700.0, 13 | "item category": "Object", 14 | "published": "2021-06-04T06:51:57Z", 15 | "updated": "2021-06-27T23:41:53Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/01B146EA-9654-4A13-FE59-DEA17A785EFE", 18 | "label": "David K. Pettegrew" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/5653da47-bfc6-47c3-a40d-36b306ccce01", 22 | "label": "Timothy E Gregory" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/12381811-c322-4acc-aa21-8c09563ddc8e", 26 | "label": "Daniel J Pullen" 27 | }, 28 | { 29 | "id": "http://opencontext.org/persons/278ab53c-e94a-4562-acd3-c29c76fd9c8b", 30 | "label": "Richard Rothaus" 31 | }, 32 | { 33 | "id": "http://opencontext.org/persons/f6759704-16f0-4a6e-90e0-a9cd7275059e", 34 | "label": "Thomas F Tartaron" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /examples/OpenContext/raw/ark-28722-k2wq0d434.json: -------------------------------------------------------------------------------- 1 | { 2 | "uri": "http://opencontext.org/subjects/3f7b5a35-88aa-482b-a776-bc511d860ff0", 3 | "citation uri": "https://n2t.net/ark:/28722/k2wq0d434", 4 | "label": "Obj 1681000003", 5 | "project label": "The Eastern Korinthia Archaeological Survey", 6 | "project uri": "http://opencontext.org/projects/bc71c724-eb1e-47d6-9d45-b586ddafdcfe", 7 | "context label": "Greece/Corinthia/EKAS Region/Yiriza/DU 1681", 8 | "context uri": "http://opencontext.org/subjects/41756cbd-0ecb-4f9b-b681-1d4e2d348873", 9 | "latitude": 37.90732, 10 | "longitude": 22.926799, 11 | "early bce/ce": -6700.0, 12 | "late bce/ce": -6700.0, 13 | "item category": "Object", 14 | "published": "2021-06-04T06:52:45Z", 15 | "updated": "2021-06-27T23:40:09Z", 16 | "Creator": [{ 17 | "id": "http://opencontext.org/persons/01B146EA-9654-4A13-FE59-DEA17A785EFE", 18 | "label": "David K. Pettegrew" 19 | }, 20 | { 21 | "id": "http://opencontext.org/persons/5653da47-bfc6-47c3-a40d-36b306ccce01", 22 | "label": "Timothy E Gregory" 23 | }, 24 | { 25 | "id": "http://opencontext.org/persons/12381811-c322-4acc-aa21-8c09563ddc8e", 26 | "label": "Daniel J Pullen" 27 | }, 28 | { 29 | "id": "http://opencontext.org/persons/278ab53c-e94a-4562-acd3-c29c76fd9c8b", 30 | "label": "Richard Rothaus" 31 | }, 32 | { 33 | "id": "http://opencontext.org/persons/f6759704-16f0-4a6e-90e0-a9cd7275059e", 34 | "label": "Thomas F Tartaron" 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /examples/OpenContext/test1.0Valid/ark-28722-k28d0b21r-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/28722/k28d0b21r", 4 | "label": "Pottery 8110546", 5 | "sample_identifier": "ark:/28722/k28d0b21r", 6 | "description": "'early bce/ce': -2850.0 | 'late bce/ce': -2550.0 | 'updated': 2021-06-28T02:11:48Z", 7 | "has_context_category": [ 8 | { 9 | "label": "Site of past human activities", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/pasthumanoccupationsite" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Anthropogenic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/otheranthropogenicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Artifact", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/artifact" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Early Bronze Age", 28 | "keyword_uri": "http://vocab.getty.edu/page/aat/300019276", 29 | "scheme_name": "Styles and Periods Facet: Getty Art & Architecture Thesaurus" 30 | }, 31 | { 32 | "keyword": "Numayra", 33 | "keyword_uri": "https://opencontext.org/subjects/efe8f73b-2dc7-45e4-8ee9-04b8c8b17ec8", 34 | "scheme_name": "oc-gen:cat-site" 35 | }, 36 | { 37 | "keyword": "Unit SE 9-1", 38 | "keyword_uri": "https://opencontext.org/subjects/503a2830-3c9c-42e5-affa-723b4f559b57", 39 | "scheme_name": "oc-gen:cat-square" 40 | }, 41 | { 42 | "keyword": "pottery", 43 | "keyword_uri": "http://vocab.getty.edu/page/aat/300010666", 44 | "scheme_name": "Object Facet: Getty Art & Architecture Thesaurus" 45 | } 46 | ], 47 | "last_modified_time":"2024-09-13T09:20:00-07:00", 48 | "produced_by": { 49 | "label": "Early Bronze Age Numayra", 50 | "description": "", 51 | "has_feature_of_interest": "", 52 | "responsibility": [ 53 | { 54 | "role": "collector", 55 | "name": "Meredith S. Chesson" 56 | }, 57 | { 58 | "role": "collector", 59 | "name": "R. Thomas Schaub" 60 | }, 61 | { 62 | "role": "collector", 63 | "name": "Walter E. Rast" 64 | } 65 | ], 66 | "result_time": "2019-10-05", 67 | "sampling_site": { 68 | "description": "", 69 | "label": "Locus 22", 70 | "sample_location": { 71 | "elevation": "", 72 | "latitude": 31.13142, 73 | "longitude": 35.52837 74 | }, 75 | "place_name": [ 76 | "Jordan", 77 | "Numayra", 78 | "Unit SE 9-1", 79 | "Locus 22" 80 | ] 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /examples/OpenContext/test1.0Valid/ark-28722-k2b570022-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/28722/k2b570022", 4 | "label": "Object 11208190", 5 | "sample_identifier": "ark:/28722/k2b570022", 6 | "description": "'early bce/ce': 1820.0 | 'late bce/ce': 1950.0 | 'updated': 2021-06-27T19:54:46Z | 'Consists of': leather | 'Has type': fragments (object portions)", 7 | "has_context_category": [ 8 | { 9 | "label": "Site of past human activities", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/pasthumanoccupationsite" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Anthropogenic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/otheranthropogenicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Artifact", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/artifact" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Historic Fort Snelling", 28 | "keyword_uri": "https://www.wikidata.org/wiki/Q480993", 29 | "scheme_name": "Wikidata" 30 | }, 31 | { 32 | "keyword": "leather", 33 | "scheme_name": "Materials Facet: Getty Art & Architecture Thesaurus", 34 | "keyword_uri": "http://vocab.getty.edu/page/aat/300011845" 35 | } 36 | ], 37 | "last_modified_time":"2024-09-13T09:20:00-07:00", 38 | "produced_by": { 39 | "label": "Historic Fort Snelling", 40 | "description": "", 41 | "has_feature_of_interest": "Historic Fort Snelling", 42 | "responsibility": [ 43 | { 44 | "role": "collector", 45 | "name": "Nancy Hoffman" 46 | } 47 | ], 48 | "result_time": "2016-06-23", 49 | "sampling_site": { 50 | "description": "Base of stairwell", 51 | "label": "Fort Snelling Short Barracks", 52 | "sample_location": { 53 | "elevation": "", 54 | "latitude": 44.893131, 55 | "longitude": -93.181061 56 | }, 57 | "place_name": [ 58 | "United States", 59 | "Minnesota", 60 | "Historic Fort Snelling" 61 | ] 62 | } 63 | } 64 | } -------------------------------------------------------------------------------- /examples/OpenContext/test1.0Valid/ark-28722-k2d511s24-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/28722/k2d511s24", 4 | "label": "PC 19711008", 5 | "sample_identifier": "ark:/28722/k2d511s24", 6 | "description": "'early bce/ce': -700.0 | 'late bce/ce': -535.0 | 'updated': 2021-06-27T20:49:18Z | 'Consists of': glass | 'Consists of': Cobalt glass | 'Has type': sample | 'Temporal Coverage': Archaic (580 BCE - 482 BCE) | 'Temporal Coverage': Orientalizing (750 BCE - 582 BCE) ", 7 | "has_context_category": [ 8 | { 9 | "label": "Site of past human activities", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/pasthumanoccupationsite" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Anthropogenic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/otheranthropogenicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Artifact", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/artifact" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Poggio Civitate", 28 | "keyword_uri": "http://vocab.getty.edu/page/tgn/7594277", 29 | "scheme_name": "Getty Thesaurus of Geographic Names" 30 | }, 31 | {"keyword": "1971, ID:286"}, 32 | { 33 | "keyword": "Cobalt glass", 34 | "scheme_name": "Materials Facet: Getty Art & Architecture Thesaurus", 35 | "keyword_uri": "http://vocab.getty.edu/page/aat/300212176" 36 | }, 37 | { 38 | "keyword": "Archaic", 39 | "scheme_name": "Styles and Periods Facet: Getty Art & Architecture Thesaurus", 40 | "keyword_uri": "http://vocab.getty.edu/page/aat/300020086" 41 | }, 42 | { 43 | "keyword": "Orientalizing", 44 | "scheme_name": "Styles and Periods Facet: Getty Art & Architecture Thesaurus", 45 | "keyword_uri": "http://vocab.getty.edu/page/aat/300020085" 46 | } 47 | ], 48 | "last_modified_time":"2024-09-13T09:20:00-07:00", 49 | "produced_by": { 50 | "label": "Murlo", 51 | "description": "", 52 | "has_feature_of_interest": "Poggio Civitate", 53 | "responsibility": [ 54 | { 55 | "role": "collector", 56 | "name": "Anthony Tuck" 57 | } 58 | ], 59 | "result_time": "2012-12-28", 60 | "sampling_site": { 61 | "description": "Tesoro Rectangle 7, 1971, ID:286", 62 | "label": "Tesoro Rectangle", 63 | "sample_location": { 64 | "elevation": "", 65 | "latitude": 43.153333, 66 | "longitude": 11.401381 67 | }, 68 | "place_name": [ 69 | "Italy", 70 | "Murlo", 71 | "Poggio Civitate", 72 | "Tesoro Rectangle" 73 | ] 74 | }, 75 | "authorized_by": ["not specified"] 76 | } 77 | } -------------------------------------------------------------------------------- /examples/SESAR/README.md: -------------------------------------------------------------------------------- 1 | # SESAR Example Metadata 2 | 3 | These samples were pulled from the [SESAR](https://www.iedadata.org/sesar-api/) service API. 4 | using an unpublished service. 5 | 6 | * Example 01 7 | * Identifier: `ODP01XBMJ` 8 | * Landing page: https://app.geosamples.org/sample/ODP01XBMJ 9 | * JSON: [sample_eg_01.json](sample_eg_01.json) 10 | * Example 02 11 | * Identifier: `IEEJR000M` 12 | * Landing page: https://app.geosamples.org/sample/IEEJR000M 13 | * JSON: [sample_eg_02.json](sample_eg_02.json) 14 | * Example 03 15 | * Identifier: `IEEJT006G` 16 | * Landing page: https://app.geosamples.org/sample/IEEJT006G 17 | * JSON: [sample_eg_03.json](sample_eg_03.json) 18 | * Example 04 19 | * Identifier: `IECJCL265` 20 | * Landing page: https://app.geosamples.org/sample/igsn/IECJCL265 21 | * JSON: [sample_eg_04.json](sample_eg_04.json) 22 | 23 | -------------------------------------------------------------------------------- /examples/SESAR/raw/IEJEN0040json-ld.json: -------------------------------------------------------------------------------- 1 | {"@context":"https://raw.githubusercontent.com/IGSN/igsn-json/master/schema.igsn.org/json/registration/v0.1/context.jsonld","@id":"https://data.geosamples.org/sample/igsn/IEJEN0040","igsn":"IEJEN0040","registrant":{"name":"IEDA","identifiers":{"kind":"uri","id":"https://www.geosamples.org"}},"description":{"sampleName":"Goldfin ~20 m moss from 30 cm hummock","sampleType":"Grab","collector":"Miriam Jones","collectionStartDate":"2017-09-01","contributors":[{"contributor":[{"@type":"Person","name":"Jonathan Nichols","givenName":"Jonathan","familyName":"Nichols"}],"@type":"Role","roleName":"Sample Owner"},{"contributor":[{"@type":"Person","name":"Jonathan Nichols","givenName":"Jonathan","familyName":"Nichols"}],"@type":"Role","roleName":"Sample Registrant"},{"contributor":[{"@type":"Person"}],"@type":"Role","roleName":"Sample Archive Contact"}],"geoLocation":{"geo":[{"@type":"GeoCoordinates","latitude":"60.2546","longitude":"-149.3576"}],"@type":"Place"},"material":"Biology","supplementMetadata":{"sampleId":4312677,"currentArchive":"Lamont-Doherty Earth Observatory","currentArchiveContact":"Jonathan E. Nichols","externalSampleId":"Goldfin ~20 m moss from 30 cm hummock","primaryLocationName":"Gold Fin","primaryLocationType":"peatland","sampleComment":" small pool near stream 3 ~20 m from stream","childIGSN":[],"otherName":[],"document":[],"publicationUrl":[]},"log":[{"type":"registered","timestamp":"2018-03-09 04:17:25"},{"type":"published","timestamp":"2020-03-09 12:00:00"},{"type":"lastUpdated","timestamp":"2018-03-09 04:17:25"}],"collectionDatePrecision":"day","publisher":{"contactPoint":{"@type":"ContactPoint","name":"Information Desk","contactType":"Customer Service","email":"info@geosamples.org","url":"https://www.geosamples.org/contact/"},"@type":"Organization","name":"EarthChem","@id":"https://www.geosamples.org","url":"https://www.geosamples.org"},"igsnPrefix":"IEJEN"}} -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/SESARDjango-Template.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id":"{{data.metadataid}}", 4 | "label": "{{data.label}}", 5 | "sample_identifier": "{{data.igsn}}", 6 | "description": "{{data.description}}", 7 | {% if data.featuretype %} 8 | "has_context_category": [ 9 | {% for feat in data.featuretype %} 10 | {"label":"","identifier":""}, 11 | {% endfor %} 12 | ], 13 | {% endif %} 14 | {% if data.materials %} 15 | "has_material_category": [ 16 | {% for mat in data.materials %} 17 | {"label":"","identifier":""}, 18 | {% endfor %} 19 | ], 20 | {% endif %} 21 | {% if data.objecttype %} 22 | "has_sample_object_type": [ 23 | {% for obj in data.objecttype %} 24 | {"label":"","identifier":""}, 25 | {% endfor %} 26 | ], 27 | {% endif %} 28 | 29 | {% endif %} 30 | {% if data.keywords %} 31 | "keywords": [ 32 | {% for word in data.kewords %} 33 | {% if word.uri%} 34 | { 35 | "keyword": "{{word.label}}", 36 | "keyword_uri": "{{word.uri}}", 37 | {% if word.uri%} 38 | "scheme_name": "{{word.schemename}}", 39 | {% endif %} 40 | {% if word.uri%} 41 | "scheme_uri": "word.schemeuri" 42 | }, {% endif %} 43 | {% else %} 44 | {"keyword":"{{word.label}"}, 45 | {% endif %} 46 | {% endfor %} 47 | ], 48 | {% endif %} 49 | 50 | "produced_by": { 51 | "label": "", 52 | "description": "", 53 | "has_feature_of_interest": "{{data.locality_type}}", 54 | "responsibility": [{"role":"collector","name":"{{individual_name}}"}], 55 | "sampling_site": { 56 | "description": "{{locality_detail}}", 57 | "label": "", 58 | "sample_location": { 59 | "elevation": "", 60 | "latitude": 0, 61 | "longitude": 0 62 | }, 63 | "place_name": [""] 64 | } 65 | }, 66 | "registrant": {"name":"{{registrant}}"}, 67 | "last_modified_time":"2024-09-13T09:20:00-07:00", 68 | "sampling_purpose": "" 69 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/SESARTemplateBasic.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id":"", 4 | "label": "", 5 | "sample_identifier": "", 6 | "description": "", 7 | "has_context_category": [{"label":"","identifier":""}], 8 | "has_material_category": [{"label":"","identifier":""}], 9 | "has_sample_object_type": [{"label":"","identifier":""}], 10 | "keywords": [ 11 | {"keyword":""}, 12 | {"keyword":""} 13 | ], 14 | "produced_by": { 15 | "label": "", 16 | "description": "", 17 | "has_feature_of_interest": "", 18 | "responsibility": [{"role":"","name":""}], 19 | "sampling_site": { 20 | "description": "", 21 | "label": "", 22 | "sample_location": { 23 | "elevation": "", 24 | "latitude": 0, 25 | "longitude": 0 26 | }, 27 | "place_name": [""] 28 | } 29 | }, 30 | "registrant": {"name":""}, 31 | "last_modified_time":"2024-09-13T09:20:00-07:00", 32 | "sampling_purpose": "" 33 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesEOI00002HBasic-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.isamples.org/digitalsample/igsn/EOI00002H", 4 | "label": "J730-GTHFS-16", 5 | "sample_identifier": "igsn:EOI00002H", 6 | "description": "Not Provided", 7 | "has_context_category": [ 8 | { 9 | "label": "Subsurface fluid reservoir", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/subsurfacefluidreservoir" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Gaseous material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/gas" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Fluid in container", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/fluidincontainer" 23 | } 24 | ], 25 | "keywords": [ 26 | {"keyword": "Individual Sample"} 27 | ], 28 | "produced_by": { 29 | "label": "Sampler:Fluid:GTHFS", 30 | "description": "cruiseFieldPrgrm:TN300. launchPlatformName:Jason II. Sampler:Fluid:GTHFS. HFS gastight. Red-center-9. T=250C. launch type:ROV, navigation type:USBL", 31 | "has_feature_of_interest": "volcano", 32 | "responsibility": [ 33 | { 34 | "role": "collector", 35 | "name": "Evans_Leigh" 36 | } 37 | ], 38 | "result_time": "2013-09-14", 39 | "sampling_site": { 40 | "description": "Trevi:Jason Tmax=257.9 C. In the direct flow at this small anhydrite mound (anhydrite knocked over).", 41 | "label": "Not Provided", 42 | "sample_location": { 43 | "elevation": "-1520.0 m", 44 | "latitude": 45.9463, 45 | "longitude": -129.9837 46 | }, 47 | "place_name": [ 48 | "Axial Seamount", 49 | "North Pacific Ocean" 50 | ] 51 | } 52 | }, 53 | "registrant": {"name": "Andra Bobbitt"}, 54 | "last_modified_time":"2024-09-13T12:23:00-07:00", 55 | "sampling_purpose": "", 56 | "curation": { 57 | "responsibility": [ 58 | { 59 | "role": "metadata publisher", 60 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 61 | }, 62 | { 63 | "role": "sample owner", 64 | "name": "Andra Bobbitt" 65 | } 66 | ] 67 | } 68 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesIEDUT103BBasic-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.geosamples.org/sample/igsn/IEDUT103B", 4 | "label": "JAM42", 5 | "sample_identifier": "IGSN:IEDUT103B", 6 | "description": "Macrobiology>Coral>Biology; Coring>HandHeldCorer. piece of short core", 7 | "has_context_category": [ 8 | { 9 | "label": "Subaerial surface environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/subaerialsurfaceenvironment" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Biogenic non-organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/biogenicnonorganicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Other solid object", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/othersolidobject" 23 | } 24 | ], 25 | "keywords": [ 26 | {"keyword": "coral"}, 27 | { 28 | "keyword": "Quaternary", 29 | "scheme_name": "chronostratigraphic age" 30 | }, 31 | { 32 | "keyword": "Individual Sample>Cylinder", 33 | "scheme_name": "SESAR: Sample Type" 34 | }, 35 | { 36 | "keyword": "MIS 5.5", 37 | "scheme_name": "Marine Isotope Stage" 38 | }, 39 | { 40 | "keyword": "Falmouth Formation", 41 | "scheme_name": "stratigraphic unit" 42 | }, 43 | { 44 | "keyword": "Pseudodiploria strigosa", 45 | "scheme_name": "taxon: species" 46 | } 47 | ], 48 | "produced_by": { 49 | "label": "UF Jamaica 2015 Fieldwork", 50 | "description": "Hand-held coring device", 51 | "has_feature_of_interest": "coral reef", 52 | "result_time": "2015-06-19", 53 | "responsibility": [], 54 | "sampling_site": { 55 | "description": "Between Buccaneer Villa, Treasure Beach, and Great Bay", 56 | "label": "Treasure Beach", 57 | "sample_location": { 58 | "elevation": "1.626 m above MSL", 59 | "latitude": 17.8845, 60 | "longitude": -77.7711 61 | }, 62 | "place_name": [ 63 | "Treasure Beach", 64 | "Cornwall", 65 | "Jamaica" 66 | ] 67 | } 68 | }, 69 | "registrant": { 70 | "name": "Andrea Dutton", 71 | "contact_information": "adutton@ufl.edu" 72 | }, 73 | "last_modified_time":"2024-09-13T12:23:00-07:00", 74 | "sampling_purpose": "Paleosea-level", 75 | "curation": { 76 | "curation_location": "University of Florida Department of Geological Sciences", 77 | "responsibility": [ 78 | { 79 | "role": "sample owner", 80 | "name": "Andrea Dutton", 81 | "contact_information": "adutton@ufl.edu" 82 | }, 83 | { 84 | "role": "metadata publisher", 85 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 86 | } 87 | ] 88 | } 89 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesIEEJR000MBasic-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.isamples.org/digitalsample/igsn/IEEJR000M", 4 | "label": "16ER6F3", 5 | "sample_identifier": "igsn:IEEJR000M", 6 | "description": "Not Provided; Keyword mapping to URIs based on SMR material type mapping to CGI simple lithology subset", 7 | "has_context_category": [ 8 | { 9 | "label": "Earth interior", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/earthinterior" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Rock", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/rock" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Other solid object", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/othersolidobject" 23 | } 24 | ], 25 | "keywords": [ 26 | {"keyword": "Metamorphic>Meta-Carbonate"}, 27 | {"keyword": "Marble"}, 28 | { 29 | "keyword": "metamorphic rock", 30 | "keyword_uri": "https://w3id.org/isample/vocabulary/rocksediment/Metamorphic_Rock", 31 | "scheme_name": "lithology: iSamples rock and sediment vocabulary extension", 32 | "scheme_uri": "https://w3id.org/isample/vocabulary/rocksediment/rocksedimentvocabulary" 33 | }, 34 | { 35 | "keyword": "carbonate sedimentary rock", 36 | "keyword_uri": "https://w3id.org/isample/vocabulary/rocksediment/Carbonate_Sedimentary_Rock", 37 | "scheme_name": "protolith: iSamples rock and sediment vocabulary extension", 38 | "scheme_uri": "https://w3id.org/isample/vocabulary/rocksediment/rocksedimentvocabulary" 39 | } 40 | ], 41 | "produced_by": { 42 | "label": "collection event", 43 | "description": "Manual>Hammer", 44 | "has_feature_of_interest": "Metamorphic aureole", 45 | "responsibility": [ 46 | { 47 | "role": "collector", 48 | "name": "Jade Star Lackey" 49 | } 50 | ], 51 | "result_time": "2021-01-19", 52 | "sampling_site": { 53 | "description": "Not Provided", 54 | "label": "Not Provided", 55 | "sample_location": { 56 | "elevation": "Not Provided", 57 | "latitude": 36.4617, 58 | "longitude": -118.5839 59 | }, 60 | "place_name": [ 61 | "Mineral King", 62 | "Sequoia National Forest", 63 | "California", 64 | "Tulare", 65 | "Silver City" 66 | ] 67 | } 68 | }, 69 | "registrant": {"name": "Sam Kodama"}, 70 | "last_modified_time":"2024-09-13T12:23:00-07:00", 71 | "sampling_purpose": "", 72 | "curation": { 73 | "responsibility": [ 74 | { 75 | "role": "metadata publisher", 76 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 77 | }, 78 | { 79 | "role": "sample owner", 80 | "name": "Evan Ramos" 81 | } 82 | ] 83 | } 84 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesIEJEN0040Basic-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.geosamples.org/sample/igsn/IEJEN0040", 4 | "label": "Goldfin ~20 m moss from 30 cm hummock", 5 | "sample_identifier": "", 6 | "description": "", 7 | "has_context_category": [ 8 | { 9 | "label": "Subaerial surface environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/subaerialsurfaceenvironment" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Biological material sample", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/biologicalmaterialsample" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "grab", 28 | "scheme_name": "SESAR sample type" 29 | } 30 | ], 31 | "produced_by": { 32 | "label": "", 33 | "description": "", 34 | "has_feature_of_interest": "peatland", 35 | "responsibility": [ 36 | { 37 | "role": "collector", 38 | "name": "Miriam Jones" 39 | } 40 | ], 41 | "result_time": "2017-09-01", 42 | "sampling_site": { 43 | "description": "small pool near stream 3 ~20 m from stream", 44 | "label": "", 45 | "sample_location": { 46 | "elevation": "", 47 | "latitude": 60.25455, 48 | "longitude": -149.3576 49 | }, 50 | "place_name": ["Gold Fin"] 51 | } 52 | }, 53 | "registrant": {"name": "Jonathan Nichols"}, 54 | "last_modified_time":"2024-09-13T12:23:00-07:00", 55 | "sampling_purpose": "", 56 | "curation": { 57 | "curation_location": "Lamont-Doherty Earth Observatory", 58 | "responsibility": [ 59 | { 60 | "role": "sample owner", 61 | "name": "Jonathan Nichols" 62 | }, 63 | { 64 | "role": "metadata publisher", 65 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 66 | }, 67 | { 68 | "role": "curator", 69 | "name": "Jonathan E. Nichols" 70 | } 71 | ] 72 | } 73 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesIERVTL1I7Basic-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.geosamples.org/sample/igsn/IERVTL1I7", 4 | "label": "0744; Gas_NTC1-140cm_20190524-H", 5 | "sample_identifier": "igsn:IERVTL1I7", 6 | "description": "alternate identifier: 4369455", 7 | "has_context_category": [ 8 | { 9 | "label": "Subsurface fluid reservoir", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/subsurfacefluidreservoir" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Gaseous material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/gas" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Fluid in container", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/fluidincontainer" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Individual Sample", 28 | "scheme_name": "SESAR: Sample Type" 29 | } 30 | ], 31 | "produced_by": { 32 | "label": "", 33 | "description": "Collection method: Headspace equilibration method", 34 | "has_feature_of_interest": "floodplain, aquifer", 35 | "result_time": "2019-05-24", 36 | "responsibility": [ 37 | { 38 | "role": "sponsor", 39 | "name": "SLAC-SFA" 40 | }, 41 | { 42 | "role": "collector", 43 | "name": "Zach Perzan", 44 | "contact_information": "zperzan@stanford.edu" 45 | } 46 | ], 47 | "sampling_site": { 48 | "description": "", 49 | "label": "", 50 | "sample_location": { 51 | "elevation": "-150.0 cm below surface", 52 | "latitude": 42.9884, 53 | "longitude": -108.4003 54 | }, 55 | "place_name": [""] 56 | } 57 | }, 58 | "registrant": {"name": "SLAC SFA"}, 59 | "last_modified_time":"2024-09-13T12:23:00-07:00", 60 | "sampling_purpose": "2018 inundation tracer tests", 61 | "curation": { 62 | "responsibility": [ 63 | { 64 | "role": "metadata publisher", 65 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 66 | } 67 | ] 68 | } 69 | } -------------------------------------------------------------------------------- /examples/SESAR/test1.0Valid/iSamplesODP02Q1IZ-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "https://data.isamples.org/digitalsample/igsn/ODP02Q1IZ", 4 | "label": "Sample 178-1098B-1H-3 (26-27 cm.)", 5 | "sample_identifier": "IGSN:ODP02Q1IZ", 6 | "description": "Not Provided", 7 | "has_context_category": [ 8 | { 9 | "label": "Earth interior", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/earthinterior" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Rock or sediment", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/rockorsediment" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Other solid object", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/othersolidobject" 23 | } 24 | ], 25 | "keywords": [ 26 | { 27 | "keyword": "Individual Sample", 28 | "scheme_name": "SESAR: Sample Type" 29 | } 30 | ], 31 | "produced_by": { 32 | "label": "Deep sea drilling program, ODP Leg 178", 33 | "description": "cruiseFieldPrgrm:ODP Leg 178. Janus sample_id: 63151", 34 | "has_feature_of_interest": "Sea-floor stratigraphy", 35 | "responsibility": [ 36 | { 37 | "role": "sponsor", 38 | "name": "Integrated Ocean Drilling Program (TAMU)" 39 | } 40 | ], 41 | "result_time": "2006-08-11", 42 | "sampling_site": { 43 | "description": "Not Provided", 44 | "label": "Not Provided", 45 | "sample_location": { 46 | "elevation": "-1010.6 m", 47 | "latitude": -64.8619, 48 | "longitude": -64.208 49 | }, 50 | "place_name": [] 51 | } 52 | }, 53 | "registrant": {}, 54 | "last_modified_time":"2024-09-13T12:23:00-07:00", 55 | "sampling_purpose": "", 56 | "curation": { 57 | "label": "Not Provided", 58 | "description": "Not Provided", 59 | "access_constraints": ["Not Provided"], 60 | "curation_location": "Not Provided", 61 | "responsibility": [ 62 | { 63 | "role": "metadata publisher", 64 | "contact_information": "info@geosamples.org; url: https://www.geosamples.org/contact/" 65 | }, 66 | { 67 | "role": "curator", 68 | "name": "Integrated Ocean Drilling Program (TAMU)" 69 | }, 70 | { 71 | "role": "sample owner", 72 | "name": "Integrated Ocean Drilling Program (TAMU)" 73 | } 74 | ] 75 | }, 76 | "related_resource": [] 77 | } -------------------------------------------------------------------------------- /examples/fullTestInstance1.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../src/schemas/iSamplesSchemaCore1.0.json", 3 | "sample_identifier": "sample_identifier", 4 | "label": "label", 5 | "description": "description", 6 | "alternate_identifiers": [], 7 | "produced_by": { 8 | "identifier": "identifier", 9 | "label": "label", 10 | "description": "description", 11 | "has_feature_of_interest": "has_feature_of_interest", 12 | "project": "project", 13 | "responsibility": [ 14 | { 15 | "name": "name", 16 | "affiliation": "affiliation", 17 | "contact_information": "contact_information", 18 | "identifier": "identifier", 19 | "role": "role" 20 | } 21 | ], 22 | "result_time": "2000-01-01", 23 | "sampling_site": { 24 | "description": "description", 25 | "label": "label", 26 | "sample_location": { 27 | "elevation": "elevation", 28 | "latitude": 0, 29 | "longitude": 0, 30 | "obfuscated": false 31 | }, 32 | "place_name": ["place_name0"] 33 | }, 34 | "authorized_by": ["authorized_by0"] 35 | }, 36 | "sampling_purpose": "sampling_purpose", 37 | "has_context_category": [ 38 | { 39 | "label": "label", 40 | "identifier": "http://example.com/resource?foo=bar#fragment", 41 | "scheme_name": "scheme_name" 42 | } 43 | ], 44 | "has_material_category": [ 45 | { 46 | "label": "label", 47 | "identifier": "http://example.com/resource?foo=bar#fragment", 48 | "scheme_name": "scheme_name" 49 | } 50 | ], 51 | "has_sample_object_type": [ 52 | { 53 | "label": "label", 54 | "identifier": "http://example.com/resource?foo=bar#fragment", 55 | "scheme_name": "scheme_name" 56 | } 57 | ], 58 | "keywords": [ 59 | { 60 | "keyword": "keyword", 61 | "keyword_uri": "keyword_uri", 62 | "scheme_name": "scheme_name", 63 | "scheme_uri": "scheme_uri" 64 | } 65 | ], 66 | "related_resource": [ 67 | { 68 | "description": "description", 69 | "label": "label", 70 | "relationship": "relationship", 71 | "target": "target" 72 | } 73 | ], 74 | "complies_with": ["complies_with0"], 75 | "curation": { 76 | "access_constraints": ["access_constraints0"], 77 | "curation_location": "curation_location", 78 | "description": "description", 79 | "label": "label", 80 | "responsibility": [ 81 | { 82 | "name": "name", 83 | "affiliation": "affiliation", 84 | "contact_information": "contact_information", 85 | "identifier": "identifier", 86 | "role": "role" 87 | } 88 | ] 89 | }, 90 | "registrant": { 91 | "name": "name", 92 | "affiliation": "affiliation", 93 | "contact_information": "contact_information", 94 | "identifier": "identifier", 95 | "role": "role" 96 | } 97 | } -------------------------------------------------------------------------------- /examples/geoJSON/GeoJSON0.3-OpenContextk2qj7np9g.json: -------------------------------------------------------------------------------- 1 | { 2 | "@context":{ 3 | "geojson": "https://purl.org/geojson/vocab#", 4 | "@vocab":"http://resource.isamples.org/schema/" 5 | }, 6 | "$schema": "https://geojson.org/schema/isample", 7 | "@type": "geojson:Feature", 8 | "@id": "", 9 | "geojson:properties": { 10 | "curation": { 11 | "accessConstraints": "not provided", 12 | "curationLocation": "", 13 | "description": "", 14 | "label": "", 15 | "responsibility": [""] 16 | }, 17 | "description": "", 18 | "hasContextCategory": [""], 19 | "hasMaterialCategory": [""], 20 | "has_sample_object_type": [""], 21 | "informalClassification": [ 22 | "" 23 | ], 24 | "keywords": [ 25 | "" 26 | ], 27 | "label": "", 28 | "producedBy": { 29 | "description": "SCUBA, hand, hand dredge, rock hammer; permitInformation:CA SCP S\u2010191440006\u201019209\u2010001; L.A. Urban Ocean Expedition 2019. 66°F bottom 70°F surface, horizontal visibility 10-15 ft.; projectID:44", 30 | "hasFeatureOfInterest": "microHabitat:kelp", 31 | "@id": "urn:metadata:DISCO_CollectionID:21213", 32 | "label": "expeditionCode:LAUOE", 33 | "responsibility": [ 34 | "initiative:Diversity Initiative for the Southern California Ocean project of the Natural History Museum of Los Angeles County", 35 | "collector:Giant Stride", 36 | "collector:Kimo Morris", 37 | "collector:Z. Gold", 38 | "collector:Shawn Wiedrick", 39 | "collector:Gustav Paulay", 40 | "collector:Jessica Whelpley", 41 | "collector:Amanda Bemis" 42 | ], 43 | "resultTime": "2019", 44 | "sampling_site": { 45 | "description": "", 46 | "label": "San Pedro Bay, breakwater", 47 | "sample_location": { 48 | "elevation": -4.57, 49 | "latitude": 33.7345167, 50 | "longitude": -118.277367 51 | }, 52 | "placeName": [ 53 | "North Pacific Ocean", 54 | "California", 55 | "San Pedro Bay, breakwater" 56 | ] 57 | } 58 | }, 59 | "registrant": "", 60 | "sampleidentifier": "", 61 | "samplingPurpose": "" 62 | }, 63 | "geojson:geometry": { 64 | "@type": "Point", 65 | "geojson:coordinates": [ 66 | -118.277367, 67 | 33.7345167, 68 | -4.57 69 | ] 70 | }, 71 | "links": [ 72 | { 73 | "href": "", 74 | "rel": "", 75 | "type": "", 76 | "hreflang": "", 77 | "title": "" 78 | }, 79 | { 80 | "href": "", 81 | "rel": "", 82 | "type": "", 83 | "hreflang": "", 84 | "title": "" 85 | } 86 | ] 87 | } -------------------------------------------------------------------------------- /examples/keywordSchemeName.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/keywordSchemeName.xlsx -------------------------------------------------------------------------------- /examples/smithonsonian/Annotated Smithosonian sample record.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/smithonsonian/Annotated Smithosonian sample record.docx -------------------------------------------------------------------------------- /examples/smithonsonian/README.md: -------------------------------------------------------------------------------- 1 | # Smithonsian Example Metadata 2 | 3 | These samples were pulled from the [Smithsonian fish collection](https://collections.nmnh.si.edu/search/fishes/) 4 | using an unpublished service. 5 | 6 | * Example 01 7 | * Identifier: `ark:/65665/31304f805-b35d-4be4-b30e-7a588b93b68d` 8 | * Landing page: http://n2t.net/ark:/65665/31304f805-b35d-4be4-b30e-7a588b93b68d 9 | * JSON: [sample_eg_01.json](sample_eg_01.json) 10 | * Example 02 11 | * Identifier: `ark:/65665/34ac89703-5843-427c-b8db-e6e2cd857c10` 12 | * Landing page: http://n2t.net/ark:/65665/34ac89703-5843-427c-b8db-e6e2cd857c10 13 | * JSON: [sample_eg_02.json](sample_eg_02.json) 14 | * Example 03 15 | * Identifier: `ark:/65665/3cd7e1a2d-5fa1-4b64-aedd-a7cddd0c622c` 16 | * Landing page: http://n2t.net/ark:/65665/3cd7e1a2d-5fa1-4b64-aedd-a7cddd0c622c 17 | * JSON: [sample_eg_03.json](sample_eg_03.json) 18 | * Example 04 19 | * Identifier: `ark:/65665/30b98d09f-61ee-4e68-ae13-13a9cc97a8ae` 20 | * Landing page: http://n2t.net/ark:/65665/30b98d09f-61ee-4e68-ae13-13a9cc97a8ae 21 | * JSON: [sample_eg_04.json](sample_eg_04.json) 22 | 23 | -------------------------------------------------------------------------------- /examples/smithonsonian/Smithosonian-iSamplesMapping.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/smithonsonian/Smithosonian-iSamplesMapping.xlsx -------------------------------------------------------------------------------- /examples/smithonsonian/SmithosonianSampleDescriptions.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/examples/smithonsonian/SmithosonianSampleDescriptions.xlsx -------------------------------------------------------------------------------- /examples/smithonsonian/raw/README.md: -------------------------------------------------------------------------------- 1 | # Smithonsian Example Metadata 2 | 3 | These samples were pulled from the [Smithsonian fish collection](https://collections.nmnh.si.edu/search/fishes/) 4 | using an unpublished service. 5 | 6 | * Example 01 7 | * Identifier: `ark:/65665/31304f805-b35d-4be4-b30e-7a588b93b68d` 8 | * Landing page: http://n2t.net/ark:/65665/31304f805-b35d-4be4-b30e-7a588b93b68d 9 | * JSON: [sample_eg_01.json](sample_eg_01.json) 10 | * Example 02 11 | * Identifier: `ark:/65665/34ac89703-5843-427c-b8db-e6e2cd857c10` 12 | * Landing page: http://n2t.net/ark:/65665/34ac89703-5843-427c-b8db-e6e2cd857c10 13 | * JSON: [sample_eg_02.json](sample_eg_02.json) 14 | * Example 03 15 | * Identifier: `ark:/65665/3cd7e1a2d-5fa1-4b64-aedd-a7cddd0c622c` 16 | * Landing page: http://n2t.net/ark:/65665/3cd7e1a2d-5fa1-4b64-aedd-a7cddd0c622c 17 | * JSON: [sample_eg_03.json](sample_eg_03.json) 18 | * Example 04 19 | * Identifier: `ark:/65665/30b98d09f-61ee-4e68-ae13-13a9cc97a8ae` 20 | * Landing page: http://n2t.net/ark:/65665/30b98d09f-61ee-4e68-ae13-13a9cc97a8ae 21 | * JSON: [sample_eg_04.json](sample_eg_04.json) 22 | 23 | -------------------------------------------------------------------------------- /examples/smithonsonian/raw/sample_eg_03.json: -------------------------------------------------------------------------------- 1 | { 2 | "executionTimeMs": 3, 3 | "qtype": 12, 4 | "recordCount": 1, 5 | "recordLimit": 10, 6 | "recordStart": 0, 7 | "recordsFetched": 1, 8 | "recordsGeorefed": 0, 9 | "sort": { 10 | "idefa.ideqn": 1 11 | }, 12 | "totalRecords": 1, 13 | "records": [ 14 | { 15 | "_id": 5057775, 16 | "acqln": "000000", 17 | "admdm": { 18 | "$date": { 19 | "$numberLong": "1408462620000" 20 | } 21 | }, 22 | "admuu": "cd7e1a2d5fa14b64aedda7cddd0c622c", 23 | "bioar": "Ryukyu Islands", 24 | "biooc": "Pacific", 25 | "biopl": "Nama Mkt, Loo Choo Islands", 26 | "biovn": "Albatross", 27 | "catdp": "fs", 28 | "catms": "NMNH", 29 | "catnb": { 30 | "catnc": " 195297", 31 | "catnm": 195297 32 | }, 33 | "caton": [ 34 | { 35 | "catnt": "Tin Tag", 36 | "catnv": "A 1615" 37 | } 38 | ], 39 | "catot": "Specimen/Lot", 40 | "catsc": 1, 41 | "cevid": 5036545, 42 | "coldv": { 43 | "colvd": "7 Feb 1910", 44 | "colvf": "19100207", 45 | "colvr": "0000 00 00 - 0000 00 00", 46 | "colvt": "19100207" 47 | }, 48 | "darcl": "Actinopterygii", 49 | "darco": "Pacific", 50 | "darct": "Japan", 51 | "darfm": "Balistidae", 52 | "dargn": "Abalistes", 53 | "darht": "Animalia, Chordata, Vertebrata, Osteichthyes, Actinopterygii, Neopterygii, Acanthopterygii, Tetraodontiformes, Tetraodontoidei, Balistidae", 54 | "daric": "USNM", 55 | "darin": 1, 56 | "daris": "Okinawa", 57 | "darkn": "Animalia", 58 | "daror": "Tetraodontiformes", 59 | "darph": "Chordata", 60 | "darsn": "Abalistes stellatus", 61 | "darsp": "stellatus", 62 | "darst": "Okinawa Prefecture", 63 | "darwb": "Pacific", 64 | "flags": 0, 65 | "idefa": { 66 | "ifaid": 5021180, 67 | "idefn": "Abalistes stellatus : Balistidae : Tetraodontiformes : Actinopterygii : Chordata", 68 | "ideqn": "Abalistes stellatus" 69 | }, 70 | "ideon": [ 71 | { 72 | "ideod": "1 Oct 2009", 73 | "ideoq": "Abalistes filamentosus" 74 | }, 75 | { 76 | "ideoq": "Abalistes stellaris" 77 | } 78 | ], 79 | "tstmp": 1541574720, 80 | "ustmp": 1541574720, 81 | "xname": "Abalistes stellatus", 82 | "zoopp": [ 83 | { 84 | "zoopl": "Tank 03", 85 | "zplid": 5000005 86 | } 87 | ] 88 | } 89 | ] 90 | } 91 | -------------------------------------------------------------------------------- /examples/smithonsonian/test1.0Valid/ark-65665-300008335-8d74-4c3f-873c-a9d8b4b3d6a8-test.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/65665/300008335-8d74-4c3f-873c-a9d8b4b3d6a8", 4 | "label": "Bathymodiolus sp. AJ9VQ03", 5 | "sample_identifier": "ark:/65665/300008335-8d74-4c3f-873c-a9d8b4b3d6a8", 6 | "description": "basisOfRecord : MaterialSample | occurrenceRemarks: Order: 2885; Box Number: MBARI_0036; Box Position: F/5; MBARI Note: SIO Box 6 Sinatra | catalogNumber:1464106.14693703 | recordNumber:A3120-(B3-5) | fieldNumber:AL-3120 | type: PhysicalObject | individualCount: 1 | disposition: in collection | startDayOfYear: 191 | endDayOfYear: 191", 7 | "has_context_category": [{ 8 | "label": "Marine water body bottom", 9 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/marinewaterbodybottom" 10 | }], 11 | "has_material_category": [{ 12 | "label": "Organic material", 13 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 14 | }], 15 | "has_sample_object_type": [{ 16 | "label": "Whole organism material sample", 17 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/wholeorganism" 18 | }], 19 | "keywords": [ 20 | {"keyword": "Invertebrate Zoology"}, 21 | {"keyword": "Animalia"}, 22 | {"keyword": "Mollusca"}, 23 | {"keyword": "Bivalvia"}, 24 | {"keyword": "Mytilidae"}, 25 | { 26 | "keyword": "Bathymodiolus", 27 | "keyword_uri": "https://www.wikidata.org/wiki/Q292447", 28 | "scheme_name": "taxon: genus" 29 | } 30 | ], 31 | "produced_by": { 32 | "label": "", 33 | "description": "", 34 | "has_feature_of_interest": "", 35 | "responsibility": [{"role":"team member","name":"R. Vrijenhoek et al."}], 36 | "result_time": "1997-07-10", 37 | "sampling_site": { 38 | "description": "verbatimLatitude: 37-17.629N | verbatimLongitude:32-16.532W", 39 | "label": "MID-ATLANTIC RIDGE - Lucky Strike", 40 | "sample_location": { 41 | "elevation": "maximumDepthInMeters: 1733.0", 42 | "latitude": 37.2938, 43 | "longitude": -32.2755 44 | }, 45 | "place_name": [ 46 | "MID-ATLANTIC RIDGE - Lucky Strike", 47 | "North Atlantic Ocean" 48 | ] 49 | } 50 | }, 51 | "registrant": {}, 52 | "last_modified_time":"2024-09-13T12:23:00-07:00", 53 | "sampling_purpose": "", 54 | "curation": { 55 | "access_constraints": [], 56 | "curation_location": "Smithsonian Institution, National Museum of Natural History (USNM)", 57 | "responsibility": [{ 58 | "role": "curator", 59 | "name": "Smithsonian Institution, National Museum of Natural History (USNM)", 60 | "identifier": "http://grbio.org/cool/142r-0w94" 61 | }, 62 | { 63 | "role": "metadata publisher", 64 | "name": "not specified" 65 | }] 66 | } 67 | } -------------------------------------------------------------------------------- /examples/smithonsonian/test1.0Valid/ark-65665-300042b39-2b9a-4df9-b27f-d47237261659-v1.json: -------------------------------------------------------------------------------- 1 | { 2 | "@schema": "iSamplesSchemaCore1.0.json", 3 | "@id": "metadata/65665/300042b39-2b9a-4df9-b27f-d47237261659", 4 | "label": "Tomopterna cryptotis AA7HT40", 5 | "sample_identifier": "ark:/65665/300042b39-2b9a-4df9-b27f-d47237261659", 6 | "description": "Tissue & Parts, Muscle; basisOfRecord : MaterialSample | type : PhysicalObject | catalogNumber:589356.12522399 | disposition: in collection | startDayOfYear: 50 | endtDayOfYear: 50", 7 | "has_context_category": [ 8 | { 9 | "label": "Subaerial surface environment", 10 | "identifier": "https://w3id.org/isample/vocabulary/sampledfeature/subaerialsurfaceenvironment" 11 | } 12 | ], 13 | "has_material_category": [ 14 | { 15 | "label": "Organic material", 16 | "identifier": "https://w3id.org/isample/vocabulary/material/organicmaterial" 17 | } 18 | ], 19 | "has_sample_object_type": [ 20 | { 21 | "label": "Organism part", 22 | "identifier": "https://w3id.org/isample/vocabulary/sampleobjecttype/organismpart" 23 | } 24 | ], 25 | "keywords": [ 26 | {"keyword": "Amphibian"}, 27 | { 28 | "keyword": "Tadjourah", 29 | "keyword_uri": "http://vocab.getty.edu/page/tgn/7014973", 30 | "scheme_name": "Getty Thesaurus of Geographic Names" 31 | }, 32 | {"keyword": "Animalia"}, 33 | {"keyword": "Chordata"}, 34 | {"keyword": "Amphibia"}, 35 | {"keyword": "Anura"}, 36 | {"keyword": "Pyxicephalidae"}, 37 | { 38 | "keyword": "Tomopterna cryptotis", 39 | "keyword_uri": "https://www.wikidata.org/wiki/Q787959", 40 | "scheme_name": "taxon: species" 41 | }, 42 | {"keyword": "Common sand frog"} 43 | ], 44 | "produced_by": { 45 | "label": "", 46 | "description": "verbatimEventDate:19 February 2016", 47 | "has_feature_of_interest": "", 48 | "responsibility": [], 49 | "result_time": "2016-02-19", 50 | "sampling_site": { 51 | "description": "ca. 2 km SE of, vicinity of abandoned lodge | verbatimElevation:ca. 1470 m | verbatimLatitude: 11 46 14 N | verbatimLongitude: 42 39 07 E", 52 | "label": "Day (village), Day Forest National Park", 53 | "sample_location": { 54 | "elevation": "maximumElevationInMeters: 1470 | minimumElevationInMeters:1470| verbatimElevation:1470", 55 | "latitude": 11.7706, 56 | "longitude": 42.6519 57 | }, 58 | "place_name": [ 59 | "Africa", 60 | "Djibouti", 61 | "Tadjourah", 62 | "Day (village), Day Forest National Park" 63 | ] 64 | } 65 | }, 66 | "last_modified_time":"2024-09-13T12:23:00-07:00", 67 | "registrant": {}, 68 | "sampling_purpose": "genetic", 69 | "curation": { 70 | "access_constraints": [], 71 | "description": "preservation: DMSO-EDTA", 72 | "curation_location": "", 73 | "responsibility": [ 74 | { 75 | "role": "curator", 76 | "name": "Smithsonian Institution, National Museum of Natural History (USNM)", 77 | "identifier": "http://grbio.org/cool/142r-0w94" 78 | }, 79 | { 80 | "role": "metadata publisher", 81 | "name": "not specified" 82 | } 83 | ] 84 | } 85 | } -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: "iSamples Core Model Documentation" 2 | theme: 3 | name: material 4 | analytics: 5 | gtag: G-2SYBSJVZ23 6 | palette: 7 | - media: '(prefers-color-scheme: light)' 8 | scheme: default 9 | primary: teal 10 | accent: amber 11 | toggle: 12 | icon: material/lightbulb 13 | name: Switch to light mode 14 | - media: '(prefers-color-scheme: dark)' 15 | scheme: slate 16 | primary: teal 17 | accent: amber 18 | toggle: 19 | icon: material/lightbulb-outline 20 | name: Switch to dark mode 21 | plugins: 22 | - search 23 | - mermaid2 24 | docs_dir: build/docs 25 | site_dir: docs 26 | markdown_extensions: 27 | - toc: 28 | permalink: True 29 | separator: "" 30 | -------------------------------------------------------------------------------- /notes/ProjectMetadata/readme.md: -------------------------------------------------------------------------------- 1 | # Content moved 2 | 3 | [https://github.com/smrgeoinfo/metadata/tree/main/ProjectMetadata](https://github.com/smrgeoinfo/metadata/tree/main/ProjectMetadata) 4 | 5 | 6 | I moved stuff because its not really central to iSamples project. -------------------------------------------------------------------------------- /notes/ProjectMetadata/~$ProjectMetadataModel.xlsx: -------------------------------------------------------------------------------- 1 | Stephen Richard Stephen Richard -------------------------------------------------------------------------------- /notes/background/BarcodeOfLife-BOLD Handbook.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/BarcodeOfLife-BOLD Handbook.pdf -------------------------------------------------------------------------------- /notes/background/CIDOC/E19 Physical Object - CIDOC CRM.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=http://www.cidoc-crm.org/Entity/E19-Physical-Object/version-7.1.1 3 | -------------------------------------------------------------------------------- /notes/background/CIDOC/E19 Physical Object in version 7.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/CIDOC/E19 Physical Object in version 7.docx -------------------------------------------------------------------------------- /notes/background/DISCO-DigitalSpecimenModel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/DISCO-DigitalSpecimenModel.png -------------------------------------------------------------------------------- /notes/background/DataCite/DataCite-MetadataKernel_v4.4.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/DataCite/DataCite-MetadataKernel_v4.4.docx -------------------------------------------------------------------------------- /notes/background/DataCite/DataCite-MetadataKernel_v4.4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/DataCite/DataCite-MetadataKernel_v4.4.pdf -------------------------------------------------------------------------------- /notes/background/ESS-DIVE/DamerowEtAl2021-1299-9146-1-PB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ESS-DIVE/DamerowEtAl2021-1299-9146-1-PB.pdf -------------------------------------------------------------------------------- /notes/background/ESS-DIVE/ESS-DIVEsampleTemplate.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ESS-DIVE/ESS-DIVEsampleTemplate.xls -------------------------------------------------------------------------------- /notes/background/ESS-DIVE/ESS_DIVE-Materials.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ESS-DIVE/ESS_DIVE-Materials.xlsx -------------------------------------------------------------------------------- /notes/background/ESS-DIVE/SESARmetadataProblems10.5334_dsj-2021-011_T3.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ESS-DIVE/SESARmetadataProblems10.5334_dsj-2021-011_T3.xls -------------------------------------------------------------------------------- /notes/background/ESS-DIVE/sampleMetadataTranslationTable.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ESS-DIVE/sampleMetadataTranslationTable.xlsx -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/GEOME-MeyerBiocubeTemplateFields.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GEOME-TDWG/GEOME-MeyerBiocubeTemplateFields.xlsx -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/GEOME-NMNH-testTemplate.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GEOME-TDWG/GEOME-NMNH-testTemplate.xlsx -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/GGBN MaterialSampleVocabulary v1 - GGBN Wiki.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://wiki.ggbn.org/ggbn/GGBN_Data_Standard_v1#GGBN_Material_Sample_Vocabulary 3 | -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/MIDS-TDWGMaterialTypeDiscussion.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/tdwg/mids/issues/14 3 | -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/NeoomaSampleTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GEOME-TDWG/NeoomaSampleTop.png -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/PrepartionMethod-sampleType-CollectionsDigitisationDashboard.txt: -------------------------------------------------------------------------------- 1 | Join the Dots and the Collections Digitisation Dashboard use the list below as a draft. There isn't a consensus around definitions and e.g. object type vs preservation method. 2 | 3 | preservationMethod list at the moment from CDD: 4 | 5 | Artefacts: climate controlled conditions 6 | Artefacts: non climate controlled conditions 7 | Cores 8 | Cryopreserved/frozen -80C 9 | Cryopreserved DNA/RNA 10 | Cut/polished gemstones 11 | Dried 12 | Dried - assembled 13 | Dried - not assembled 14 | Dried and pinned 15 | Fluid preserved 16 | Fluids 17 | Fossils preserved in amber, natural resin 18 | Hazardous material/objects 19 | Macrofossils (dry preserved) 20 | Macrofossils (fluid preserved) 21 | Macro-objects 22 | Mesofossils (dry preserved) 23 | Mesofossils (fluid preserved) 24 | Microfossils (dry preserved) 25 | Microfossils (fluid preserved) 26 | Micro-objects 27 | Microscopic slides 28 | Other 29 | Other geo/biodiversity 30 | Oversized fossils 31 | Oversized objects 32 | Pressed and dried 33 | Spore print 34 | Unspecified -------------------------------------------------------------------------------- /notes/background/GEOME-TDWG/mixs_v5.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GEOME-TDWG/mixs_v5.xlsx -------------------------------------------------------------------------------- /notes/background/GeoScience/CZOSoilSampleProcessing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/CZOSoilSampleProcessing.png -------------------------------------------------------------------------------- /notes/background/GeoScience/GeoSciMLGeologicSpecimen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/GeoSciMLGeologicSpecimen.png -------------------------------------------------------------------------------- /notes/background/GeoScience/IGSNContentLevels.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/IGSNContentLevels.pdf -------------------------------------------------------------------------------- /notes/background/GeoScience/gaSampleType.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/gaSampleType.xlsx -------------------------------------------------------------------------------- /notes/background/GeoScience/geoCASESpecimenType.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/geoCASESpecimenType.png -------------------------------------------------------------------------------- /notes/background/GeoScience/nicholascar_gsq-sample-profile.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/GeoScience/nicholascar_gsq-sample-profile.pdf -------------------------------------------------------------------------------- /notes/background/MetadataOverviewESIP2020-01.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/MetadataOverviewESIP2020-01.pdf -------------------------------------------------------------------------------- /notes/background/ODM-CUAHSI/CUAHSI-SampleTypeCV.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ODM-CUAHSI/CUAHSI-SampleTypeCV.xlsx -------------------------------------------------------------------------------- /notes/background/ODM-CUAHSI/ODM2-SamplingFeature.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ODM-CUAHSI/ODM2-SamplingFeature.png -------------------------------------------------------------------------------- /notes/background/ODM-CUAHSI/ODM2-complexProcessingExample-Rock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/ODM-CUAHSI/ODM2-complexProcessingExample-Rock.png -------------------------------------------------------------------------------- /notes/background/OpenContext-Archae-anthro/Gilbert_Carlson2011-Schema.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/OpenContext-Archae-anthro/Gilbert_Carlson2011-Schema.docx -------------------------------------------------------------------------------- /notes/background/OpenContext-Archae-anthro/Gilbert_Carlson2011-specimen-based-data.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/OpenContext-Archae-anthro/Gilbert_Carlson2011-specimen-based-data.pdf -------------------------------------------------------------------------------- /notes/background/OpenContext-Archae-anthro/OpenContext-Object-FabricType.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/OpenContext-Archae-anthro/OpenContext-Object-FabricType.xlsx -------------------------------------------------------------------------------- /notes/background/SOSA-basedModels.eapx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/SOSA-basedModels.eapx -------------------------------------------------------------------------------- /notes/background/SOSA-basedModels.qea: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/SOSA-basedModels.qea -------------------------------------------------------------------------------- /notes/background/SampleMetadataModel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/SampleMetadataModel.png -------------------------------------------------------------------------------- /notes/background/iSamples Metadata.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/background/iSamples Metadata.pptx -------------------------------------------------------------------------------- /notes/cardSorting/MaterialTypeCategories-OptimalSortFormat.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/MaterialTypeCategories-OptimalSortFormat.xlsx -------------------------------------------------------------------------------- /notes/cardSorting/SpecimenTypeCatories-OptimalSortFormat.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/SpecimenTypeCatories-OptimalSortFormat.xls -------------------------------------------------------------------------------- /notes/cardSorting/SpecimenTypeCatories-OptimalSortFormat.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/SpecimenTypeCatories-OptimalSortFormat.xlsx -------------------------------------------------------------------------------- /notes/cardSorting/optimalsort_SpecimenTypeCards.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/optimalsort_SpecimenTypeCards.xlsx -------------------------------------------------------------------------------- /notes/cardSorting/optimalsort_SpecimenTypeCards2.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/optimalsort_SpecimenTypeCards2.xlsx -------------------------------------------------------------------------------- /notes/cardSorting/sampledFeatureCatories-OptimalSortFormat.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/sampledFeatureCatories-OptimalSortFormat.xls -------------------------------------------------------------------------------- /notes/cardSorting/sampledFeatureCatories-OptimalSortFormat.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/cardSorting/sampledFeatureCatories-OptimalSortFormat.xlsx -------------------------------------------------------------------------------- /notes/geological-survey-of-queensland-sample-profile.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/geological-survey-of-queensland/gsq-sample-profile 3 | -------------------------------------------------------------------------------- /notes/vocabulary/GEOME habitat-sampledFeatureExtension.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/GEOME habitat-sampledFeatureExtension.xlsx -------------------------------------------------------------------------------- /notes/vocabulary/MaterialTypeDecisionTreev3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/MaterialTypeDecisionTreev3.pdf -------------------------------------------------------------------------------- /notes/vocabulary/MaterialTypeDecisionTreev3.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/MaterialTypeDecisionTreev3.pptx -------------------------------------------------------------------------------- /notes/vocabulary/OpenContextSitesAndSampledFeatureDetail.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/OpenContextSitesAndSampledFeatureDetail.pptx -------------------------------------------------------------------------------- /notes/vocabulary/RoleVocabulary.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/RoleVocabulary.xlsx -------------------------------------------------------------------------------- /notes/vocabulary/SampledFeatureDecisionTreeV20210703.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/SampledFeatureDecisionTreeV20210703.pdf -------------------------------------------------------------------------------- /notes/vocabulary/SampledFeatureDecisionTreeV20210703.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/SampledFeatureDecisionTreeV20210703.pptx -------------------------------------------------------------------------------- /notes/vocabulary/SpecimenTypeDecisionTreev2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/SpecimenTypeDecisionTreev2.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/MaterialTypeDecisionTree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/MaterialTypeDecisionTree.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/MaterialTypeDecisionTree.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/MaterialTypeDecisionTree.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/MaterialTypeDecisionTreev2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/MaterialTypeDecisionTreev2.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/MaterialTypeDecisionTreev2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/MaterialTypeDecisionTreev2.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/Object.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/Object.docx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTree.png -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTree.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTree.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV2.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV2.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV2.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV3.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV3.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV3.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV4.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/SampledFeatureDecisionTreeV4.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SampledFeatureDecisionTreeV4.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SpecimenTypeDecisionTreev2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SpecimenTypeDecisionTreev2.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/SpecimentTypeDecisionTree.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SpecimentTypeDecisionTree.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/SpecimentTypeDecisionTree.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SpecimentTypeDecisionTree.pptx -------------------------------------------------------------------------------- /notes/vocabulary/archive/SpecimentTypeDecisionTree20210420.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/archive/SpecimentTypeDecisionTree20210420.pdf -------------------------------------------------------------------------------- /notes/vocabulary/archive/sampledFeature.md: -------------------------------------------------------------------------------- 1 | # Sampled feature 2 | 3 | See [decision tree](https://github.com/isamplesorg/metadata/blob/main/vocabulary/SampledFeatureDecisionTree.pdf) (simplified somewhat from this intitial version) and [OWL (rdf/turtle) draft](https://github.com/isamplesorg/metadata/blob/main/vocabulary/iSample-SampledFeature.ttl) 4 | 5 | **Any** Specimen type is not specific to a kind of sampled feature 6 | **Biological environment** specimen samples an ecosystem, focused on the biological organisms in that system 7 | - **Marine Biome** Sampled feature is the biological system within or directly interacting with a marine water body. 8 | - **Subaqueous terrrestrial biome** Sampled feature is the biological system on or adjacent to the Earth surface exposed to a non-marine water body 9 | - **Subaerial terrestrial biome** Sampled feature is the biological system on or adjacent to the Earth surface exposed to the atmosphere 10 | 11 | **Extraterrestrial environment** Sample represents material that did not originate on Earth 12 | 13 | **Earth environment** specimen samples the natural earth environment. Sample is not specifically focused on biological or ecological properties of the sampled feature 14 | 15 | - **Atmosphere** specimen samples the earth atmosphere 16 | - **Glacier environment** Sample of ice or water from a glacier, ice sheet, ice shelf, iceberg. Does not include various environments adjacent to glacier. 17 | 18 | - **Earth Surface** Samples things at boundary between solid earth and hydrosphere or atmosphere; Includes samples representing things collected on the surface. 19 | 20 | - **Subaerial surface environment** Sample is collected on the surface (e.g. leaf litter), or immediately below surface (zone of bioturbation). Include soil profile, regolith, and ‘biomantle’ 21 | 22 | - **Lake, river or stream bottom** Active sediment from stream bed should be included in ‘Regolith, sediment or soil horizon’ 23 | 24 | - **Marine water body bottom** Things collected on the surface at the bottom of a water body, e.g. dredge haul, manganese nodules. Includes benthic zone, 25 | 26 | - **Water body** specimen samples the hydrosphere 27 | - **Marine water body** Include brackish and hypersaline water bodies in marine borderland wetlands, estuaries, coastal sabka. 28 | 29 | - **Terrrestrial water body** Sampled feature is river, stream, lake, salt lake; water from springs that has been resident on the Earth Surface long enough to equilibrate is considered 'terrestrial' as opposed to subsurface fluid; the distinction is subjective and not clear cut. 30 | 31 | - **Subsurface fluid reservoir** Feature of interest is the liquid or gas contained in a subsurface reservoir, e.g. oil, natural gas, CO2, water, including liquids or gas from hydrothermal vents or hot springs. 32 | 33 | - **Earth interior** Specimen samples rock, sediment, or mineral that is within the Earth, below the zone of direct interaction with the atmosphere or hydrosphere 34 | 35 | **Human occupation site** specimen samples materials or objects produced by human activity 36 | - **Experimental setting** Specimen is sample of experimental product 37 | - **Lab environment** specimen samples the environment in a laboratory 38 | - **Active human occupation site** A place where humans are currently living or otherwise directly affecting the environment, e.g. farms, mines, waste disposal sites. 39 | 40 | - **Historic human occupation site** A place where humans have been and left evidence of their activity; includes prehistoric sites and hominid sites. 41 | 42 | **N.A.** 43 | -------------------------------------------------------------------------------- /notes/vocabulary/background/BGBaseKindOfSpecimen.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/background/BGBaseKindOfSpecimen.xlsx -------------------------------------------------------------------------------- /notes/vocabulary/background/SESARVocabularyMapping.xls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/background/SESARVocabularyMapping.xls -------------------------------------------------------------------------------- /notes/vocabulary/background/SampleTypeCompilation.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/background/SampleTypeCompilation.xlsx -------------------------------------------------------------------------------- /notes/vocabulary/catalog-v001.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /notes/vocabulary/iSample-SampleMetadataProperties.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/notes/vocabulary/iSample-SampleMetadataProperties.xlsx -------------------------------------------------------------------------------- /notes/vocabulary/iSample-SamplePurpose.ttl: -------------------------------------------------------------------------------- 1 | # baseURI: http://resource.isamples.org/vocabulary/samplepurpose/ontology 2 | # imports: http://www.w3.org/2004/02/skos/core 3 | 4 | @prefix : . 5 | @prefix owl: . 6 | @prefix pur: . 7 | @prefix rdf: . 8 | @prefix rdfs: . 9 | @prefix skos: . 10 | @prefix xml: . 11 | @prefix xsd: . 12 | 13 | pur:genomicanalysis 14 | rdf:type skos:Concept ; 15 | skos:inScheme pur:samplepurposescheme ; 16 | skos:prefLabel "genomic analysis"@en ; 17 | . 18 | pur:inclusionanalysis 19 | rdf:type skos:Concept ; 20 | skos:broader pur:specificanalysis ; 21 | skos:inScheme pur:samplepurposescheme ; 22 | skos:prefLabel "inclusion analysis"@en ; 23 | . 24 | pur:labbackground 25 | rdf:type skos:Concept ; 26 | skos:inScheme pur:samplepurposescheme ; 27 | skos:prefLabel "laboratory blank"@en ; 28 | skos:topConceptOf pur:samplepurposescheme ; 29 | . 30 | pur:microscopicanalysis 31 | rdf:type skos:Concept ; 32 | skos:broader pur:specificanalysis ; 33 | skos:inScheme pur:samplepurposescheme ; 34 | skos:prefLabel "microscopic analysis"@en ; 35 | . 36 | pur:ontology 37 | rdf:type owl:Ontology ; 38 | owl:imports ; 39 | . 40 | pur:processresidue 41 | rdf:type skos:Concept ; 42 | skos:definition "Material remaining after sample has undergone processing to separate some specific component"@en ; 43 | skos:inScheme pur:samplepurposescheme ; 44 | skos:prefLabel "process residue"@en ; 45 | skos:topConceptOf pur:samplepurposescheme ; 46 | . 47 | pur:reference 48 | rdf:type skos:Concept ; 49 | skos:inScheme pur:samplepurposescheme ; 50 | skos:prefLabel "reference standard"@en ; 51 | skos:topConceptOf pur:samplepurposescheme ; 52 | . 53 | pur:samplepurposescheme 54 | rdf:type skos:ConceptScheme ; 55 | skos:prefLabel "Sample Purpose Vocabulary"@en ; 56 | . 57 | pur:specificanalysis 58 | rdf:type skos:Concept ; 59 | skos:inScheme pur:samplepurposescheme ; 60 | skos:prefLabel "specific analysis"@en ; 61 | skos:topConceptOf pur:samplepurposescheme ; 62 | . 63 | pur:vitrinite_reflectance_measurement 64 | rdf:type skos:Concept ; 65 | skos:broader pur:specificanalysis ; 66 | skos:inScheme pur:samplepurposescheme ; 67 | skos:prefLabel "vitrinite reflectance measurement"@en ; 68 | . 69 | -------------------------------------------------------------------------------- /notes/vocabulary/sample-material.ttlGgeological-survey-of-queensland.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://github.com/geological-survey-of-queensland/vocabularies/blob/master/uat-vocabularies/sample-material.ttl 3 | -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.poetry] 2 | name = "isamples_metadata_tools" 3 | version = "0.1.0" 4 | description = "Tools for working with isamples metadata schema, in additional to linkml and pylode." 5 | authors = ["datadavev <605409+datadavev@users.noreply.github.com>"] 6 | license = "MIT" 7 | package-mode=false 8 | 9 | [tool.poetry.dependencies] 10 | python = "^3.9" 11 | rdflib = "^6.1.1" 12 | click = "^8.0.1" 13 | pyLODE = "<3.0" 14 | #mkdocs-gitbook = {git = "https://gitlab.com/lramage/mkdocs-gitbook-theme.git"} 15 | linkml = "^1.7.2" 16 | nbformat = "^5.10.4" 17 | jupyter = "^1.1.1" 18 | 19 | 20 | [tool.poetry.dev-dependencies] 21 | ipykernel = "^6.9.1" 22 | 23 | [tool.poetry.group.dev.dependencies] 24 | mkdocs-mermaid2-plugin = "^0.6.0" 25 | yamllint = "^1.34.0" 26 | 27 | [build-system] 28 | requires = ["poetry-core>=1.0.0"] 29 | build-backend = "poetry.core.masonry.api" 30 | -------------------------------------------------------------------------------- /quarto/_quarto.yml: -------------------------------------------------------------------------------- 1 | project: 2 | type: website 3 | output-dir: ../../docs 4 | 5 | format: 6 | html: 7 | theme: 8 | - cosmo 9 | - styles.scss 10 | 11 | website: 12 | title: "iSamples Model" 13 | page-footer: 14 | left: > 15 | © Copyright 2020, iSamples Project. 16 | 17 | This material is based upon work supported by the National Science Foundation under Grant Numbers 18 | [2004839](https://nsf.gov/awardsearch/showAward?AWD_ID=2004839), 19 | [2004562](https://nsf.gov/awardsearch/showAward?AWD_ID=2004562), 20 | [2004642](https://nsf.gov/awardsearch/showAward?AWD_ID=2004642), 21 | and [2004815](https://nsf.gov/awardsearch/showAward?AWD_ID=2004815). 22 | Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the [National Science Foundation](https://nsf.gov/). 23 | repo-url: "https://github.com/isamplesorg/metadata" 24 | repo-actions: [edit, issue] 25 | sidebar: 26 | style: "docked" 27 | search: true 28 | tools: 29 | - icon: table 30 | href: https://hyde.cyverse.org/isamples_central/ui/ 31 | - icon: github 32 | href: https://github.com/isamplesorg 33 | - icon: slack 34 | href: https://isamples.slack.com/ 35 | 36 | metadata-files: 37 | - _model.yml 38 | -------------------------------------------------------------------------------- /quarto/styles.scss: -------------------------------------------------------------------------------- 1 | /* Site specific css styles used by quarto*/ 2 | 3 | @import 4 | url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Roboto+Mono:ital,wght@0,200;0,300;0,400;1,200;1,300;1,400&display=swap'); 5 | 6 | @import url("https://use.typekit.net/nay2ptl.css"); 7 | 8 | /*-- scss:defaults --*/ 9 | //$font-family-sans-serif: 'garamond-premier-pro-display','Cormorant Garamond', serif; 10 | //$font-family-sans-serif: 'Courier New', courier; 11 | $font-family-monospace: 'Roboto Mono', monospace; 12 | //$font-size-root: 16px; 13 | $headings-font-weight: 400 !default; 14 | $body-color: #000; 15 | 16 | /*-- scss:rules --*/ 17 | body { 18 | -webkit-font-smoothing: auto; 19 | text-size-adjust: 100%; 20 | } 21 | 22 | pre, code { 23 | font-size: 0.7rem; 24 | color: inherit; 25 | } 26 | 27 | pre code { 28 | font-size: 0.7rem; 29 | } 30 | 31 | a { 32 | color: inherit; 33 | text-decoration-thickness: 0.05em; 34 | } 35 | 36 | .quarto-title-meta { 37 | font-family: var(--bs-font-monospace); 38 | font-size: 0.7rem; 39 | } 40 | 41 | /* these id* classes are used for display of parts of identifiers */ 42 | .idscheme { 43 | font-family: var(--bs-font-monospace); 44 | background-color:#FFC0B9; 45 | } 46 | .idaan { 47 | font-family: var(--bs-font-monospace); 48 | background-color:#FFF6E7; 49 | } 50 | .idprefix { 51 | font-family: var(--bs-font-monospace); 52 | background-color:#DFE0DF; 53 | } 54 | .idvalue { 55 | font-family: var(--bs-font-monospace); 56 | background-color:#c0df85; 57 | } 58 | .idextra { 59 | font-family: var(--bs-font-monospace); 60 | background-color:#DDA15E; 61 | } 62 | 63 | g.classGroup text { 64 | stroke: none; 65 | font-family: 'trebuchet ms', verdana, arial; 66 | font-family: var(--mermaid-font-family); 67 | font-size: 10px; 68 | 69 | .title { 70 | font-weight: bolder; 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /schemaMapping/DataCite-iSamplesMapping.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/DataCite-iSamplesMapping.docx -------------------------------------------------------------------------------- /schemaMapping/DataCite-iSamplesMapping.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/DataCite-iSamplesMapping.pdf -------------------------------------------------------------------------------- /schemaMapping/IGSN-iSamplesMapping.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/IGSN-iSamplesMapping.docx -------------------------------------------------------------------------------- /schemaMapping/IGSN-iSamplesMapping.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/IGSN-iSamplesMapping.pdf -------------------------------------------------------------------------------- /schemaMapping/MIDS-iSamplesMapping.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/MIDS-iSamplesMapping.docx -------------------------------------------------------------------------------- /schemaMapping/MIDS-iSamplesMapping.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/MIDS-iSamplesMapping.pdf -------------------------------------------------------------------------------- /schemaMapping/OpenDS-iSamplesMapping.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/OpenDS-iSamplesMapping.docx -------------------------------------------------------------------------------- /schemaMapping/OpenDS-iSamplesMapping.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/OpenDS-iSamplesMapping.pdf -------------------------------------------------------------------------------- /schemaMapping/schema.org-iSamplesMapping-ODIS.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/schema.org-iSamplesMapping-ODIS.docx -------------------------------------------------------------------------------- /schemaMapping/schema.org-iSamplesMapping.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/schema.org-iSamplesMapping.docx -------------------------------------------------------------------------------- /schemaMapping/schema.org-iSamplesMapping.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/schemaMapping/schema.org-iSamplesMapping.pdf -------------------------------------------------------------------------------- /specimen-materialSampleReplacements.txt: -------------------------------------------------------------------------------- 1 | 2 | ****in material_sample_object_type.ttl (was material_sample_type.ttl) 3 | conceptscheme URI 4 | ...specimentype/1.0/specimentypevocabulary --> ...materialsampleobjecttype/1.0/conceptscheme 5 | 6 | 7 | conceptURIs 8 | specimentype/1.0/physicalspecimen --> materialsampleobjecttype/1.0/materialsample 9 | .../biologicalspecimen --> .../biologicalmaterialsample 10 | .../solidmaterialspecimen --> .../solidmaterialsample 11 | 12 | Labels 13 | Physical specimen --> Material sample 14 | Any biological specimen --> Biological material sample 15 | Whole organism specimen -- Whole organism material sample 16 | 17 | 18 | 19 | ***** in isamples_core.yaml and iSamplesSchemaCore1.0.json 20 | PhysicalSampleRecord --> MaterialSampleRecord type name 21 | physical sample --> material sample. label 22 | has_specimen_category --> has_sample_object_type .property name 23 | /SpecimenCuration --> /MaterialSampleCuration (type name, shouldn't impact json instances) 24 | 25 | in isamples_core.yaml 26 | # spec: https://w3id.org/isample/vocabulary/sampleobjecttype/1.0/ replaced by 27 | msot: https://w3id.org/isample/vocabulary/materialsampleobjecttype/1.0/ 28 | 29 | 30 | in Readme, 31 | hasSpecimenCategory --> has_sample_object_type 32 | 33 | in sampled_feature_type.ttl concept description text 34 | specimen samples --> sampled feature is 35 | 36 | 37 | (in draft schema.org schema, ignore) 38 | SpecimenCurationEvent --> MaterialSampleCurationEvent 39 | 40 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /src/docs/glossary.md: -------------------------------------------------------------------------------- 1 | # iSamples Glossary 2 | 3 | | Term | Definition | source | 4 | |---|---|---| 5 | |**Peel**| Acetate peels are replicas of etched surfaces embedded in sheets of cellulose acetate. These replicas are usually so detailed that the fine structure of shells and various sedimentary rocks can be easily studied under a light microscope. Because these peels can be quickly and easily produced, the procedure is now commonly used in most geologic laboratories. | Wilson and Palmer, 1988, doi: 10.1017/S2475262200005074 | 6 | | | | | 7 | | | | | 8 | 9 | 10 | -------------------------------------------------------------------------------- /tools/docgen/_model.yml.jinja2: -------------------------------------------------------------------------------- 1 | website: 2 | sidebar: 3 | contents: 4 | - section: "Model" 5 | contents: 6 | - section: "Classes" 7 | contents: 8 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 9 | - {{gen.link(c,True)}} 10 | {% endfor %} 11 | - section: "Slots" 12 | contents: 13 | {% for s in gen.all_slot_objects()|sort(attribute=sort_by) -%} 14 | - {{gen.link(s,True)}} 15 | {% endfor %} 16 | - section: "Enums" 17 | contents: 18 | {% for e in gen.all_enum_objects()|sort(attribute=sort_by) -%} 19 | - {{gen.link(e,True)}} 20 | {% endfor %} 21 | - section: "Types" 22 | contents: 23 | {% for t in gen.all_type_objects()|sort(attribute=sort_by) -%} 24 | - text: {{gen.uri(t,False)}} 25 | url: {{ gen.uri(t,True) }} 26 | {% endfor %} 27 | - section: "Vocabularies" 28 | contents: "vocabularies/*" 29 | -------------------------------------------------------------------------------- /tools/docgen/class.md.jinja2: -------------------------------------------------------------------------------- 1 | # Class: {{ gen.name(element) }} 2 | 3 | {%- if header -%} 4 | {{header}} 5 | {%- endif -%} 6 | 7 | 8 | {% if element.description %} 9 | _{{ element.description }}_ 10 | {% endif %} 11 | 12 | {% if element.abstract %} 13 | * __NOTE__: this is an abstract class and should not be instantiated directly 14 | {% endif %} 15 | {% if element.mixin %} 16 | * __NOTE__: this is a mixin class intended to be used in combination with other classes, and not used directly 17 | {% endif %} 18 | 19 | URI: {{ gen.uri_link(element) }} 20 | 21 | {% include "class_diagram.md.jinja2" %} 22 | 23 | {% if schemaview.class_parents(element.name) or schemaview.class_children(element.name, mixins=False) %} 24 | 25 | ## Inheritance 26 | {{ gen.inheritance_tree(element, mixins=True) }} 27 | {% else %} 28 | 29 | {% endif %} 30 | 31 | ## Slots 32 | | Name | Cardinality and Range | Description | Inheritance | 33 | | --- | --- | --- | --- | 34 | {% for s in schemaview.class_induced_slots(element.name) -%} 35 | {% if s.name in gen.get_direct_slots(element) -%} 36 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | direct | 37 | {% endif -%} 38 | {%- if s.name in gen.get_indirect_slots(element) -%} 39 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | inherited | 40 | {% endif -%} 41 | {%- if s.name in gen.get_mixin_inherited_slots(element).items() -%} 42 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | mixin | 43 | {% endif -%} 44 | {%- endfor %} 45 | 46 | {% if schemaview.usage_index().get(element.name) %} 47 | ## Usages 48 | 49 | | used by | used in | type | used | 50 | | --- | --- | --- | --- | 51 | {% for usage in schemaview.usage_index().get(element.name) -%} 52 | | {{gen.link(usage.used_by)}} | {{gen.link(usage.slot)}} | {{usage.metaslot}} | {{usage.used }} | 53 | {% endfor %} 54 | {% endif %} 55 | 56 | {% include "common_metadata.md.jinja2" %} 57 | 58 | 59 | {% if schemaview.get_mappings(element.name).items() -%} 60 | ## Mappings 61 | 62 | | Mapping Type | Mapped Value | 63 | | --- | --- | 64 | {% for m, mt in schemaview.get_mappings(element.name).items() -%} 65 | {% if mt|length > 0 -%} 66 | | {{ m }} | {{ mt }}|join(', ') | 67 | {% endif -%} 68 | {% endfor %} 69 | 70 | {% endif -%} 71 | 72 | 73 | ## LinkML Source 74 | 75 | 76 | 77 | ### Direct 78 | 79 |
80 | ```yaml 81 | {{gen.yaml(element)}} 82 | ``` 83 |
84 | 85 | ### Induced 86 | 87 |
88 | ```yaml 89 | {{gen.yaml(element, inferred=True)}} 90 | ``` 91 |
92 | 93 | {%- if footer -%} 94 | {{footer}} 95 | {%- endif -%} -------------------------------------------------------------------------------- /tools/docgen/class.qmd.jinja2: -------------------------------------------------------------------------------- 1 | --- 2 | title: "{{ gen.name(element) }}" 3 | subtitle: "Class: {{ gen.name(element) }}" 4 | date-modified: {{ gen.timestamp }} 5 | --- 6 | {%- if header -%} 7 | {{header}} 8 | {%- endif -%} 9 | 10 | 11 | {% if element.description %} 12 | {{ element.description }} 13 | {% endif %} 14 | 15 | {% if element.abstract %} 16 | * __NOTE__: this is an abstract class and should not be instantiated directly 17 | {% endif %} 18 | {% if element.mixin %} 19 | * __NOTE__: this is a mixin class intended to be used in combination with other classes, and not used directly 20 | {% endif %} 21 | 22 | URI: {{ gen.uri_link(element) }} 23 | 24 | {% include "class_diagram.qmd.jinja2" %} 25 | 26 | {% if schemaview.class_parents(element.name) or schemaview.class_children(element.name, mixins=False) %} 27 | 28 | ## Inheritance 29 | {{ gen.inheritance_tree(element, mixins=True) }} 30 | {% else %} 31 | 32 | {% endif %} 33 | 34 | ## Slots 35 | 36 | | Name | Cardinality and Range | Description | Inheritance | 37 | |-|-|----|-| 38 | {% for s in schemaview.class_induced_slots(element.name) -%} 39 | {% if s.name in gen.get_direct_slots(element) -%} 40 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | direct | 41 | {% endif -%} 42 | {%- if s.name in gen.get_indirect_slots(element) -%} 43 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | inherited | 44 | {% endif -%} 45 | {%- if s.name in gen.get_mixin_inherited_slots(element).items() -%} 46 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{ gen.link(s.range) }} | {{ s.description }} | mixin | 47 | {% endif -%} 48 | {%- endfor %} 49 | : Slots in class {{ gen.name(element) }}. {tbl-colwidths="[25,25,45,5]"} 50 | 51 | {% if schemaview.usage_index().get(element.name) %} 52 | ## Usages 53 | 54 | | used by | used in | type | used | 55 | | --- | --- | --- | --- | 56 | {% for usage in schemaview.usage_index().get(element.name) -%} 57 | | {{gen.link(usage.used_by)}} | {{gen.link(usage.slot)}} | {{usage.metaslot}} | {{usage.used }} | 58 | {% endfor %} 59 | {% endif %} 60 | 61 | {% include "common_metadata.qmd.jinja2" %} 62 | 63 | 64 | {% if schemaview.get_mappings(element.name).items() -%} 65 | ## Mappings 66 | 67 | | Mapping Type | Mapped Value | 68 | | --- | --- | 69 | {% for m, mt in schemaview.get_mappings(element.name).items() -%} 70 | {% if mt|length > 0 -%} 71 | | {{ m }} | {{ mt }}|join(', ') | 72 | {% endif -%} 73 | {% endfor %} 74 | 75 | {% endif -%} 76 | 77 | 78 | ## LinkML Source 79 | 80 | 81 | 82 | ### Direct 83 | 84 |
85 | ```yaml 86 | {{gen.yaml(element)}} 87 | ``` 88 |
89 | 90 | ### Induced 91 | 92 |
93 | ```yaml 94 | {{gen.yaml(element, inferred=True)}} 95 | ``` 96 |
97 | 98 | {%- if footer -%} 99 | {{footer}} 100 | {%- endif -%} -------------------------------------------------------------------------------- /tools/docgen/class_diagram.md.jinja2: -------------------------------------------------------------------------------- 1 | {% if schemaview.class_parents(element.name) and schemaview.class_children(element.name) %} 2 | ```{{ gen.mermaid_directive() }} 3 | classDiagram 4 | class {{ gen.name(element) }} 5 | {% for s in schemaview.class_parents(element.name)|sort(attribute='name') -%} 6 | {{ gen.name(schemaview.get_element(s)) }} <|-- {{ gen.name(element) }} 7 | {% endfor %} 8 | {% for s in schemaview.class_induced_slots(element.name)|sort(attribute='name') -%} 9 | {{ gen.name(element) }} : {{gen.name(s)}} 10 | {% endfor %} 11 | 12 | {% for s in schemaview.class_children(element.name)|sort(attribute='name') -%} 13 | {{ gen.name(element) }} <|-- {{ gen.name(schemaview.get_element(s)) }} 14 | {% endfor %} 15 | {% for s in schemaview.class_induced_slots(element.name)|sort(attribute='name') -%} 16 | {{ gen.name(element) }} : {{gen.name(s)}} 17 | {% endfor %} 18 | ``` 19 | {% elif schemaview.class_parents(element.name) %} 20 | ```{{ gen.mermaid_directive() }} 21 | classDiagram 22 | class {{ gen.name(element) }} 23 | {% for s in schemaview.class_parents(element.name)|sort(attribute='name') -%} 24 | {{ gen.name(schemaview.get_element(s)) }} <|-- {{ gen.name(element) }} 25 | {% endfor %} 26 | {% for s in schemaview.class_induced_slots(element.name)|sort(attribute='name') -%} 27 | {{ gen.name(element) }} : {{gen.name(s)}} 28 | {% endfor %} 29 | ``` 30 | {% elif schemaview.class_children(element.name) %} 31 | ```{{ gen.mermaid_directive() }} 32 | classDiagram 33 | class {{ gen.name(element) }} 34 | {% for s in schemaview.class_children(element.name)|sort(attribute='name') -%} 35 | {{ gen.name(element) }} <|-- {{ gen.name(schemaview.get_element(s)) }} 36 | {% endfor %} 37 | {% for s in schemaview.class_induced_slots(element.name)|sort(attribute='name') -%} 38 | {{ gen.name(element) }} : {{gen.name(s)}} 39 | {% endfor %} 40 | ``` 41 | {% else %} 42 | ```{{ gen.mermaid_directive() }} 43 | classDiagram 44 | class {{ gen.name(element) }} 45 | {% for s in schemaview.class_induced_slots(element.name)|sort(attribute='name') -%} 46 | {{ gen.name(element) }} : {{gen.name(s)}} 47 | {% endfor %} 48 | ``` 49 | {% endif %} 50 | -------------------------------------------------------------------------------- /tools/docgen/class_overview_diagram.qmd.jinja2: -------------------------------------------------------------------------------- 1 | ```{{ gen.mermaid_directive() }} 2 | %%{init: {'securityLevel': 'loose', 'theme':'neutral', 'themeVariables': { 'fontSize':'14px', 'fontFamily':'Roboto Mono'}}}%% 3 | classDiagram 4 | direction BT 5 | {% for c in gen.all_class_objects() -%} 6 | class {{ gen.name(c) }} { 7 | {% for s in schemaview.class_induced_slots(c.name)|sort(attribute='name') -%} 8 | {{gen.name(s)}} : {{ s.range }}{% if s.multivalued %}[]{% endif %} 9 | {% endfor %}} 10 | click {{ gen.name(c) }} href "{{ gen.name(c) }}.html" "Documentation" 11 | {% for s in schemaview.class_induced_slots(c.name)|sort(attribute='name') -%} 12 | {% if s.range in gen.all_class_names() -%} 13 | {{ s.range }} --o {{ gen.name(c) }} : {{gen.name(s)}} 14 | {% endif %}{% endfor %} 15 | {% endfor %} 16 | ``` 17 | -------------------------------------------------------------------------------- /tools/docgen/common_metadata.md.jinja2: -------------------------------------------------------------------------------- 1 | {% if element.examples %} 2 | ## Examples 3 | 4 | | Value | 5 | | --- | 6 | {% for x in element.examples -%} 7 | | {{ x.value }} | 8 | {% endfor %} 9 | {% endif -%} 10 | 11 | {% if element.comments -%} 12 | ## Comments 13 | 14 | {% for x in element.comments -%} 15 | * {{x}} 16 | {% endfor %} 17 | {% endif -%} 18 | 19 | {% if element.todos -%} 20 | ## TODOs 21 | 22 | {% for x in element.todos -%} 23 | * {{x}} 24 | {% endfor %} 25 | {% endif -%} 26 | 27 | ## Identifier and Mapping Information 28 | 29 | {% if element.id_prefixes %} 30 | ### Valid ID Prefixes 31 | 32 | Instances of this class *should* have identifiers with one of the following prefixes: 33 | {% for p in element.id_prefixes %} 34 | * {{p}} 35 | {% endfor %} 36 | 37 | {% endif %} 38 | 39 | 40 | {% if element.annotations %} 41 | ### Annotations 42 | 43 | | property | value | 44 | | --- | --- | 45 | {% for a in element.annotations -%} 46 | {%- if a|string|first != '_' -%} 47 | | {{ a }} | {{ element.annotations[a].value }} | 48 | {%- endif -%} 49 | {% endfor %} 50 | {% endif %} 51 | 52 | {% if element.from_schema or element.imported_from %} 53 | ### Schema Source 54 | 55 | {% if element.from_schema %} 56 | * from schema: {{ element.from_schema }} 57 | {% endif %} 58 | {% if element.imported_from %} 59 | * imported from: {{ element.imported_from }} 60 | {% endif %} 61 | {% endif %} -------------------------------------------------------------------------------- /tools/docgen/common_metadata.qmd.jinja2: -------------------------------------------------------------------------------- 1 | {% if element.examples %} 2 | ## Examples 3 | 4 | | Value | 5 | | --- | 6 | {% for x in element.examples -%} 7 | | {{ x.value }} | 8 | {% endfor %} 9 | {% endif -%} 10 | 11 | {% if element.comments -%} 12 | ## Comments 13 | 14 | {% for x in element.comments -%} 15 | * {{x}} 16 | {% endfor %} 17 | {% endif -%} 18 | 19 | {% if element.todos -%} 20 | ## TODOs 21 | 22 | {% for x in element.todos -%} 23 | * {{x}} 24 | {% endfor %} 25 | {% endif -%} 26 | 27 | ## Identifier and Mapping Information 28 | 29 | {% if element.id_prefixes %} 30 | ### Valid ID Prefixes 31 | 32 | Instances of this class *should* have identifiers with one of the following prefixes: 33 | {% for p in element.id_prefixes %} 34 | * {{p}} 35 | {% endfor %} 36 | 37 | {% endif %} 38 | 39 | 40 | {% if element.annotations %} 41 | ### Annotations 42 | 43 | | property | value | 44 | | --- | --- | 45 | {% for a in element.annotations -%} 46 | {%- if a|string|first != '_' -%} 47 | | {{ a }} | {{ element.annotations[a].value }} | 48 | {%- endif -%} 49 | {% endfor %} 50 | {% endif %} 51 | 52 | {% if element.from_schema or element.imported_from %} 53 | ### Schema Source 54 | 55 | {% if element.from_schema %} 56 | * from schema: {{ element.from_schema }} 57 | {% endif %} 58 | {% if element.imported_from %} 59 | * imported from: {{ element.imported_from }} 60 | {% endif %} 61 | {% endif %} -------------------------------------------------------------------------------- /tools/docgen/enum.md.jinja2: -------------------------------------------------------------------------------- 1 | # Enum: {{ gen.name(element) }} 2 | 3 | {% if element.description %} 4 | _{{ element.description }}_ 5 | {% endif %} 6 | 7 | URI: {{ gen.uri_link(element) }} 8 | 9 | {% if element.permissible_values -%} 10 | ## Permissible Values 11 | 12 | | Value | Meaning | Description | 13 | | --- | --- | --- | 14 | {% for pv in element.permissible_values.values() -%} 15 | | {{pv.text}} | {{pv.meaning}} | {{pv.description|enshorten}} | 16 | {% endfor %} 17 | {% else %} 18 | _This is a dynamic enum_ 19 | {% endif %} 20 | 21 | {% include "common_metadata.md.jinja2" %} 22 | 23 | ## LinkML Source 24 | 25 |
26 | ```yaml 27 | {{gen.yaml(element)}} 28 | ``` 29 |
30 | 31 | -------------------------------------------------------------------------------- /tools/docgen/enum.qmd.jinja2: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ gen.name(element) }} 3 | subtitle: "Enum: {{ gen.name(element) }}" 4 | date-modified: {{ gen.timestamp }} 5 | --- 6 | 7 | {% if element.description %} 8 | {{ element.description }} 9 | {% endif %} 10 | 11 | URI: {{ gen.uri_link(element) }} 12 | 13 | {% if element.permissible_values -%} 14 | ## Permissible Values 15 | 16 | | Value | Meaning | Description | 17 | | --- | --- | --- | 18 | {% for pv in element.permissible_values.values() -%} 19 | | {{pv.text}} | {{pv.meaning}} | {{pv.description|enshorten}} | 20 | {% endfor %} 21 | {% else %} 22 | _This is a dynamic enum_ 23 | {% endif %} 24 | 25 | {% include "common_metadata.qmd.jinja2" %} 26 | 27 | ## LinkML Source 28 | 29 |
30 | ```yaml 31 | {{gen.yaml(element)}} 32 | ``` 33 |
34 | 35 | -------------------------------------------------------------------------------- /tools/docgen/index.md.jinja2: -------------------------------------------------------------------------------- 1 | # {% if schema.title %}{{ schema.title }}{% else %}{{ schema.name }}{% endif %} 2 | 3 | {{ schema.description }} 4 | 5 | URI: {{ schema.id }} 6 | Name: {{ schema.name }} 7 | 8 | ## Classes 9 | 10 | | Class | Description | 11 | | --- | --- | 12 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 13 | | {{gen.link(c)}} | {{c.description|enshorten}} | 14 | {% endfor %} 15 | 16 | ## Slots 17 | 18 | | Slot | Description | 19 | | --- | --- | 20 | {% for s in gen.all_slot_objects()|sort(attribute=sort_by) -%} 21 | | {{gen.link(s)}} | {{s.description|enshorten}} | 22 | {% endfor %} 23 | 24 | ## Enumerations 25 | 26 | | Enumeration | Description | 27 | | --- | --- | 28 | {% for e in gen.all_enum_objects()|sort(attribute=sort_by) -%} 29 | | {{gen.link(e)}} | {{e.description|enshorten}} | 30 | {% endfor %} 31 | 32 | ## Types 33 | 34 | | Type | Description | 35 | | --- | --- | 36 | {% for t in gen.all_type_objects()|sort(attribute=sort_by) -%} 37 | | {{gen.link(t)}} | {{t.description|enshorten}} | 38 | {% endfor %} 39 | 40 | ## Subsets 41 | 42 | | Subset | Description | 43 | | --- | --- | 44 | {% for ss in schemaview.all_subsets().values()|sort(attribute='name') -%} 45 | | {{gen.link(ss)}} | {{ss.description|enshorten}} | 46 | {% endfor %} 47 | -------------------------------------------------------------------------------- /tools/docgen/index.qmd.jinja2: -------------------------------------------------------------------------------- 1 | --- 2 | title: {% if schema.title %}{{ schema.title }}{% else %}{{ schema.name }}{% endif %} 3 | subtitle: Schema documentation generated from linkml sources. 4 | date-modified: {{ gen.timestamp }} 5 | --- 6 | 7 | {{ schema.description }} 8 | 9 | URI: {{ schema.id }} 10 | Name: {{ schema.name }} 11 | 12 | {% include "class_overview_diagram.qmd.jinja2" %} 13 | 14 | ## Classes 15 | 16 | | Class | Description | 17 | | --- | --- | 18 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 19 | | {{gen.link(c)}} | {{c.description|enshorten}} | 20 | {% endfor %} 21 | 22 | ## Slots 23 | 24 | | Slot | Description | 25 | | --- | --- | 26 | {% for s in gen.all_slot_objects()|sort(attribute=sort_by) -%} 27 | | {{gen.link(s)}} | {{s.description|enshorten}} | 28 | {% endfor %} 29 | 30 | ## Enumerations 31 | {% set enums = gen.all_enum_objects()|list %} 32 | {% if enums|length > 0 -%} 33 | | Enumeration | Description | 34 | | --- | --- | 35 | {% for e in enums|sort(attribute=sort_by) -%} 36 | | {{gen.link(e)}} | {{e.description|enshorten}} | 37 | {% endfor %} 38 | {% else -%} 39 | No enumerations are defined. 40 | {% endif %} 41 | 42 | ## Types 43 | 44 | | Type | Description | 45 | | --- | --- | 46 | {% for t in gen.all_type_objects()|sort(attribute=sort_by) -%} 47 | | {{gen.link(t)}} | {{t.description|enshorten}} | 48 | {% endfor %} 49 | 50 | ## Subsets 51 | {% set subsets = schemaview.all_subsets().values()|list %} 52 | {% if subsets|length > 0 %} 53 | | Subset | Description | 54 | | --- | --- | 55 | {% for ss in subsets|sort(attribute='name') -%} 56 | | {{gen.link(ss)}} | {{ss.description|enshorten}} | 57 | {% endfor %} 58 | {% else %} 59 | No subsets are defined. 60 | {% endif %} 61 | -------------------------------------------------------------------------------- /tools/docgen/index.tex.jinja2: -------------------------------------------------------------------------------- 1 | \documentclass{article} 2 | \usepackage[utf8]{inputenc} 3 | 4 | \title{ {{gen.latex(gen.schema_title())}} } 5 | 6 | \begin{document} 7 | 8 | {{ schema.description }} 9 | 10 | URI: {{ gen.latex(schema.id) }} 11 | Name: {{ gen.latex(schema.name) }} 12 | 13 | \subsection{Classes}\label{classes} 14 | 15 | \begin{tabular}{ |c|c| } 16 | \hline 17 | Class & Description \\\\ 18 | \hline 19 | 20 | {% for c in schemaview.all_classes().values()|sort(attribute='name') -%} 21 | {{ gen.latex(c.name) }} & {{ gen.latex(c.description) }} \\\\ 22 | {% endfor %} 23 | \hline 24 | \end{tabular} 25 | 26 | \end{document} 27 | -------------------------------------------------------------------------------- /tools/docgen/schema.md.jinja2: -------------------------------------------------------------------------------- 1 | # {{ schema.name }} 2 | 3 | {{ schema.description }} 4 | 5 | URI: {{ schema.id }} 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/docgen/schema.qmd.jinja2: -------------------------------------------------------------------------------- 1 | # {{ schema.name }} 2 | 3 | {{ schema.description }} 4 | 5 | URI: {{ schema.id }} 6 | 7 | 8 | -------------------------------------------------------------------------------- /tools/docgen/slot.md.jinja2: -------------------------------------------------------------------------------- 1 | # Slot: {{ gen.name(element) }} 2 | 3 | {%- if header -%} 4 | {{header}} 5 | {%- endif -%} 6 | 7 | {% if element.description %} 8 | _{{ element.description }}_ 9 | {% endif %} 10 | 11 | URI: {{ gen.uri_link(element) }} 12 | 13 | 14 | {% if schemaview.slot_parents(element.name) or schemaview.slot_children(element.name, mixins=False) %} 15 | 16 | ## Inheritance 17 | 18 | {{ gen.inheritance_tree(element, mixins=True) }} 19 | {% else %} 20 | 21 | {% endif %} 22 | 23 | {% if schemaview.get_classes_by_slot(element, include_induced=True) %} 24 | 25 | ## Applicable Classes 26 | 27 | | Name | Description | 28 | | --- | --- | 29 | {% for c in schemaview.get_classes_by_slot(element, include_induced=True) -%} 30 | {{ gen.link(c) }} | {{ schemaview.get_class(c).description }} 31 | {% endfor %} 32 | 33 | {% endif %} 34 | 35 | {% if schemaview.is_mixin(element.name) %} 36 | ## Mixin Usage 37 | 38 | | mixed into | description | range | domain | 39 | | --- | --- | --- | --- | 40 | {% for s in schemaview.slot_children(element.name) -%} 41 | | {{ gen.link(s) }} | {{ schemaview.get_slot(s).description }} | {{ schemaview.get_slot(s).range }} | {{ schemaview.get_classes_by_slot(schemaview.get_slot(s))|join(', ') }} | 42 | {% endfor %} 43 | {% endif %} 44 | 45 | ## Properties 46 | 47 | * Range: {{gen.link(element.range)}} 48 | * Multivalued: {{ element.multivalued }} 49 | {% if element.aliases %} 50 | * Aliases: 51 | {% for alias in element.aliases %} 52 | * {{ alias }} 53 | {% endfor %} 54 | {% endif %} 55 | 56 | {% if element.required %} 57 | * Required: {{ element.required }} 58 | {% elif element.recommended %} 59 | * Recommended: {{ element.recommended }} 60 | {% endif %} 61 | {% if schemaview.is_mixin(element.name) %} 62 | * Mixin: {{ element.mixin }} 63 | {% endif %} 64 | 65 | {% if schemaview.usage_index().get(element.name) %} 66 | | used by | used in | type | used | 67 | | --- | --- | --- | --- | 68 | {% for usage in schemaview.usage_index().get(element.name) -%} 69 | | {{gen.link(usage.used_by)}} | {{gen.link(usage.slot)}} | {{usage.metaslot}} | {{usage.used }} | 70 | {% endfor %} 71 | {% endif %} 72 | 73 | {% include "common_metadata.md.jinja2" %} 74 | 75 | ## LinkML Source 76 | 77 |
78 | ```yaml 79 | {{ gen.yaml(element) }} 80 | ``` 81 |
82 | 83 | {%- if footer -%} 84 | {{footer}} 85 | {%- endif -%} -------------------------------------------------------------------------------- /tools/docgen/slot.qmd.jinja2: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ gen.name(element) }} 3 | subtitle: "Slot: {{ gen.name(element) }}" 4 | date-modified: {{ gen.timestamp }} 5 | --- 6 | 7 | {%- if header -%} 8 | {{header}} 9 | {%- endif -%} 10 | 11 | {% if element.description %} 12 | {{ element.description }} 13 | {% endif %} 14 | 15 | URI: {{ gen.uri_link(element) }} 16 | 17 | 18 | {% if schemaview.slot_parents(element.name) or schemaview.slot_children(element.name, mixins=False) %} 19 | 20 | ## Inheritance 21 | 22 | {{ gen.inheritance_tree(element, mixins=True) }} 23 | {% else %} 24 | 25 | {% endif %} 26 | 27 | {% if schemaview.get_classes_by_slot(element, include_induced=True) %} 28 | 29 | ## Applicable Classes 30 | 31 | | Name | Description | 32 | | --- | --- | 33 | {% for c in schemaview.get_classes_by_slot(element, include_induced=True) -%} 34 | {{ gen.link(c) }} | {{ schemaview.get_class(c).description }} 35 | {% endfor %} 36 | : Classes in which this slot appears. {tbl-colwidths="[30,70]"} 37 | 38 | {% endif %} 39 | 40 | {% if schemaview.is_mixin(element.name) %} 41 | ## Mixin Usage 42 | 43 | | mixed into | description | range | domain | 44 | | --- | --- | --- | --- | 45 | {% for s in schemaview.slot_children(element.name) -%} 46 | | {{ gen.link(s) }} | {{ schemaview.get_slot(s).description }} | {{ schemaview.get_slot(s).range }} | {{ schemaview.get_classes_by_slot(schemaview.get_slot(s))|join(', ') }} | 47 | {% endfor %} 48 | {% endif %} 49 | 50 | ## Properties 51 | 52 | * Range: {{gen.link(element.range)}} 53 | * Multivalued: {{ element.multivalued }} 54 | {% if element.aliases %} 55 | * Aliases: 56 | {% for alias in element.aliases %} 57 | * {{ alias }} 58 | {% endfor %} 59 | {% endif %} 60 | 61 | {% if element.required %} 62 | * Required: {{ element.required }} 63 | {% elif element.recommended %} 64 | * Recommended: {{ element.recommended }} 65 | {% endif %} 66 | {% if schemaview.is_mixin(element.name) %} 67 | * Mixin: {{ element.mixin }} 68 | {% endif %} 69 | 70 | {% if schemaview.usage_index().get(element.name) %} 71 | | used by | used in | type | used | 72 | | --- | --- | --- | --- | 73 | {% for usage in schemaview.usage_index().get(element.name) -%} 74 | | {{gen.link(usage.used_by)}} | {{gen.link(usage.slot)}} | {{usage.metaslot}} | {{usage.used }} | 75 | {% endfor %} 76 | {% endif %} 77 | 78 | {% include "common_metadata.qmd.jinja2" %} 79 | 80 | ## LinkML Source 81 | 82 |
83 | ```yaml 84 | {{ gen.yaml(element) }} 85 | ``` 86 |
87 | 88 | {%- if footer -%} 89 | {{footer}} 90 | {%- endif -%} -------------------------------------------------------------------------------- /tools/docgen/subset.md.jinja2: -------------------------------------------------------------------------------- 1 | # Subset: {{ gen.name(element) }} 2 | 3 | {%- if header -%} 4 | {{header}} 5 | {%- endif -%} 6 | 7 | {% if element.description %} 8 | _{{ element.description }}_ 9 | {% endif %} 10 | 11 | URI: {{ gen.uri_link(element) }} 12 | 13 | 14 | {% include "common_metadata.md.jinja2" %} 15 | 16 | ## Classes in subset 17 | 18 | | Class | Description | 19 | | --- | --- | 20 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 21 | {%- if element.name in c.in_subset -%} 22 | | {{gen.link(c)}} | {{c.description|enshorten}} | 23 | {% endif -%} 24 | {% endfor %} 25 | 26 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 27 | {%- if element.name in c.in_subset -%} 28 | ### {{ gen.name(c) }} 29 | 30 | {{c.description}} 31 | 32 | | Name | Cardinality and Range | Description | 33 | | --- | --- | --- | 34 | {% for s in gen.class_induced_slots(c.name)|sort(attribute=sort_by) -%} 35 | {% if element.name in s.in_subset or element.name in schemaview.get_slot(s.name).in_subset -%} 36 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{gen.link(s.range)}} | {{s.description|enshorten}} {% if s.identifier %}**identifier**{% endif %} | 37 | {% endif -%} 38 | {% endfor %} 39 | 40 | {% endif -%} 41 | {% endfor %} 42 | 43 | ## Slots in subset 44 | 45 | | Slot | Description | 46 | | --- | --- | 47 | {% for s in gen.all_slot_objects()|sort(attribute=sort_by) -%} 48 | {%- if element.name in s.in_subset -%} 49 | | {{gen.link(s)}} | {{s.description|enshorten}} | 50 | {% endif -%} 51 | {% endfor %} 52 | 53 | ## Enumerations in subset 54 | 55 | | Enumeration | Description | 56 | | --- | --- | 57 | {% for e in schemaview.all_enums().values()|sort(attribute='name') -%} 58 | {%- if element.name in e.in_subset -%} 59 | | {{gen.link(e)}} | {{e.description|enshorten}} | 60 | {% endif -%} 61 | {% endfor %} 62 | 63 | -------------------------------------------------------------------------------- /tools/docgen/subset.qmd.jinja2: -------------------------------------------------------------------------------- 1 | # Subset: {{ gen.name(element) }} 2 | 3 | {%- if header -%} 4 | {{header}} 5 | {%- endif -%} 6 | 7 | {% if element.description %} 8 | _{{ element.description }}_ 9 | {% endif %} 10 | 11 | URI: {{ gen.uri_link(element) }} 12 | 13 | 14 | {% include "common_metadata.qmd.jinja2" %} 15 | 16 | ## Classes in subset 17 | 18 | | Class | Description | 19 | | --- | --- | 20 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 21 | {%- if element.name in c.in_subset -%} 22 | | {{gen.link(c)}} | {{c.description|enshorten}} | 23 | {% endif -%} 24 | {% endfor %} 25 | 26 | {% for c in gen.all_class_objects()|sort(attribute=sort_by) -%} 27 | {%- if element.name in c.in_subset -%} 28 | ### {{ gen.name(c) }} 29 | 30 | {{c.description}} 31 | 32 | | Name | Cardinality and Range | Description | 33 | | --- | --- | --- | 34 | {% for s in gen.class_induced_slots(c.name)|sort(attribute=sort_by) -%} 35 | {% if element.name in s.in_subset or element.name in schemaview.get_slot(s.name).in_subset -%} 36 | | {{gen.link(s)}} | {{ gen.cardinality(s) }}
{{gen.link(s.range)}} | {{s.description|enshorten}} {% if s.identifier %}**identifier**{% endif %} | 37 | {% endif -%} 38 | {% endfor %} 39 | 40 | {% endif -%} 41 | {% endfor %} 42 | 43 | ## Slots in subset 44 | 45 | | Slot | Description | 46 | | --- | --- | 47 | {% for s in gen.all_slot_objects()|sort(attribute=sort_by) -%} 48 | {%- if element.name in s.in_subset -%} 49 | | {{gen.link(s)}} | {{s.description|enshorten}} | 50 | {% endif -%} 51 | {% endfor %} 52 | 53 | ## Enumerations in subset 54 | 55 | | Enumeration | Description | 56 | | --- | --- | 57 | {% for e in schemaview.all_enums().values()|sort(attribute='name') -%} 58 | {%- if element.name in e.in_subset -%} 59 | | {{gen.link(e)}} | {{e.description|enshorten}} | 60 | {% endif -%} 61 | {% endfor %} 62 | 63 | -------------------------------------------------------------------------------- /tools/docgen/type.md.jinja2: -------------------------------------------------------------------------------- 1 | # Type: {{ gen.name(element) }} 2 | 3 | {% if element.description %} 4 | _{{ element.description }}_ 5 | {% endif %} 6 | 7 | URI: {{ gen.uri_link(element) }} 8 | 9 | {{ gen.bullet(element, "base") }} 10 | {{ gen.bullet(element, "uri") }} 11 | {{ gen.bullet(element, "repr") }} 12 | {{ gen.bullet(element, "typeof") }} 13 | {{ gen.bullet(element, "pattern", backquote=True) }} 14 | {% if gen.number_value_range(element) %} 15 | * Numeric Value Range: {{gen.number_value_range(element)}} 16 | {% endif %} 17 | 18 | {% include "common_metadata.md.jinja2" %} 19 | 20 | -------------------------------------------------------------------------------- /tools/docgen/type.qmd.jinja2: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ gen.name(element) }} 3 | subtitle: "Type: {{ gen.name(element) }}" 4 | date-modified: {{ gen.timestamp }} 5 | --- 6 | 7 | {% if element.description %} 8 | {{ element.description }} 9 | {% endif %} 10 | 11 | URI: {{ gen.uri_link(element) }} 12 | 13 | {{ gen.bullet(element, "base") }} 14 | {{ gen.bullet(element, "uri") }} 15 | {{ gen.bullet(element, "repr") }} 16 | {{ gen.bullet(element, "typeof") }} 17 | {{ gen.bullet(element, "pattern", backquote=True) }} 18 | {% if gen.number_value_range(element) %} 19 | * Numeric Value Range: {{gen.number_value_range(element)}} 20 | {% endif %} 21 | 22 | {% include "common_metadata.qmd.jinja2" %} 23 | 24 | -------------------------------------------------------------------------------- /tools/vocab2jsonld.py: -------------------------------------------------------------------------------- 1 | '''Script to produce a JSON-LD serialization of an iSamples vocabulary. 2 | ''' 3 | import sys 4 | import logging 5 | import click 6 | import rdflib 7 | 8 | NAMESPACES = { 9 | "@vocab":"https://w3id.org/isample/vocabulary/", 10 | "rdfs":"http://www.w3.org/2000/01/rdf-schema#", 11 | "owl":"http://www.w3.org/2002/07/owl#", 12 | "skos": "http://www.w3.org/2004/02/skos/core#", 13 | } 14 | 15 | 16 | def ttl2jsonld(fn_src:str, namespaces:dict)->str: 17 | g = rdflib.ConjunctiveGraph() 18 | _base = "https://w3id.org/isample/vocabulary/" 19 | g.parse(fn_src) 20 | _context = namespaces 21 | _context["mat"] = "https://w3id.org/isample/vocabulary/material/0.9/" 22 | print(g.serialize(format="json-ld", base=_base, context=_context, use_native_types=True)) 23 | 24 | 25 | @click.command() 26 | @click.argument("ttl") 27 | def main(ttl): 28 | ttl2jsonld(ttl, NAMESPACES) 29 | return 0 30 | 31 | 32 | if __name__ == "__main__": 33 | sys.exit(main()) -------------------------------------------------------------------------------- /tools/vocab2md/vocab.md.jinja2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/isamplesorg/metadata/d5c266b6badcc5f07ac6b43c79e3dab1c1358b2f/tools/vocab2md/vocab.md.jinja2 --------------------------------------------------------------------------------