# gCube URI Resolver The URI Resolver is a RESTful service that offers unified HTTP(s) access to the various gCube Resolver services and applications within the D4Science Infrastructure. [![License: EUPL-1.2](./images/License-EUPL--1.2-blue.svg)](LICENSE.md) [![Changelog](./images/Changelog-keep.svg)](CHANGELOG.md) [![Cite](./images/Cite-CITATION.cff-orange.svg)](CITATION.cff) ## Table of contents - [Overview](#overview) - [Documentation](#documentation) - [Changelog](#changelog) - [Authors](#authors) - [How to Cite](#how-to-cite) - [License](#license) - [About gCube](#about-gcube) - [Funding](#funding) ## Overview The URI Resolver is a RESTful service that offers unified HTTP(s) access to the various gCube Resolver services and applications within the D4Science Infrastructure. It serves as a central gateway for resolving and accessing the distributed resources made available across the D4Science infrastructure’s services. ### Key Features - Unified access point for multiple gCube resolver services - RESTful API design for easy integration and interaction - Seamless integration with gCube Applications and Virtual Research Environments - Supports multiple resource types including catalogue entries, geospatial data, and storage resources ### Implemented Resolvers The URI Resolver service implements a suite of resolvers, each designed to handle specific types of URIs and provide access to different resources within the D4Science infrastructure. Below is a list of the implemented resolvers and their key functionalities: * **Catalogue Resolver**: Resolves links to entities (such as groups, organizations, or products) stored within D4Science's Catalogue instances. * **Geoportal Exporter**: Provides functionality to export GIS projects from the Geoportal system, available within D4Science VREs. * **Geoportal Resolver**: Resolves links to the "Geoportal Viewer" and "Geoportal Entry" applications, enabling access to geospatial data and projects. * **KNIME Resolver**: Creates and resolves URLs for invoking the KNIME Model Simulation Application, allowing users to execute and interact with KNIME workflows. * **Parthenos Registry Resolver**: Resolves items from Parthenos URLs stored in the Parthenos Catalogue. * **SMP/SMP-ID Resolver**: Provides HTTP resolution for storage resources by ID or SMP protocol URIs, facilitating direct access to stored data. * **Storage-HUB Resolver**: Enables the download of files from a gCube Workspace and retrieves their metadata. * **Storage-ID Resolver**: Offers HTTP resolution for storage resources by their unique ID, allowing for persistent and reliable access to data. These resolvers collectively enhance the accessibility and interoperability of resources across the D4Science infrastructure, providing a unified and streamlined experience for users. #### Deprecated Resolvers * **Analytics Resolver**: Creates and resolves URLs for invoking the DataMiner Executor, enabling the execution of algorithms within a Virtual Research Environment (VRE). * **Geonetwork Resolver**: Acts as a middleware for querying D4Science's Geonetwork services, facilitating access to geospatial metadata and resources. * **GIS Resolver**: Resolves GIS links to display and navigate geospatial layers on a web-based map viewer (Gis Viewer). ### Production Service The URI Resolver production service is available at [D4Science URI Resolver](https://data.d4science.org/) ## Built With * [OpenJDK](https://openjdk.java.net/) - JDK 8 * [Maven](https://maven.apache.org/) - Dependency Management ## Documentation You can find the URI Resolver documentation at [URI Resolver Wiki Page](https://wiki.gcube-system.org/gcube/URI_Resolver) The API documentation accessible by this [link](https://wiki.gcube-system.org/gcube/URI_Resolver#Instances) is provided by [Enunciate](https://github.com/stoicflame/enunciate/) ## Changelog See the [URI Resolver Releases](https://code-repo.d4science.org/gCubeSystem/uri-resolver/releases) ## Authors * **Francesco Mangiacrapa** ([ORCID](https://orcid.org/0000-0002-6528-664X)) Istituto di Scienza e Tecnologie dell'Informazione 'A. Faedo', Consiglio Nazionale delle Ricerche, Pisa, Italy ## How to Cite If you use this software, please cite it using the metadata in [CITATION.cff](CITATION.cff) ## License This project is licensed under the terms specified in the [LICENSE.md](LICENSE.md) file. ## About gCube This software is part of the [gCube Framework](https://www.gcube-system.org/): an open-source software toolkit used for building and operating Hybrid Data Infrastructures enabling the dynamic deployment of [Virtual Research Environments](https://en.wikipedia.org/wiki/Virtual_research_environment) by favouring the realisation of reuse oriented policies. The gCube Framework supports the development and operation of the [D4Science Infrastructure](https://www.d4science.org). ## Funding See [FUNDING.md](FUNDING.md)