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

The editor for entering the metamodel will open:

| 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
