Please note that the Service extension is still work in progress *this extension ndd file was previously names “SoftwareExtension”
SKG-IF Service Extension
A Service is a type of software application or component that provides specific functionality or operations over a network, often via the internet, and is typically accessed through an interface such as an API or a web application. (note Service is renaming of Software Service for which still used in many discussion documents)
Properties
The properties set was suggested and informed from a number of examples both thematic and general:
- The different CMDI schema for tools & services used in the [VLO catalogue], esp the [UDPipe example]
- [SSHOMP catalogue] (tools and services) different examples
- [ELG catalogue] (tools and services) different examples
- [CLARIN LR Switchboard schema]
- The [Schema.org SoftwareApplication] type has many useful properties
- The [EOSC Service Profile 4.1 rc (latest) and 5.0]
local_identifier
String (mandatory): Unique code identifying a [Software Service] in the SKG (if any, otherwise “stateless identifier”).
Suggestion: Use a URL as a string to make this entity dereferenceable on the Web. For additional information, see the section ‘Local identifiers of entities’ of the Interoperability Framework. A local_identifier can also be (derived) from an existing persistent identifier.
"local_identifier": "11234/1-4816"
identifiers
List (recommended): Objects representing external identifiers for the entity.
Each identifier is structured as follows:
schemeString (mandatory): The scheme for the external identifier.valueString (mandatory): The external identifier.
Note: the current version of SKG-IF includes the following types of identifiers (to be specified as strings in the field “scheme”): doi, handle, pmid, url, omid, …
"identifiers": [
{
"scheme": "handle",
"value": "11234/1-4816"
},
{
"scheme": "doi",
"value": "10.18653/v1/K18-2020"
}
]
entity_type
String (mandatory): Field stating what kind of entity is being serialised.
Needed for parsing purposes; fixed to service.
"entity_type": "service"
name
Object (optional): The names of a [Software service] (multiple for multilingualism).
The object is a dictionary, the keys represent language codes following ISO 639-1; the special key none is reserved whenever the information about the language is not available or cannot be shared.
"name": {
"en": "UDPipe",
"zh-cn": "UDPipe 工具"
},
"other_names": {
"en": ["UDPipe 2", "UDPipe 2.0"]
}
description
Object (optional): The description of a [Service] (multiple for multilingualism).
The object is a dictionary, the keys represent language codes following ISO 639-1; the special key none is reserved whenever the informtion about the language is not available or cannot be shared.
"descriptions": {
"en": ["UDPipe 2 is a Python prototype, capable of performing tagging, lemmatization and syntactic analysis of CoNLL-U input. It took part in several competitions, reaching excellent results in all of them", "Summary"],
"cs": ["UDPipe je trénovatelný nástroj pro tokenizaci, tagging, lemmatizaci a závislostní parsing CoNLL-U souborů. UDPipe je jazykově nezávislý a pro natrénování modelů využívá anotovaná data ve formátu Universal Dependencies"]
"none": ["ontaligestring"]
}
audience_byrole
Object (optional): the audience(s) that the service is intended to be used by This can both express desire and/or design of the service operators. Values are mandatory taken from the https://vocabs.sshopencloud.eu/vocabularies/sshoc-audience/audienceScheme
"@context": {
"sshocaudience": "https://vocabs.sshopencloud.eu/vocabularies/sshoc-audience/"
},
"audience_byrole": ["sshocaudience:public", "sshocaudience:student" ]
srv_audience_byjurisdiction
Object (optional): the jurisdiction that is given by the service operator’s legal status limits the audience. value take from either Global, Institution, National, or Regional aka multiple countries, from https://zenodo.org/records/15516020)
"srv_audience_byjurisdiction": ["Institution", "National" ]
disciplines
List (optional): The disciplines for which a [Software Service] is dedicated. The disciplines must be specified using the Library of Congress Classification codes, available at https://id.loc.gov/authorities/classification (e.g. PA3000-PA3049 for classical literature). In case a [Service] is discipline agnostic, the string “all” should be specified.
"@context": {
"loc": "https://id.loc.gov/authorities/classification/"
}
"disciplines": [
"loc:QC790.95-QC791.8"
],
"disciplines": ["all"]
isaccessible_for free
String (optional): A property to signal that the Service is accessible for free.
"is_accessible_for_free": true
invocation_type
List (mandatory): the way the service is used or called. multiple values are possible, access rights and licenses are assued to be the same. values are specified by vocabulary https://vocabs.sshopencloud.eu/vocabularies/invocation-type/invocationTypeScheme
"@context": {
"sshocinvt": "https://vocabs.sshopencloud.eu/vocabularies/invocation-type/"
},
"srv_invocation_type": [ "sshocinvt:restfullWebservice", "sshocinvt:webApplication" ]
life_cycle_status
List (optional): indicates the development cycle and/or maturity status of the service. values are by vocabulary https://vocabs.sshopencloud.eu/vocabularies/eosc-life-cycle-status/ Originally specified in the EOSC Service Profile. Could extend with TRL classifications.
"@context": {
"elcs": "https://vocabs.sshopencloud.eu/vocabularies/eosc-life-cycle-status/"
}
"life_cycle_status": ["elcs:life_cycle_status_production", "elcs:TRL6" ]
availablity_geographic
List (optional): list of countries and regions where the service is made available eg. for license reasons.
"@context": {
"eoscgeoavail": "https://vocabs.sshopencloud.eu/vocabularies/eosc-geographical-availability/"
},
"availability_geographic": ["eoscgeoavail:eu","eoscgeoavail:uk"]
website
String (mandatory): landingpage for the service. preferably one maintained by the service operator
"website": "https://ufal.mff.cuni.cz/udpipe/2"
supported_language
List (optional) if applicable the language(s) the service is able to process, values provided as ISO369-2 language codes
"@context": {
"lexvo": "http://lexvo.org/id/"
},
"supported_language": ["lexvo:iso639-3/de","lexvo:iso639-3/nl"]
topics
List (optional): [Topic] object identifiers relevant for the scope (topic) of a [Service]. Note this is description is not consistent with other examples , should be discussed and repaired
"topics": [
{
"term": "topic_1",
"provenance": [
{
"associated_with": "openaire-infra",
"trust": 0.7
}
]
} ]
srv_research_infrastructure
List (optional): is associated with an [Organisation] organisation that provides facilities, resources and services for the research communities to conduct research. Query responses can return a complete Organisation iinformation but should minimally return “local_identifier” and “entity_type”.
{
"local_identifier": "https://ror.org/03wp25384",
"entity_type": "organisation",
"name": "CLARIN ERIC",
"types": [
"facility",
"srv_research_infrastructure"
],
"country": "NL"
} ,
{
"local_identifier": "https://ror.org/03wp25384",
"entity_type": "organisation",
}
srv_hosting_organisation
List (optional): is depending on [Organisation] organisation reponsible for hosting a service or infrastructure component. Query responses can return a complete Organisation information but should minimally return “local_identifier” and “entity_type”.
{
"local_identifier": "https://ror.org/00dd4fz34",
"entity_type": "organisation",
"name": "Digital Research Infrastructure for Language Technologies, Arts and Humanities",
"short_name": "LINDAT",
"types": [
"facility",
"srv_hosting_organisation"
],
"country": "CZ"
},
{ "local_identifier": ""https://ror.org/00dd4fz34",
"entity_type": "organisation"
}
srv_hosting_legal_entity
List (optional): is the specific [Organisation] organisation legally reponsible for the service operation and publishing Query responses can return a complete Organisation iinformation but should minimally return “local_identifier” and “entity_type”.
{
"local_identifier": "https://ror.org/024d6js02",
"entity_type": "organisation",
"name": "Charles University",
"types": [
"education",
"research"
],
"country": "CZ"
}
relevant_organisations
List (optional): [Organisation] identifiers associated with and relevant for a [Service]. identifiers can be of local or global identifier system type eg. ror, uri. Organizations can be given additional types: “research_infrastructure”, “hosting_organisation” and “hosting_legal_entity”.
"relevant_organisations": ["https://ror.org/024d6js02", "https://ror.org/03wp25384"]
related_products
Object (optional): A dictionary of objects representing related [Research products], where the semantics of such relationships is specified as a key. #TODO: THIS LIST HAS TO BE MODFIED FOR SERVICE/SOFTWARE RELATIONS It is structured as follows:
citesList (optional): [Research products] identifiers that are cited by a given Research product.is_supplemented_byList (optional): [Research products] identifiers that are supplement of a given Research product.is_documented_byList (optional): [Research products] identifiers that documents a given Research product.is_new_version_ofList (optional): [Research products] identifiers that are prior versions of a given Research product.is_part_ofList (optional): [Research products] identifiers that contain the current Research product.
"srv_related_products": {
"cites": ["product_2", "product_3", "product_4"],
"is_supplemented_by": ["product_7", "product_8", "product_9"],
"is_documented_by": ["product_10", "product_13"],
"is_new_version_of": ["product_10", "product_13"],
"is_part_of": ["product_11"]
}
keywords
List (optional): list of keywords relevant for service discovery, values may be simple strings or concept URIs
"keywords": ["https://www.wikidata.org/wiki/Q30642","parsing",]
srv_deployment_of
List (optional) Research Product of type software, software class or sourcecode repository link that the service is based on
"srv_deployment_of": [
{ "@id": "https://github.com/ufal/udpipe", "@type": "schema:SoftwareSourceCode"},
{ "@id": "http://example.org/research_product/RP_101", "@type": "skg:research_product"}
]
srv_contributions
List (optional) [Agents] that contributed to a [Service] (optional): A dictionary of objects representing contributing [Agents], where the semantics of the contributionis specified as a key. #TODO: THIS LIST OF CONTRIBUTION TYPES HAS TO BE MODFIED FOR SERVICE/SOFTWARE CONTRIBUTIONS #Recommended to use the specific properties such as “research_infrastructure”, “hosting_organisation” etc. to measure contribution of organisations. Individual person contributions of software developers, data managers etc. are well taken care under research-products. It is difficult to track individiual contributions to operations anyway
It is structured as follows:
"srv_contributions": [
{
"by": "University of Sheffield",
"role": "operator"
},
{
"by": "UK Research and Innovation agency",
"role": "funder"
}
]