federation_example.md 1.3 KB

Concept for a federated example

Local:

  • User client (Rosetta, Code, Terminal, ...)

Remote_0:

  • Fuseki instance (First and main SPARQL endpoint)

Remote_1:

  • Custom service SPARQL endpoint

Remote_2:

  • Heterogeneous data source vault (tabular)

Remote_3:

  • Heterogeneous data source (other)

Example fuseki query

Drag Racing

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.

Visual

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