-
-
Notifications
You must be signed in to change notification settings - Fork 489
DCAT enhancements
Date | 2015-06-30 | Contacts | Jose García, Paul van Genuchten |
Status | Done | Release | 3.0.4 |
Resources | Ticket # | ||
Source code | PR #1407 | ||
Funding | Swedish Environmental Protection Agency |
In this proposal are described a set of DCAT enhancements developed for a 2.10 version to be migrated to version 3:
-
CSW output to DCAT
-
OAI-PMH output to DCAT
-
A new service to retrieve to retrieve all the public metadata in DCAT format. This service is used actually to retrieve all the public metadata from GeoNetwork to be injected into the Swedish Open Data portal based on CKAN. Testing has been done to inject it in Virtuoso (http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/)
New xsl files in the present/csw
folder for the iso19139 schema have been added to convert the metadata to dcat format:
- dcat-brief.xsl
- dcat-summary.xsl
- dcat-full.xsl
These xsl files use the existing metadata-rdf.xsl
A new outputSchema http://www.w3.org/ns/dcat#
has been added to return the metadata records in this format. An example request:
<?xml version="1.0"?>
<csw:GetRecords xmlns:csw="http://www.opengis.net/cat/csw/2.0.2" service="CSW" version="2.0.2"
resultType="results" outputSchema="http://www.w3.org/ns/dcat#">
<csw:Query typeNames="gmd:MD_Metadata">
<csw:ElementSetName>full</csw:ElementSetName>
<csw:Constraint version="1.1.0">
<Filter xmlns="http://www.opengis.net/ogc" xmlns:gml="http://www.opengis.net/gml"/>
</csw:Constraint>
</csw:Query>
</csw:GetRecords>
This service has been extended to support the dcat output, adding a new conversion xsl in the convert
folder of the iso19139 schema.
To request the metadata in this format, the metadataPrefix
should be set to the value dcat
.
http://SERVER/geonetwork/srv/eng/oaipmh?verb=ListRecords&metadataPrefix=dcat
This service should return all the public metadata, without using pagination. Due to the size of the metadata catalogue, this service could not be implemented like other services using the following pattern used in other services that use pagination:
- Search the catalog (using lucene)
- Retrieve all the results (full metadata) in memory
- Apply xslt to convert to dcat to the results
To avoid memory issues, the service has be implemented like this:
- Search the catalog (using lucene)
- Retrieve the results (full metadata) in groups of N
- Apply the xslt to convert to dcat to the previous results
- Save the results to a temporal file that is returned when the process finishes
This allows to deal with memory issues for large results.
- Type: Metadata output
- Module: services
- Vote Proposed: 14/09/2015
- +1 Francois, Emanuele, Jose
- Jose García
- Paul van Genuchten
- Michael Ostling
If you have some comments, start a discussion, raise an issue or use one of our other communication channels to talk to us.