Skip to content

Commit

Permalink
support for datacite schema on the oai-pmh endpoint (#898)
Browse files Browse the repository at this point in the history
* this adds the datacite schema to the oai-pmh endpoint, based on work by @cfenell at https://github.com/cfenell/pycsw/blob/datacite/pycsw/plugins/outputschemas/datacite.py

* this adds the datacite schema to the oai-pmh endpoint, based on work by @cfenell at https://github.com/cfenell/pycsw/blob/datacite/pycsw/plugins/outputschemas/datacite.py

* docs update for Datacite

* add subjects from themes property

* Update introduction.rst

---------

Co-authored-by: Genuchten <paul.vangenuchten@wur.nl>
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
  • Loading branch information
3 people authored Sep 22, 2023
1 parent aaaaa3f commit 59f5ffb
Show file tree
Hide file tree
Showing 54 changed files with 984 additions and 2 deletions.
30 changes: 29 additions & 1 deletion docs/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ Features
- implements Full Text Search capabilities
- implements OGC OpenSearch Geo and Time Extensions
- implements Open Archives Initiative Protocol for Metadata Harvesting
- supports ISO, Dublin Core, DIF, FGDC, Atom and GM03 metadata models
- supports ISO, Dublin Core, DIF, FGDC, Atom, GM03 and DataCite metadata models
- CGI or WSGI deployment
- simple configuration
- transactional capabilities (OGC API - Records and CSW-T)
Expand Down Expand Up @@ -59,6 +59,7 @@ Standards Support
`SRU`_,1.1
`OGC OpenSearch`_,1.0
`OAI-PMH`_,2.0
`DataCite`_,4.3

OGC API - Records support
-------------------------
Expand Down Expand Up @@ -139,6 +140,7 @@ Supported Output Schemas
- NASA DIF
- Atom
- GM03
- DataCite

Supported Sorting Functionality
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down Expand Up @@ -205,6 +207,31 @@ Functions
- trim
- upper

OAI-PMH Support
---------------

Supported Operations
^^^^^^^^^^^^^^^^^^^^

- GetRecord
- Identify
- ListIdentifiers
- ListMetadataFormats
- ListRecords
- ListSets

Supported Filters
^^^^^^^^^^^^^^^^^

- from
- until
- set

Paging
^^^^^^

- resumptionToken

.. _`OGC API - Records - Part 1: Core`: https://ogcapi.ogc.org/records
.. _`OGC API - Features - Part 3: Filtering`: http://docs.ogc.org/DRAFTS/19-079.html
.. _`Common Query Language (CQL2)`: https://docs.ogc.org/DRAFTS/21-065.html
Expand Down Expand Up @@ -235,3 +262,4 @@ Functions
.. _`OAI-PMH`: https://www.openarchives.org/pmh/
.. _`GM03`: https://www.geocat.admin.ch/en/dokumentation/gm03.html
.. _`OGC API - Features - Part 4: Create, Replace, Update and Delete`: https://cnn.com
.. _`DataCite`: https://schema.datacite.org/meta/kernel-4.3/
7 changes: 7 additions & 0 deletions pycsw/oaipmh.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ def __init__(self, context, config):
'identifier': './/gm03:DATASECTION//gm03:fileIdentifer',
'dateStamp': './/gm03:DATASECTION//gm03:dateStamp',
'setSpec': './/dataset'
},
'datacite': {
'namespace': 'http://datacite.org/schema/kernel-4',
'schema': 'http://schema.datacite.org/meta/kernel-4.3/metadata.xsd',
'identifier': '//identifier',
'dateStamp': '//dates/date',
'setSpec': ''
}
}
self.metadata_sets = {
Expand Down
2 changes: 1 addition & 1 deletion pycsw/plugins/outputschemas/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@
#
# =================================================================

__all__ = ['atom', 'dif', 'fgdc', 'gm03']
__all__ = ['atom', 'dif', 'fgdc', 'gm03', 'datacite']
Loading

0 comments on commit 59f5ffb

Please sign in to comment.