من حسین کورائی در این مقاله قصد دارم به اختصار به نحوه‌ی پیاده‌سازی Neo4j و استفاده از GraphQl در پروژه خود بپردازم. در صورتی‌که با مفاهیم نام برده آشنا نیستید پیشنهاد می‌کنم پیش از خواندن این مثال، حتماً مقاله‌های Neo4j  و GraphQl را مشاهده نمایید.

 

 

مقدمه

ما در این مقاله از زبان جاوا و فریم ورک spring برای پیاده‌سازی استفاده می‌کنیم. راهنمایی‌های لازم جهت دانلود، نصب و کانفیگ Neo4j را می‌توانید از سایت Neo4j بگیرید. همچنین از نرم‌افزار Neo4j Browser که برای ساده‌سازی کار با دیتا استفاده می‌شود، بهره بردیم. شما می‌توانید نسخه‌های متناسب با نیاز خود را از لینک دانلود نمایید.

 

شرح مثال

در این مثال می‌خواهیم نشان دهیم هر شرکت خودروسازی چه خودروهایی تولید نموده و هر خودرو چه اسپانسری دارد. همچنین هر اسپانسر جداگانه می‌تواند مالک یک خودرو باشد.

 

مرحله اول

ابتدا وابستگی‌های مورد نیاز را به پروژه خود اضافه می‌کنیم.

 

مرحله دوم

کلاس‌های خود را مشخص کرده و با @Node آن‌ها را به عنوان Node در نظر می‌گیریم.

کلاس Company :

 

کلاس Car :

 

و کلاس Sponsor :

 

مرحله سوم

در این مرحله سعی میکنیم با دیتای درون برنامه اعمال CRUD انجام دهیم.

 

همان‌طور که مشاهده می‌کنید برای پیدا کردن یک نود و یا لیستی از نود ها می‌توانید از دو روش استفاده نمایید. روش اول استفاده از امکانی که Neo4j در اختیار ما قرار داده و تنها با درج نام تابع به این صورت findByName نود هدف را با ورودی نام آن می‌یابد. در صورتی‌که دو نود دارای نام یکسانی باشند، اولین نود یافت شده را بازگردانی می‌کند. روش دوم استفاده از @Query  است. در این روش که دقیق‌تر و کامل‌تر است می‌توانیم نود هدف خود را بیابیم. که در مقاله‌های بعد مفصل در خصوص کوئری زدن در Neo4j صحبت خواهیم کرد.

برای پیاده‌سازی سایر اعمال مانند اضافه‌کردن نود و حذف آن، در لایه سرویس از توابع save و delete استفاده می‌کنیم. برای درک بهتر، لطفاً قطعه کد زیر را مشاهده نمایید.

 

 

 

شما می‌توانید پروژه مربوطه را از لینک گیت هاب دریافت نمایید.

 

و در آخر

وبسایت میربزرگی قصد دارد تا با ارائه مقاله ها و تجربه‌های کاربردی شما را در زمینه یادگیری و رفع اشکالاتتان کمک کند. در صورت وجود هرگونه سوالی به من ایمیل بزنید.

ارسال دیدگاه

20 − 11 =

این جا قراره با هم زبان برنامه نویسی جاوا رو یاد بگیریم. اگه جواب سوالتو توی مقاله ها پیدا نکردی، میتونی بهم ایمیل بزنی تا راهنماییت کنم. اگر موضوعاتی رو پیشنهاد داری حتما برام بفرست. منتظر ایمیلتم

پیام با موفقیت ثبت شد.
خطایی رخ داده است.