Wimmics / solid-start

Projet SOLID Inria - Startin'blox
MIT License
1 stars 0 forks source link

Think about having a querying agent on each instance #24

Open lecoqlibre opened 6 months ago

lecoqlibre commented 6 months ago

On each instance, we could have an agent listening for incoming search requests.

Such a request could be like: GET http://search.localhost:8001/users?skills=12,33&city=toulouse (localhost:8001 represents the instance 1).

The agent would use comunica to query the indexes on its associated instance:

The app would be querying the whole federation like...:

...And gather the results like it want.

The agent discovery could be done thanks to a predicate in the instance WebID or anywhere else defined by the client-to-client standard.

The agent could advertise it's search URL thanks to a dedicated ontology.

The agent could implement LDP paging to return only a subset of the results. For instance, a querying app could ask for at most 5 users on each instance of the federation:

GET /users?skills=12,33&city=toulouse HTTP/1.1
Host: search.localhost:8001
Accept: text/turtle
Prefer: return=representation; max-triple-count="5"