Slide 1

Slide 1 text

!@ZVLJLBZVLJ (SBQI2-'FEFSBUJPO ৽ׁ8ΞϓϦέʔγϣϯษڧձ7PM-5

Slide 2

Slide 2 text

ࣗݾ঺հ w 5BLBZVLJ,BOFEB!@ZVLJLBZVLJ w גࣜձࣾ4QSPDLFU w ϑϩϯτΤϯυΤϯδχΞ w ࠷ۙ͸(PΛॻ͍͍ͯΔ

Slide 3

Slide 3 text

໨࣍ w (SBQI2-ͱ͸ w ϚΠΫϩαʔϏεߏ੒ͰͷόοΫΤϯυ w (SBQI2-'FEFSBUJPO

Slide 4

Slide 4 text

(SBQI2-ͱ͸ w ೥ʹ'BDFCPPL ݱ.FUB ʹΑͬͯެ։͞Εͨ"1*޲͚ΫΤϦݴޠɺϥϯ λΠϜ w ճͷϦΫΤετͰඞཁͳϦιʔεΛऔಘ͢Δ͜ͱ͕Ͱ͖Δ w εΩʔϚϑΝʔετͰ։ൃՄೳ

Slide 5

Slide 5 text

4DIFNB 2VFSZ 3FTQPOTF query { posts { id title } } { "data": { "posts": [ { "id": 1, "title": "title-1" }, { "id": 2, "title": "title-2" } ] } } 1045IUUQTFYBNQMFDPNHSBQIRM type Post { id: Int title: String content: String } type Query { post(id: Int): Post posts: [Post] } 4DIFNB 2VFSZ 3FTQPOTF

Slide 6

Slide 6 text

ϚΠΫϩαʔϏεߏ੒ͷόοΫΤϯυ w ϑϩϯτΤϯυͰ֤όοΫΤϯυΛୟ͘ w ϑϩϯτΤϯυͰ֤όοΫΤϯυΛೝ࣮ࣝͯ͠૷Λߦ͏ඞཁ͕͋Δ w ϑϩϯτΤϯυʹόοΫΤϯυ༻ͷಉ࣮͡૷͕૿͑Δ FHೝূͳͲ w #''૚ΛڬΉ w όοΫΤϯυΛ࣮૷ͨ͠Β#''ʹ΋ରԠͨ͠ίʔυ͕ඞཁ

Slide 7

Slide 7 text

ΫϥΠΞϯτ͕֤όοΫΤϯυΛୟ͘ߏ੒ #SPXTFS 6TFSTFSWJDF 1PTUTFSWJDF

Slide 8

Slide 8 text

#''ߏ੒ #SPXTFS #'' 6TFSTFSWJDF 1PTUTFSWJDF

Slide 9

Slide 9 text

(SBQI2-'FEFSBUJPO "QPMMP'FEFSBUJPO w "QPMMP͕։ൃ͍ͯ͠Δɺෳ਺ͷ(SBQI2-"1*Λ૊Έ߹Θͤͨεʔύʔάϥϑ Λ࡞੒͢ΔͨΊͷɺڧྗͰΦʔϓϯͳΞʔΩςΫνϟ w ϚΠΫϩαʔϏεͷ(SBQI2-ͷTDIFNBΛ૊Έ߹ΘͤͨεʔύʔάϥϑΛ࡞ ੒͢Δ͜ͱͰɺͭͷ(BUFXBZͷΤϯυϙΠϯτ͔Βશͯͷ(SBQI2-ͷϦι ʔε΁ΞΫηεͰ͖Δ w ࠓ೥ॳՆʹWʹͳͬͨ

Slide 10

Slide 10 text

(SBQI2-'FEFSBUJPOߏ੒ #SPXTFS 4VQFSHSBQI HBUFXBZ 6TFSTVCHSBQI 1PTUTVCHSBQI

Slide 11

Slide 11 text

4VQFSHSBQI4DIFNBͷ࡞੒ type User @key(fields: "id") { id: Int! name: String! } type Query { user(id: Int): User users: [User] } type Post { id: Int title: String content: String user: User } type User @key(fields: "id") { id: Int! } type Query { post(id: Int): Post posts: [Post] } type Post @join__type(graph: USERS) { id: Int title: String content: String user: User } type Query @join__type(graph: POSTS) @join__type(graph: USERS) { user(id: Int): User @join__field(graph: POSTS) users: [User] @join__field(graph: POSTS) post(id: Int): Post @join__field(graph: USERS) posts: [Post] @join__field(graph: USERS) } type User @join__type(graph: POSTS, key: "id") @join__type(graph: USERS, key: "id") { id: Int! name: String! @join__field(graph: POSTS) } 4VQFSHSBQI4DIFNB 6TFS4DIFNB 1PTU4DIFNB 3PWFS$-*

Slide 12

Slide 12 text

2VFSZ 3FTQPOTF query { posts { title user { name } } } { "data": { "posts": [ { "title": "title-1", "user": { "name": "taro" } }, { "title": "title-2", "user": { "name": "jiro" } } ] } } 1045IUUQTFYBNQMFDPNHSBQIRM 2VFSZ 3FTQPOTF

Slide 13

Slide 13 text

(SBQI2-'FEFSBUJPOͷϝϦοτ w ෳ਺(SBQI2-αʔϏε͕͋ͬͯ΋ճͷϦΫΤετͰϦιʔεΛऔಘͰ͖Δ w 3&45ʹର͢Δڧྗͳར఺ΛγϯϓϧͳܗͰҡ࣋Ͱ͖Δ w (SBQI2-αʔϏεͷ࣮૷ʹूதͰ͖Δ w ΫϥΠΞϯτɾ#''౳Λҙࣝ͠ͳͯ͘ྑ͍ w ෳ਺νʔϜ͕νʔϜݸผͷόοΫΤϯυ։ൃʹϑΥʔΧεͰ͖Δ

Slide 14

Slide 14 text

ಋೖ࣌ͷϙΠϯτ ͩͱߟ͍͑ͯΔͱ͜Ζ w TVQFSHSBQIHBUFXBZ͕ࢀর͢ΔTDIFNBࣗମͷ؅ཧ w ৗʹTVQFSHSBQITDIFNBΛߏ੒Մೳ͔Λݕࠪ͠ଓ͚Δඞཁ͕͋Δ w ΑΓεΩʔϚϑΝʔετͳ։ൃͷྲྀΕʹ w TVCHSBQIσϓϩΠޙʹTVQFSHSBQIHBUFXBZ͕ࢀর͢ΔTDIFNBͷߋ৽ w HBUFXBZ͸(SBQI2-ΫΤϦΛཧղ͢Δݡ͍ࢠͳͷͰɺσϓϩΠʹΑͬͯ TVCHSBQIͰར༻Մೳͳঢ়ଶʹͳͬͯ΋ɺHBUFXBZ͕ࢀর͢ΔTDIFNB͕ TVCHSBQIͰར༻Մೳʹͳ߲ͬͨ໨Λ൓ө͍ͯ͠ͳ͍৔߹ɺΫϥΠΞϯτ͔Β͸࢖ ༻Ͱ͖ͳ͍

Slide 15

Slide 15 text

8FBSFIJSJOH 4FBSDIGPS<4QSPDLFU'PSLXFMM>POHPPHMF