An Introducon to GraphQL Tutorial at ISWC 2019, October 27, 2019 4. Fundamental Properes Olaf Harg a , Ruben Taelman b (a) Dept. of Computer and Informaon Science, Linköping University, Sweden (b) Ghent University – imec – IDLab, Belgium Joint work with Jorge Pérez from the Universidad de Chile Based on: O Hartig and J Pérez: Semantics and Complexity of GraphQL. In Proceedings of The Web Conference 2018 (WWW 2018).
58
Embed
4. Fundamental Properties · An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query Language Tutorial at ISWC 2019, October 27, 2019 Olaf Hartig ... Github’s
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
An Introduction to GraphQLTutorial at ISWC 2019, October 27, 2019
4. Fundamental PropertiesOlaf Hartiga, Ruben Taelmanb
(a) Dept. of Computer and Information Science, Linköping University, Sweden
(b) Ghent University – imec – IDLab, Belgium
Joint work with Jorge Pérezfrom the Universidad de Chile
Based on: O Hartig and J Pérez: Semantics and Complexity of GraphQL. In Proceedings of The Web Conference 2018 (WWW 2018).
2An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
3An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Our Contributions in a Nutshell
Formal definition of the language
Study of computational complexity(the language admits really efficient evaluation methods)
Solution to the problem of large results
4An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
How is the language defined in the spec?
5An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
How is the language defined in the spec?
6An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
How is the language defined in the spec?
7An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
How is the language defined in the spec?
8An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
How is the language defined in the spec?
Formalization of GraphQL
10An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
11An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
Typed nodes
12An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
Typed nodes
One special node
13An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
Typed nodes
One special node
Node properties
14An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
Typed nodes
One special node
Node properties
Edge properties
15An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
GraphQL Graphs (Our Formalization)
Typed nodes
One special node
Node properties
Edge properties
We also formalize the notions of GraphQL schema and schema satisfaction based on this data model
16An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
17An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
⟦friends { name }⟧u =
18An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
= friends: [ ]⟦friends { name }⟧u
19An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
friends: [ { ⟦name⟧v} { ⟦name⟧w} ]=⟦friends { name }⟧u
20An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
= friends: [ {name:R2-D2} {name:Han} ]⟦friends { name }⟧u
21An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
⟦ ⟧hero[episode:EMPIRE] { friends {name} }
22An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig
Formalization of Query Evaluation Function
⟦ ⟧rhero[episode:EMPIRE] { friends {name} }
23An Introduction to GraphQL 4. Fundamental Properties of the GraphQL Query LanguageTutorial at ISWC 2019, October 27, 2019 Olaf Hartig