Open srosset81 opened 3 years ago
Ruben avait publié cet article au sujet de GraphQL & LDP ;) https://ruben.verborgh.org/publications/taelman_iswc_demo_2018/ / https://comunica.github.io/Article-ISWC2018-Demo-GraphQlLD/
Ruben n'attaque pas la même problématique. Il propose un outil (disponible ici) qui permet de requêter un serveur SPARQL en utilisant un format similaire à celui de GraphQL (il n'y a d'ailleurs aucun lien avec LDP). Ici je propose de transformer un serveur GraphQL existant en un serveur LDP (donc dans l'autre sens).
Il est vrai que les deux noms peuvent être confondus (GraphQL-LD vs GraphQLDP), il faudra peut-être y repenser.
Aah oui j'avais remarqué que c'atait avec du sparql, je ne sais pas pourquoi j'ai mis LDP ...
Idée: transformer un API GraphQL en serveur LDP, avec ses containers et ses ressources.
Pourrait servir pour ouvrir en sémantique les données de toutes les instances Mobilizon, Open Collective, Github, et beaucoup d'autres services.
Par exemple si on POST sur https://mobilizon.fr/api cette requête (potentiellement via l'interface https://mobilizon.colibris-outilslibres.org/graphiql):
On obtient tous les événements Mobilizon de l'instance de Framasoft:
Pour de la lecture, il suffirait de proposer un container LDP
/events
qui renverrait ces données sous forme depair:Event
(par exemple). En terme de configuration, il suffirait d'indiquer le mapping entre données non-sémantiques et sémantiques. Grâce à GraphQL, on ne demanderait que les données qu'on veut mapper.On pourrait ensuite aggréger les données sur une instance SemApps (https://github.com/assemblee-virtuelle/semapps/issues/674)
Pour de l'écriture, ça demanderait de faire appel à des mutations GraphQL et de gérer l'authentification correctement. Plus compliqué mais pas impossible.