Introduction

The AI4EO Knowledge Management Tool (KMT) provides a web portal (https://ai4eo.esa.int/) that aims to collect all the AI4EO projects included in the activities of the ESA-PhiLab, preserving and making them available from a unique access point. The platform is structured as a catalogue where the list of projects can be explored by filtering them according to a predefined set of categories or choosing among the available tags.

Catalogue layout

Each project in the catalogue is represented by a Jupyter Notebook, identified by a title, that also contain the name of the project, and a short description.

A configuration step is required in order to properly include the project in the catalogue,so that it can be accessed from the portal and handled according to the user needs.

Configuration

This catalogue service is based on the metadata stored on each of the Jupyter Notebooks (* **.ipynb** files) that are associated to the projects included in the catalogue. The notebook selected for the catalogue could be a demo or one among those (if available) already belonging to the project. For projects that don't include any jupyter notebook, a simple descriptive notebook should be anyway deployed, in order to set the metadata that are needed for the catalogue service. This approach allows to standardize the behaviour of the catalogue in different scenarios. The type of project (jupyter notebook, library, source files,dataset, ...) will be highlighted and exposed in the catalogue service.

Notebooks Metadata

The metadata of a Jupyter notebook can be edited with a common text editor or inside a Jupyter environment (JupyterLab) (right click --> Open With --> Editor).

Catalogue layout

The metadata section to extend can be found at the end of the file and is prepopulated by Jupyter.

The following table describes the metadata that have to be defined. If any of the mandatory metadata fields will miss, the notebook can not be catalogued and made visible in the platform.

Mandatory Name Type Purpose
V title string The notebook title
V description string The notebook description
V author string Username or work group or a point of contact for the target notebook
V tags.category string The notebook category. This value has to be put in the tags object.
V tags.type string The resource type ( e.g notebook, library, dataset, ...). This value has to be put in the tags object
image string path of an image to use as preview (related to the git root)

example:


"metadata": {
    ....
    "description": "This notebook shows the procedure for Data Fusion Paradigm Selection applied to Land-Cover Classification of SAR and Multispectral Sentinel Data",
    "title": "S1-S2 Data Fusion",
    "image": "./S1-S2 Data Fusion/notebooks/joint_fusion.jpg",
    "author": "someone@eo.esa.int",
    "tags": {
        "category": "land use",
        "type": "Notebook"
    }
    ....

Tags

In addition to the category tag other free tags can be added. The only constraint for these attributes is related to the data type that must be of type string or array of strings.

example:


"tags": {
    "category": "land use",
    "type": "Notebook",
    "satellite": ["Sentinel-1", "Sentinel-2"]

},

When the required notebook is available, it should be uploaded in the ESA Gitlab repository of the related project, creating a subdirectory named "notebooks", if not already prsent, that must be the destination of the notebook.

Search criteria

The Search operator is case insensitive.

Free text search is performed on the "description" and "title" metadata.