wiki:proposals/InspireDownloadServiceAsAtom

Version 5 (modified by pvgenuchten, 12 years ago) ( diff )

--

Add Support for Inspire OpenSearch (Atom)

Date 2012/09/18
Contact(s) Paul van Genuchten
Last edited
Status OnGoing
Assigned to release 2.x
Resources
Ticket #
Github source

Proposal

Generate Atom

Inspire requires either WFS service or Atom xml with link to the download for downloading datasets. More info can be read in technical guidence for download services doc 3.0 http://inspire.jrc.ec.europa.eu/documents/Network_Services/Technical_Guidance_Download_Services_3.0.pdf and/or http://wiki.geonovum.nl/index.php/Download_Service_via_Atom_feed (in dutch).

These days data owners are creating Atom-documents for downloads they provide and link to the Atom document from an iso19115 onlineresource section. The Atom document contains roughly the same information as the actual Inspire iso19115 record in GN. So seems quite usefull to generate this feed document as an output format for Geonetwork (most of this is already implemented in current opensearch gn-implementation). However we've also got some requests from governments that from a legal point of view geonetwork can not create these documents, but should link to and include their content from the original location in the lucene index. The Atom specification is part of the "Inspire Download services", where the geonetwork catalogue is part of the "Inspire Discovery service". In a country responsibility for either one of these services can be delegated to different legal entities.

So I propose to make a setting in a config-override to support both use cases

Shared functionality for the implementations will have these features:

  • Atom search queries the standard lucene index (by configuration limited to only records complying to the Inspire standard) and presents the results in an atom document, from this document the individual Atom documents can be accessed.
  • If an iso19119 metadata record identifier is provided in the url, the search will be limited to this document plus all the related datasets to this document (the download service)
  • For each iso19119 record an OpenSearch Description document should be available listing all the dataset-identifiers available in the Atom feed.
  • "Describe Spatial Data Set"-operation will provide a single Atom document for a dataset (inputs are identifier, language)
  • "Get Spatial Data Set"-operation will provide an attached spatial datafile (inputs are identifier, language, crs)

How to extend what we have now

In http://trac.osgeo.org/geonetwork/ticket/333 some work has been implemented to introduce OpenSearch. This proposal adds some extra fields (and functionality) to the existing implementation (and/or) is implemented as a series of overrides to not make the current implementation to complex.

/geonetwork/srv/dut/portal.opensearch

This url opens the OpenSearch Description document. Some extra fields should be added. The filter with a iso19119 uuid should be implemented, if such a filter is provided a list of all dataset identifiers in this service should be displayed.

/geonetwork/srv/dut/rss.search?any=

Queries the index and shows results. Some extra fields should be implemented. The link should not reference the iso19115 record in GN but an Atom document descrbing the dataset. The url for this could look like:

/geonetwork/srv/eng/rss.detail?uuid={uuid}&lang={lang}

This is also an implementation of the "Describe Spatial Data Set"-operation

GN will return a document like:

