Introduction¶
pycsw is an OARec and OGC CSW server implementation written in Python.
Features¶
- implements OGC API - Records - Part 1: Core
- implements OGC API - Features - Part 3: Filtering
- implements Common Query Language (CQL2)
- certified OGC Compliant and OGC Reference Implementation for both CSW 2.0.2 and CSW 3.0.0
- harvesting support for WMS, WFS, WCS, WPS, WAF, CSW, SOS
- implements INSPIRE Discovery Services 3.0
- implements ISO Metadata Application Profile 1.0.0
- implements FGDC CSDGM Application Profile for CSW 2.0
- implements the Search/Retrieval via URL (SRU) search protocol
- 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, GM03 and DataCite metadata models
- CGI or WSGI deployment
- simple configuration
- transactional capabilities (OGC API - Records and CSW-T)
- flexible repository configuration
- GeoNode connectivity
- HHypermap connectivity
- Open Data Catalog connectivity
- CKAN connectivity
- federated catalogue distributed searching
- realtime XML Schema validation
- extensible profile plugin architecture
Standards Support¶
Standard | Version(s) |
---|---|
OGC API - Records - Part 1: Core | 1.0 |
OGC API - Features - Part 3: Filtering | draft |
OGC API - Features - Part 4: Create, Replace, Update and Delete | draft |
OGC CSW | 2.0.2/3.0.0 |
OGC Filter | 1.1.0/2.0.0 |
OGC OWS Common | 1.0.0/2.0.0 |
OGC GML | 3.1.1 |
OGC SFSQL | 1.2.1 |
OGC GeoRSS | 1.0 |
Dublin Core | 1.1 |
SOAP | 1.2 |
ISO 19115 | 2003 |
ISO 19139 | 2007 |
ISO 19119 | 2005 |
NASA DIF | 9.7 |
FGDC CSDGM | 1998 |
GM03 | 2.1 |
SRU | 1.1 |
OGC OpenSearch | 1.0 |
OAI-PMH | 2.0 |
DataCite | 4.3 |
OGC API - Records support¶
- Part 1: Core
OGC API - Features support¶
- Part 3: Filtering
- Part 4: Create, Replace, Update and Delete
CQL¶
- Common Query Language (CQL2)
Supported Output Formats¶
- JSON (default)
- XML
Supported Filters¶
- q
- datetime
- filter / filter-lang (CQL)
- bbox
- all properties (
property=value
)
Paging¶
- limit
- offset
CSW Support¶
Supported Operations¶
Request | Optionality | Supported | HTTP method binding(s) |
---|---|---|---|
GetCapabilities | mandatory | yes | GET (KVP) / POST (XML) / SOAP |
DescribeRecord | mandatory | yes | GET (KVP) / POST (XML) / SOAP |
GetRecords | mandatory | yes | GET (KVP) / POST (XML) / SOAP |
GetRecordById | optional | yes | GET (KVP) / POST (XML) / SOAP |
GetRepositoryItem | optional | yes | GET (KVP) |
GetDomain | optional | yes | GET (KVP) / POST (XML) / SOAP |
Harvest | optional | yes | GET (KVP) / POST (XML) / SOAP |
UnHarvest | optional | no | |
Transaction | optional | yes | POST (XML) / SOAP |
Note
Asynchronous processing supported for GetRecords and Harvest requests (via csw:ResponseHandler
)
Note
Supported Harvest Resource Types are listed in Transactions using CSW
Supported Output Formats¶
- XML (default)
- JSON
Supported Output Schemas¶
- Dublin Core
- ISO 19139
- FGDC CSDGM
- NASA DIF
- Atom
- GM03
- DataCite
Supported Sorting Functionality¶
- ogc:SortBy
- ascending or descending
- aspatial (queryable properties)
- spatial (geometric area)
Supported Filters¶
Full Text Search¶
- csw:AnyText
Geometry Operands¶
- gml:Point
- gml:LineString
- gml:Polygon
- gml:Envelope
Note
Coordinate transformations are supported
Spatial Operators¶
- BBOX
- Beyond
- Contains
- Crosses
- Disjoint
- DWithin
- Equals
- Intersects
- Overlaps
- Touches
- Within
Logical Operators¶
- Between
- EqualTo
- LessThanEqualTo
- GreaterThan
- Like
- LessThan
- GreaterThanEqualTo
- NotEqualTo
- NullCheck
Functions¶
- length
- lower
- ltrim
- rtrim
- trim
- upper