গ্রাফকিউএলে "কিনারা" এবং "নোড" এর অর্থ কী?


104

আমি একটি নির্দিষ্ট গ্রাফকিউএল এন্ডপয়েন্ট ব্যবহার করছি এবং যদিও আমি যখন একটি ফলাফল পেয়েছি তখন আমি "প্রান্তগুলি" এবং "নোড" ট্যাগগুলি পেয়েছি একটি অনুসন্ধান হিসাবে একটি পরিষ্কার JSON কাঠামো সরবরাহ করছি। দেখে মনে হচ্ছে এটি কোনও সুস্পষ্ট সুবিধা ছাড়াই আমার ডেটা দূষিত করছে। এটি কেন আছে এবং কীভাবে ডেটা দ্রুত এবং সরলভাবে পার্সিংয়ের জন্য এগুলি থেকে মুক্তি পাওয়া সম্ভব?


4
সংযোগ, প্রান্ত এবং নোডগুলি মূলত গ্রাফিকুএল ক্লায়েন্টের রিলে প্রসঙ্গে ব্যবহৃত হয় termin এই FAQ এ আরও তথ্য পাওয়া যাবে ।
মার্কতানি

4
কেবল পরিষ্কার করার জন্য: সংযোগগুলি কোনও রিলে-নির্দিষ্ট জিনিস নয়। : একটি মধ্যে গভীরতা বর্ণন জন্য, এই নিবন্ধটি দেখুন medium.com/p/explaining-graphql-connections-c48b7c3d6976
Helfer

ফলাফলগুলির দীর্ঘ তালিকাগুলির জন্য পেজিং সরবরাহের এটি কিছুটা স্ট্যান্ডার্ড উপায়। কোনও বাস্তবায়নের সাথে আবদ্ধ নয়।
ম্যাট

উত্তর:


64

আসুন সহজ কথায় সংক্ষিপ্ত পরিচিতি দিয়ে শুরু করি


গ্রাফকিএল রিলে নির্দিষ্টকরণ

  • কোনও বস্তুর পুনঃনির্ধারণের জন্য প্রক্রিয়া
  • সংযোগের মাধ্যমে কীভাবে পৃষ্ঠা করবেন তার বিবরণ
  • পরিবর্তনগুলির আশেপাশে কাঠামো তাদের অনুমানযোগ্য করে তুলতে

সংযোগগুলি:

  • সংযোগ হ'ল মেটাডেটা সহ অবজেক্টগুলির সংকলন যেমন edges, pageInfo...
  • pageInfo উপস্থিত থাকবে hasNextPage, hasPreviousPage, startCursor,endCursor

    • hasNextPage যদি আরও প্রান্ত উপলব্ধ থাকে বা আমরা যদি এই সংযোগের শেষে পৌঁছেছি তবে আমাদের বলবেন।
  • রেকর্ডের অ্যারে: প্রান্তগুলি

    • প্রান্তগুলি আপনাকে আপনার ডেটা (নোড) ব্যবহারের জন্য নমনীয়তা সরবরাহ করবে
    • প্রান্তগুলি পৃষ্ঠাগুলির জন্য আপনাকে সহায়তা করবে, গ্রাফিক্যেল আছে তবে পৃষ্ঠাগুলির GraphQLListমতো কার্যকারিতা নেই, কেবলমাত্র বস্তুর অ্যারে (ডেটা)
  • প্রতিটি প্রান্ত আছে

    • একটি node: একটি রেকর্ড বা একটি তথ্য
    • একটি cursor: পৃষ্ঠা 64 র সাথে রিলে সহায়তা করতে বেস 64 এনকোডড স্ট্রিং

https://facebook.github.io/relay/ographicql/connections.htm

নোড:

  • রিলে ব্যবহার করে আপনার প্রয়োজনীয় নোডের সংখ্যা সেট করতে পারেন connectionArgs(first, last, after, before)

রিলে পৃষ্ঠারূপ হিসাবে কাজ করে

  • সংগ্রহের সমস্ত অবজেক্ট সংগ্রহ করে এবং সংযোগআর্গের first/lastমাধ্যমে ব্যবহৃত এক্স রেকর্ডের উপর ভিত্তি করে একটি স্লাইস প্রদান করে

  • after/before গ্রাফকিউএল সার্ভারকে নোড থেকে কার্সার ব্যবহার করে প্রয়োজনীয় স্লাইস (ডেটা) সংখ্যা নির্দেশ করতে ব্যবহৃত হয়

আরো অনেক কিছু মত বিবেচনা করতে হয় nodeDefinitions, globalFieldId,nodeInterfaces

https://github.com/ographicql/ographicql-relay-js#object- সনাক্তকরণ


17
আমি মনে করি এই উত্তরটির মূল বক্তব্য রয়েছে তবে এতে অনেকগুলি ভুল ধারণা রয়েছে। এই নিবন্ধটি চমত্কার GraphQL সংযোগ পিছনে যুক্তি ব্যাখ্যা করেছেন: medium.com/p/explaining-graphql-connections-c48b7c3d6976
Helfer

6
আপনি কোথায় ভুল ধারণাগুলি খুঁজে পান, এটি কেবল একটি সংক্ষিপ্ত তথ্য, যদি আপনি কোনও ভুল ধারণা পেয়ে থাকেন তবে এটি আরও উন্নত করতে আপনি সর্বদা এটি উন্নত করতে পারেন
p0k8_

আমি কি গ্রাফিক্যাল ইউআইয়ের মাধ্যমে এই নির্মাণগুলি নিয়ে কাজ করতে পারি ? উদাহরণস্বরূপ, নেক্সটপেজ , বা এগুলি কেবল রিলে সহ জেএসের মাধ্যমে উপলব্ধ?
স্কা

হ্যাঁ, আপনি গ্রাফিক্যাল-রিলে ব্যবহার করে গ্রাফিকল ইউআই থেকে এগুলি নিয়ে কাজ করতে পারেন
p0k8_

না each node will have a cursor, বরং each edge will have a cursor, সেই ব্লগ.অ্যাপলোগ্রাফক্লু.ল.কে
বাতাস দিন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.