Linked Data

Linked Data Resources allow you to query API services or SPARQL endpoints. Linked Data Resources support reading JSON, XML, YAML, and raw text.

Linked Data Resources can be used as a Source in an Ingestion Process, or can be assigned to a Description that has been set as 'External' in your Data Model.

To add a Linked Data Resource, click 'Add Linked Data Resource'.

To edit an existing Linked Data Resource, click the blue 'edit' button at the relevant Linked Data Resource.

To delete an existing Linked Data Resource, click the red 'del' button at the relevant Linked Data Resource.

Add / Edit a Linked Data Resource  

NameSpecify the name of the Linked Data Resource. This name is used to identify the Linked Data Resource.
DescriptionEnter a short description of the Linked Data Resource for your own reference.
ProtocolSpecify whether the Linked Data Resource will be using API requests, SPARQL queries, or if it is a static link.
URLEnter a URL for the Linked Data Resource (e.g. https://query.wikidata.org/sparql?query=, or https://lobid.org/gnd/).
URL OptionsEnter URL Options for the specified URL (e.g. '&format=json', or '.json').
URL HeadersEnter URL Headers for the request (e.g. 'Authorization' with 'Bearer MyAuthorizationKey').
QueryEnter a Query. Use a query you have tested with the API service or SPARQL endpoint. This query should return the identifiers and labels of the data you are interested in. To use this query in as a Linked Data Resource, you can use tags to specify which parts of the query will be changed by the input of the user who uses this Linked Data Resource. A simple SPARQL query like this example: SELECT ?subject ?label WHERE { ?subject rdfs:label ?label . FILTER (CONTAINS(?label, 'x')) . } will have to be changed into SELECT ?subject ?label WHERE { ?subject rdfs:label ?label . [query=name] FILTER (CONTAINS(?label,'[variable]x[/variable]')) . [/query] } in order for the Linked Data Resource to know that the value of the ?label can be set by the user.
  • [query=name] with at least one [variable] tag is mandatory and is used for initial/quick searches.
  • Additional [query=x] tags can be used to perform advanced filtering, everything in between is removed when not filtered on.
  • Multiple [query=x] tags can exist that share the same x.
  • [variable=y] can be used to label variables.
  • [variable=y:uri-identifier] is a typed variable that is able to map a full URI to the identifier based on the URI template (e.g. 'http://uri.host/1234/' to '1234').
  • Multiple [variable] or [variable=y] tags can exist in a single [query] that optionally share the same y.
  • For the API protocol, the inclusion of [[offset]] and [[limit]] or [[limit=n]] tags is mandatory.

Click the green 'test' button to test the Query and to generate a response.

ResponseIf the query was successful, the query Response field will be populated with the response of the query.

Click the green 'use' button to use the response to specify the URI, Label, and Values.

URI TemplateEnter a URI Template to be used to construct the URI in case the URI only returns an identifier (e.g. https://d-nb.info/gnd/[[identifier]]). This setting can be combined with a [variable=id:uri-identifier] tag in in the 'Query' input field to locate the part of the URI that contains the identifier.
URISelect the field in the response that contains the URI. The field selector has to be formatted as a Resource Path and can optionally be processed by a Conversion.
LabelSelect the field in the response that contains the Label. The field selector has to be formatted as a Resource Path and can optionally be processed by a Conversion.
ValuesSelect additional fields in the response that can be ingested in an Ingestion Process, or that will be shown as Values in the overview of returned External objects. Click the green 'add' button to add additional drop-down menus. Click the red 'del' button to remove empty drop-down menus. The field selector has to be formatted as a Resource Path and can optionally be processed by a Conversion.