<feed xmlns="http://www.w3.org/2005/Atom"
    xmlns:georss="http://www.georss.org/georss"
    xmlns:inspire_dls="http://inspire.ec.europa.eu/schemas/inspire_dls/1.0">
    <!-- feed title -->
    <title xml:lang="nl">Demonstratie INSPIRE Download Service 3.0, ATOM - Service Feed</title>
    <!-- feed subtitle -->
    <subtitle xml:lang="nl">INSPIRE Download Service van Geonovum als demonstratie van een Download Service met voorgedefinieerde datasets voor Geografische namen en Administratieve eenheden</subtitle>
    <!-- links to metadata and alternative representations -->
    <link href="http://s01.geonovum.site4u.nl/download/metadata_atom_servicefeed.xml" rel="describedby" type="application/vnd.iso.19139+xml"/>
    <link href="http://s01.geonovum.site4u.nl/download/downloadservice_atom_servicefeed.xml" rel="self" type="application/atom+xml"
        hreflang="nl" title="Demonstratie INSPIRE Download Service 3.0 - Service Feed"/>
    <link rel="search" href="http://s01.geonovum.site4u.nl/download/opensearch_description.xml" type="application/opensearchdescription+xml" title="Open Search Description voor Demonstratie INSPIRE Download Service 3.0, ATOM - Service Feed"/>
    <!-- identifier -->
    <id>http://s01.geonovum.site4u.nl/download/downloadservice_atom_servicefeed.xml</id>
    <!-- rights, access restrictions -->
    <rights>geen toegangsbeperkingen</rights>
    <!-- date/time of last update of feed -->
    <updated>2012-06-18T15:35:06Z</updated>
    <!-- author info -->
    <author>
        <name>Geonovum</name>
        <email>jj@jj.org</email>
    </author>
    <entry>
        <!-- title for pre-defined dataset -->
        <title xml:lang="nl">Geografische namen (DEMO) NamedPlaces - Parent Feed (CRS)</title>

		<!-- Spatial Dataset Unique Resourse Identifier voor de dataset -->
		<inspire_dls:spatial_dataset_identifier_code>06b6c650-cdb1-11dd-ad8b-0800200c9a79</inspire_dls:spatial_dataset_identifier_code>
		<!-- Geonovum: de namespace voor de code, van toepassing op de dataset. Nadere invulling hiervan volgt nog. -->
		<inspire_dls:spatial_dataset_identifier_namespace>http://s01.geonovum.site4u.nl/download</inspire_dls:spatial_dataset_identifier_namespace>
        <link href="http://nationaalgeoregister.nl/geonetwork/srv/nl/iso19139.xml?uuid=81ff84ec-42a4-4481-840b-12713bbb5d38" rel="describedby" type="application/xml"/>
        <!-- Link naar Dataset feed -->
        <link href="http://s01.geonovum.site4u.nl/download/downloadservice_atom_dataset1.xml" rel="alternate" type="application/atom+xml"
            hreflang="nl" title="Geografische namen (DEMO) - Download Service voorgedefinieerde dataset"/>            
        <id>http://s01.geonovum.site4u.nl/download/downloadservice_atom_dataset1.xml</id>
	    <updated>2012-06-18T15:35:04Z</updated>
        <!-- Optioneel: een samenvatting / omschrijving  -->
		<summary>Download de dataset Geografische namen (DEMO) NamedPlaces, via deze feed</summary>
        <!-- The service feed contains the boundingbox, in polygon format -->
        <georss:polygon>50.7539 3.37087 50.7539 7.21097 53.4658 7.21097 53.4658 3.37087 50.7539 3.37087</georss:polygon>
        <!-- For each entry provide CRS information -->
        <category term="http://www.opengis.net/def/crs/EPSG:4258"
            label="ETRS89"/>
        <category term="http://www.opengis.net/def/crs/EPSG:4326"
            label="WGS84"/>
    </entry>
</feed>

Implementation with harvested ATOM will require functionality like this

Collect ATOM In the situation that the data provider provides its own Atom document, geonetwork should not link to the Atom document generated by the catalogue, but to the document provided by the data provider. To be able to include the ATOM contents in the Lucene index, we'll need to harvest the Atom document on regular intervals. Similar to a WMS-capabilities harvest. An Atom harvest would be able to collect the contents of the Atom feed and include it as a field in the metadata table, to be able to add it to the lucene index.

Harvest ATOM A usecase to consider is that we also create an ATOM harvester which will be able to harvest iso19115 and iso19119 metadata from Atom feeds.

Validate Atom Before being able to collect or harvest Atom Feeds I guess we'll need Atom XSD in GN

Display Atom Contents

The atom link can be referred to from the Inspire iso19115 and Inspire iso19119 records in the catalogue, we might add a suggestion button here to be able to auto-add the geonetwork link here, or add a link to your local server

<srv:connectPoint><gmd:CI_OnlineResource><gmd:linkage><gmd:URL>/geonetwork/srv/eng/rss.detail?uuid=a3d33-...</gmd:URL></gmd:linkage></gmd:CI_OnlineResource></srv:connectPoint>

An example reord can be viewed at: http://www.nationaalgeoregister.nl/geonetwork/srv/nl/iso19139.xml?id=448130

Also if GN finds such an atom feed url in the gmd:url field, the metadata record-view could get the feed contents and return the linked datasets inside the Atom document and present them as hyperlinks

TODO:

  • create Atom output format (new rss.detail endpoint using custom xslt)
  • Add option to iso19115 'online resource' section to auto generate a hyperlink to an Atom feed referring to the uploaded dataset
  • Add option to harvest iso19115/iso19119 metadata from an Atom Feed
  • If online resource section contains atom link, present as human readable in metadata record view
  • filter by iso19119-uuid
  • filter by "inspire compliency"?
  • Complience testing

Proposal Type

  • Type: Inspire download service improvement
  • App: GeoNetwork
  • Module: Inspire

Voting history

Vote proposed by Paul on 2013/june/6, result was

  • ?

Risks

  • ?

Participants

  • Paul van Genuchten
  • Steven Smolders
  • Heikki Doeleman
  • Jose Garcia
  • Thijs Brentjens / Ine de Visser
Note: See TracWiki for help on using the wiki.