Here we have the fuseki GUI as the client (Local). The Fuseki server is running at localhost:3030 (Remote_0). We then use a custom SPARQL endpoint to get outliers (Remote_1). This data is gathered from an API (Remote_2). We don't use the optional Remote_3.
sequenceDiagram
Local->>+Remote_0: SPARQL Query
Note over Local,Remote_0: TODO INSERT Query
opt Remote data
Remote_0->>+Remote_1: SPARQL Data SubQuery
opt API call
Remote_1->>+Remote_2: Outlier service call
Remote_2-->>-Remote_1: Outlier data
end
Remote_1-->>-Remote_0: SubQuery Data
end
opt Remote data
Remote_0->>+Remote_3: SPARQL Data SubQuery
Remote_3-->>-Remote_0: SubQuery Data
end
Remote_0-->>-Local: Query Data
Note over Remote_0,Local: TODO INSERT Data