Proposal: graphql for retrieving, updating turtle documents
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 18/100
Piste de recherche
Commencez par examiner l’API SPARQL existante du dépôt et la manière dont les documents Turtle sont récupérés et mis à jour. Comparez les requêtes et mutations GraphQL demandées avec la surface actuelle de l’API, l’authentification et les contrôles de confidentialité. La réalisation nécessiterait de convenir d’un périmètre et d’un plan d’implémentation pour la prise en charge de GraphQL, mais cet issue n’indique ni fichiers, ni tests, ni première modification concrète.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I know this might be a bit controversial (it is maybe seen as redundant burden) but it has some advantages:
1. search
Currently implementing a search would require to search all documents for the specific values to conform the sparql requirements. Implementing a search in graphql is very easy:
you tag every document with some metadata and can search through the metadata
2. custom actions (mutations)
The sparql Syntax allows just a limited set of operations. In graphql you can add Operations (mutations).
This might be handy for creating actions like "encrypt content for pod with public keys specified in pod" or "ping owner of pod".
3. privacy
Sparql searches are very expressive. This way it is harder to track which operations should be restricted and how to not leak metainformations. In graphql you can customize the search like in rest.
- a solution would be to prefilter the query and only allow rdf operations on the filtered query
4. reuse libraries, simpler implementation
There are already some libraries for graphql which can be easily adapted for own needs. Also you can define which APIs you expose and how. This makes authentication easier and also allows triggers for events like: "document was queried".
Also it allows an bottom-up approach which is helpful for creating prototypes.
5. documentation
Graphql is self-documenting. You can have an autogenerated documentation.
Nomenclature
- Document: a turtle file
- SPARQL: typically used query language for rdf documents.
- GraphQL: a query language created by facebook
Opinions?
Is there a way to extend sparql for supporting custom actions?
- Yes there is a way
- Langage dominant
- JavaScript
- Étoiles
- 1.8k
- Forks
- 308
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de nodeSolidServer/node-solid-server
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
nodeSolidServer/node-solid-server#1848 · 2 commentaires · 1 réaction ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nodeSolidServer/node-solid-server#1841 · 2 commentaires ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
nodeSolidServer/node-solid-server#1147 ·
-
remove bootstrap dependency Ouverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
nodeSolidServer/node-solid-server#1867 ·
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 45/100
nodeSolidServer/node-solid-server#1853 ·
Toutes les issues de nodeSolidServer/node-solid-server
Issues similaires
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
githubnext/gh-aw-workshop#3692 ·
-
agent/guide documentation hive/hosted-available-lke648397-260827-5n31
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
-
Add: BuyPass TV Ouvertechannels:add check:passed
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
S: triage
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 78/100