Overview

The Resource Registry manages a graph of entities and relationships representing resources and facets, along with their connections. Contexts provide a hierarchically organized visibility layer that controls access to these graph entities. The service uses OrientDB as the underlying database and provides REST APIs for complete CRUD operations on all elements of the information model.

Academic Reference:

For the theoretical foundations and detailed design rationale of the gCube Information System (of which the Resource Registry is the core component), see: Frosini, L. (2019). Transactional REST Information System for Federated Research Infrastructures enabling Virtual Research Environments. Università degli Studi di Pisa. https://doi.org/10.5281/zenodo.7464022

Key Features:

  • Context Management: Operations to create and manage hierarchical gCube contexts;

  • Type Management: Schema and type definition management with inheritance hierarchies;

  • Graph Entity Management: Unified CRUD operations for resources, facets, and their relationships (IsRelatedTo, ConsistsOf), including context sharing capabilities;

  • Schema Validation: Automatic compliance checking against defined types;

  • Advanced Queries: Support for prepared queries, JSON queries and query templates.

Architecture

The service is based on SmartGears 4 and uses:

  • JAX-RS: For REST API exposure;

  • OrientDB: As graph database for persistence;

  • gCube Jackson: For JSON serialization/deserialization (repackaged version of Jackson library);

  • gCube Security Framework: For authentication and authorization.