Skip to content

Manual Definition of the Service Metamodel

In Asset -> Service we have seen how to define Service Properties for the Service using the graphical interface. Behind the scenes, the Data Analytics System converts what is entered interactively into a JSON metamodel. This JSON can also be manually defined and loaded from the UI.

To access the metamodel JSON editor, go to the Service registration panel and click on Service Definition

service-registration-form-with-json-service-definition-button-highlighted

The editor for entering the metamodel will open:

service-registration-json-service-definition-editor

Attribute Description
name Nunique name of the Service
version Service version
description Brief textual description of the Service
framework Technology used to implement the Service
url The URL of the Docker image of the Service, with prefix docker:// and version tag.
Example: docker://dockerhub.alidalab.it/alida/restricted/services/great-expectations:1.1.0
accessLevel Service visibility level
properties property Array (the list of parameters and I/O ports of the Service)
area deprecated
markdown Textual documentation in markdown format associated with the Service and displayed in the UI

For the generic property, an element of the properties array, the attributes are:

Attribute Description
key Unique identifier of the property. Used as a reference in code and UI
description Descriptive text shown in UI
type Type of property (application, resource, static). Determines the behavior of the property
mandatory Indicates if it is mandatoryv(true | false)
defaultValue Default Value. Always string/number; JSON serialized as string
valueType Expected value type (string | int | json)
invisible Whether to show the property in the UI or not (true | false ). true for the ports input/output
model Additional information if the property is key = input-model { "format": "sklearn" }

For model, the unique attribute is: | Attribute | Description | | --------- | ----------- | | format | sklearn | huggingface | etc ... | |

General JSON Syntax for the Metamodel

metamodel-in-ebnf