Resource Paths

Paths allow Linked Data Resources to traverse the raw output of any proper external source consistently. Each Path collects and prepares the data that is to be presented by a Linked Data Resource. These Paths allow different Linked Data Resources to streamline their diverse and originally incompatible external sources. The syntax of a Path follows the baseline of JSON.

A Path can be defined as a single-source Path or a multi-source Path. Single-source Paths are Paths that output a value that represents a single source (i.e. represents a value for one 'Object').

{"entities": {"Q106079697": {"id": ""}}}

When a Resource outputs multiple sources (i.e. multiple 'Objects') a Path needs at least one iteration [] for it to group these sources. When multiple iterations are part of a Path, the first iteration will be the indicator for grouping to a source, the deeper/nested iterations will add to that initialised group.

{"entities": {"[]": {"id": ""}}}

Syntax  

Elaborate example:

{
  "Page": {
    "TextRegion": {
      "[]": {
        "TextLine": {
          "[*]Unicode": "join: "
        }
      }
    }
  }
}

Options  

{"key": ""}Description
stringAccess a specific key-value in a dictionary.
numberAccess a specific position in an array.
[]Iterate over all keys of either an array or dictionary.
[*]stringIterate recursively over any deeper/nested keys that match the given string.
{"": value}Description
: {"Access the dictionary at this position.
: ""Collect any value.
: {}Collect the dictionary.
: []Collect the array.
: "key"Collect the key-value instead of the value.
: "json"Collect the value and format the value as JSON.
: "empty"Collect the value also when empty.
: "join:?"Collect the value and in post-processing join the values together as a string with a separator ?.