ModApiProvider

MOD API.

MOD (Metadata Object Description) is a service that provides access to metadata artifacts such as vocabularies, concept schemes, and related resources via a RESTful API.

initialization example:

{
  provider: "ModApi",
  language: "en",           // language to use for labels and descriptions. if no language is given in mod, it defaults to "en"
  cleancontext: true,       // if true, the @context element will be cleaned up to remove unnecessary keys
  <feature removed> transformation: "manual", // "jsonld" for conversion via jsonld-concept or "manual" for manual conversion
  uri: "https://terminology.services.base4nfdi.de/api-gateway" // "http://localhost:8080/api-gateway" if api-gateway is running locally
}

Constructor

new ModApiProvider()

Extends

Members

(readonly) has :Object

A dictionary with functionality of the registry (e.g. registry.has.schemes).

Type:
  • Object
Inherited From

languages :Array.<string>

A list of RFC 3066 language tags in lowercase in order of priority.

Type:
  • Array.<string>

Methods

(async) deleteMappings(config) → {Array.<Object>}

DELETEs multiple mappings. Do not override in subclass!

Parameters:
NameTypeDescription
configObject
Properties
NameTypeDescription
mappingsArray

array of mapping objects

Returns:

array of results (true if successful); in case of failure, consult the _errors property on the array at the index of the failed request

Type: 
Array.<Object>

getCancelTokenSource() → {Object}

Returns a source for a axios cancel token.

Returns:

axios cancel token source

Type: 
Object

(async) getConcepts(params) → {Promise.<Array>}

Retrieves all concepts from the MOD API.

Parameters:
NameTypeDescription
paramsObject

The options object.

Properties
NameTypeAttributesDescription
conceptsArray.<string>

List of concept objects to request specific concepts.

schemestring

A scheme object to request concepts from a specific scheme.

limitnumber<optional>

Optional limit for results when requesting concepts from a scheme.

_configObject<optional>

Additional config options.

Returns:

An array of JSKOS concepts.

Type: 
Promise.<Array>

getMappings() → {Array}

Retrieves an array of mappings.

Returns:

An array containing mapping objects.

Type: 
Array

(async) getSchemes(paramsopt) → {Promise.<Array>}

Retrieves all concept schemes from the MOD API.

Parameters:
NameTypeAttributesDefaultDescription
paramsObject<optional>
{}

Optional parameters for the request.

Returns:

An array of JSKOS concept schemes.

Type: 
Promise.<Array>

(async) init() → {Promise}

Load data about registry via the status endpoint.

Inherited From
Returns:

Promise that resolves when initialization is complete.

Type: 
Promise

isAuthorizedFor(options) → {boolean}

Returns whether a user is authorized for a certain request.

Parameters:
NameTypeDescription
optionsObject
Properties
NameTypeAttributesDescription
typestring

type of item (e.g. mappings)

actionstring

action to be performed (read/create/update/delete)

userObject

user object

crossUserboolean<optional>

whether the request is a crossUser request (i.e. updading/deleting another user's item)

Returns:
Type: 
boolean

(async) postMappings(config) → {Array.<Object>}

POSTs multiple mappings. Do not override in subclass!

Parameters:
NameTypeDescription
configObject
Properties
NameTypeDescription
mappingsArray

array of mapping objects

Returns:

array of created mapping objects; in case of failure, consult the _errors property on the array at the index of the failed request

Type: 
Array.<Object>

setAuth(options)

Sets authentication credentials.

Parameters:
NameTypeDescription
optionsObject
Properties
NameTypeDescription
keystring

public key of login-server instance the user is authorized for

bearerTokenstring

token that is sent with each request

Inherited From

setRetryConfig(config)

Sets retry configuration.

Parameters:
NameTypeDescription
configObject
Properties
NameTypeAttributesDefaultDescription
methodsArray.<string><optional>
["get", "head", "options"]

HTTP methods to retry (lowercase)

statusCodesArray.<number><optional>
[401, 403]

status codes to retry

countnumber<optional>
3

maximum number of retries

delaynumber | function<optional>
300*count

a delay in ms or a function that takes the number of current retries and returns a delay in ms

(async) suggest(config) → {Array}

Returns suggestion result in OpenSearch Suggest Format.

Parameters:
NameTypeDescription
configObject
Properties
NameTypeAttributesDefaultDescription
searchstring

search string

schemeObject<optional>

concept scheme to search in

limitnumber<optional>
100

maximum number of search results (default might be overridden by registry)

typesArray.<string><optional>
[]

list of type URIs

Inherited From
Returns:

result in OpenSearch Suggest Format

Type: 
Array

supportsScheme(scheme) → {boolean}

Returns a boolean whether a certain target scheme is supported or not.

Parameters:
NameTypeDescription
schemeObject
Returns:
Type: 
boolean