HTTP Sparql Out
Ldio:HttpSparqlOut
The HTTP SPARQL Out component can be used to write data to a SPARQL host, with Virtuoso as the most common known one.
Config
Property | Description | Required | Default | Example | Supported values |
---|---|---|---|---|---|
endpoint | The url of the sparql host | Yes | N/A | http://localhost:8890/sparql | URL |
graph | The graph whereto must be written | No | N/A | http://example.graph.com | String |
skolemisation.skolemDomain | If the skolem domain is set, skolemisation will be triggered before the triples are written to the sparql host | No | N/A | http://example.org | Any valid IRI |
replacement.enabled | Whether the old nodes must be replaced by the new ones | No | true | false | Boolean value |
replacement.depth | How deep the default delete query must delete nested nodes from the existing subject, will be ignored if replacement.deleteFunction is set | No | 10 | 15 | Integer |
replacement.deleteFunction | If this property is set, then the default delete function will be overridden with this delete function | No | N/A | DELETE { ?s ?p ?o} WHERE { ?s ?p ?o } | String |
LDIO Http Requester properties
Authentication properties
Property | Description | Required | Default | Supported values | Example |
---|---|---|---|---|---|
auth.type | The type of authentication required by the LDES server | No | NO_AUTH | NO_AUTH, API_KEY or OAUTH2_CLIENT_CREDENTIALS | OAUTH2_CLIENT_CREDENTIALS |
auth.api-key | The api key when using auth.type ‘API_KEY’ | No | N/A | String | myKey |
auth.api-key-header | The header for the api key when using auth.type ‘API_KEY’ | No | X-API-KEY | String | X-API-KEY |
auth.client-id | The client identifier when using auth.type ‘OAUTH2_CLIENT_CREDENTIALS’ | No | N/A | String | myId |
auth.client-secret | The client secret when using auth.type ‘OAUTH2_CLIENT_CREDENTIALS’ | No | N/A | String | mySecret |
auth.token-endpoint | The token endpoint when using auth.type ‘OAUTH2_CLIENT_CREDENTIALS’ | No | N/A | HTTP and HTTPS urls | http://localhost:8000/token |
auth.scope | The Oauth2 scope when using auth.type ‘OAUTH2_CLIENT_CREDENTIALS’ | No | N/A | HTTP and HTTPS urls | http://localhost:8000/token |
Retry properties
Property | Description | Required | Default | Supported values | Example |
---|---|---|---|---|---|
retries.enabled | Indicates if the http client should retry http requests when the server cannot be reached. | No | true | Boolean value | true |
retries.max | Max number of retries the http client should do when retries.enabled = true | No | 5 | Integer | 100 |
retries.statuses-to-retry | Custom comma seperated list of http status codes that can trigger a retry in the http client. | No | N/A | Comma seperated list of Integers | 410,451 |
When retries are enabled, the following statuses are always retried, regardless of the configured statuses-to-retry:
- 429
- 5xx (500 and above)
Rate limit properties
Property | Description | Required | Default | Supported values | Example |
---|---|---|---|---|---|
rate-limit.enabled | Indicates if the http client should limit http requests when calling the server. | No | false | true or false | false |
rate-limit.limit | Limit of requests per period, which is defined below, that the http client should do when rate-limit.enabled = true | No | 500 | Integer | 100 |
rate-limit.period | Period in which the limit of requests, which is defined above, can be reached by the http client when rate-limit.enabled = true | No | PT1M | ISO 8601 Duration | PT1H |
Http headers
Property | Description | Required | Default | Supported values | Example |
---|---|---|---|---|---|
http.headers.[].key/value | A list of custom http headers can be added. A key and value has to be provided for every header. | No | N/A | String | role |
Example Http Requester config
config:
http:
headers:
- key: role
value: developer
- key: alt-role
value: programmer
auth:
type: API_KEY
api-key: my-secret
api-key-header: x-api-key
retries:
enabled: true
max: 10
statuses-to-retry: 410,451
rate-limit:
enabled: true
period: P1D
limit: 1000
Replacement
Replacement includes that all old nodes from certain subjects must be deleted before the new nodes with the same subject can be inserted.
By default, a delete query is constructed by the service that delete all nodes, including nested nodes to a level, specified by the replacement.depth
property, deep. If for some reason, the constructed delete query is not sufficient, or the query is too complex, a custom delete query can be configured. This query will override the default query created by the service, which also mean the replacement.depth
property will be ignored.
Skolemisation
Not all sparql hosts can deal that well with blank nodes, therefore, those nodes can first be skolemised. However, to skolemise nodes, a skolem domain is required, which can be set by the skolemisation.skolemDomain
property, which directly enables the service. More information about skolemisation can be found on the skolemisation-transformer page