شروع با زبان پرس و جو سایفر: راهنمای مبتدیان
Cypher یک زبان پرس و جو گراف اعلانی است که برای پرس و جو و دستکاری داده های گراف در آن استفاده می شود پایگاه داده Neo4j. اگر با پایگاه داده های نموداری و Cypher تازه کار هستید، این پست وبلاگ برای شما مناسب است. ما اصول اولیه Cypher را پوشش خواهیم داد، از جمله ایجاد گره ها و روابط، استفاده از برچسب ها و ویژگی ها، فیلتر کردن داده ها، و انجام تجمیع. ما همچنین نمونههایی از موارد استفاده متداول برای Cypher، مانند جستجو در شبکههای اجتماعی یا پایگاههای داده تجارت الکترونیک را درج خواهیم کرد.
Cypher چیست و چرا مهم است؟
Cypher یک زبان پرس و جو است که به طور خاص برای پایگاه های داده گراف طراحی شده است. این یک ابزار قدرتمند برای کار با داده ها در قالب نمودار است که به توسعه دهندگان این امکان را می دهد تا به سرعت و به راحتی ساختارهای داده پیچیده را جستجو و دستکاری کنند. Cypher یک زبان اعلانی است، به این معنی که شما به سادگی به آن می گویید که چه چیزی را می خواهید بازیابی یا تغییر دهید، و او از بقیه مراقبت می کند. این یک انتخاب عالی برای توسعه دهندگانی می کند که نیاز به کار با ساختارهای داده پیچیده دارند اما نمی خواهند زمان زیادی را صرف نوشتن پرس و جوهای پیچیده SQL کنند.
Apache AgeDB چگونه از Cypher استفاده می کند؟
Apache AgeDB یک پایگاه داده گراف توزیع شده است. یکی از ویژگی های کلیدی AgeDB پشتیبانی آن از زبان پرس و جو Cypher است که به توسعه دهندگان امکان پرس و جو و دستکاری داده های نمودار را به شیوه ای اعلامی آسان می کند. با Cypher، توسعهدهندگان میتوانند به راحتی گرهها و روابط ایجاد کنند، دادهها را بر اساس برچسبها و ویژگیها فیلتر کنند، تجمیعها را انجام دهند و حتی برای یافتن الگوها یا خوشهها از نمودار عبور کنند. با استفاده از Cypher، AgeDB یک رابط کاربر پسند برای توسعه دهندگان فراهم می کند تا با داده های نمودار کار کنند و بینش هایی را باز کنند که ممکن است با پایگاه داده های رابطه ای سنتی امکان پذیر نباشد.
ایجاد گره ها و روابط
در Cypher، گره ها نشان دهنده موجودیت ها در نمودار شما هستند، در حالی که روابط نشان دهنده ارتباطات بین آن موجودیت ها هستند. برای ایجاد یک گره، شما به سادگی از عبارت CREATE و به دنبال آن از برچسب گره و هر ویژگی که می خواهید به گره اختصاص دهید استفاده کنید. در اینجا یک مثال است:
CREATE (person:Person {name: "Abdul Samad", age: 35})
این یک گره جدید با برچسب “Person” و ویژگی های “name” و “age” ایجاد می کند. برای ایجاد رابطه بین دو گره، از عبارت MATCH و به دنبال آن گره هایی که می خواهید به هم متصل شوند و نوع رابطه استفاده می کنید. در اینجا یک مثال است:
MATCH (person1:Person {name: "Abdul Samad"}), (person2:Person {name: "Muhammad Ali"}) CREATE (person1)-[:FRIEND]->(person2)
این امر رابطه جدیدی بین گره های «عبدالصمد» و «محمد علی» با نوع رابطه «FRIEND» ایجاد می کند.
استفاده از برچسب ها و خواص
از برچسب ها برای گروه بندی گره ها بر اساس نوع استفاده می شود، در حالی که از ویژگی ها برای ذخیره داده های مربوط به هر گره استفاده می شود. در Cypher، می توانید از برچسب ها و ویژگی ها برای فیلتر کردن داده ها یا انجام تجمیع استفاده کنید. در اینجا نمونه ای از استفاده از برچسب ها و ویژگی ها آورده شده است:
MATCH (person:Person) WHERE person.age > 30 RETURN person.name, person.age
این پرس و جو همه گره های با برچسب “Person” و ویژگی “age” بیشتر از 30 را پیدا می کند و نام و سن هر فرد را برمی گرداند.
فیلتر کردن داده ها و انجام تجمیع
Cypher از طیف گسترده ای از توابع فیلتر و تجمع پشتیبانی می کند و به شما امکان می دهد با داده های خود به روشی انعطاف پذیر کار کنید. در اینجا چند نمونه آورده شده است:
MATCH (person:Person)-[:FRIEND]->(friend:Person) WHERE person.name = "Abdul Samad" RETURN count(friend)
این پرس و جو تعداد دوستانی را که «عبدالصمد» در نمودار دارد می شمارد.
MATCH (person:Person) RETURN avg(person.age), max(person.age), min(person.age)
این پرس و جو میانگین، حداکثر و حداقل سن همه گره ها را با برچسب “Person” برمی گرداند.
موارد استفاده رایج برای Cypher
Cypher یک ابزار قدرتمند برای کار با داده های نمودار است و در طیف گسترده ای از صنایع و برنامه های کاربردی استفاده می شود. در اینجا چند مورد استفاده رایج آورده شده است:
-
شبکه های اجتماعی: Cypher می تواند برای یافتن ارتباط بین کاربران در شبکه های اجتماعی مانند دوستان یا دنبال کنندگان استفاده شود.
-
تجارت الکترونیک: از Cypher می توان برای یافتن الگوهایی در رفتار خرید یا توصیه های محصول استفاده کرد.
-
تشخیص تقلب: Cypher می تواند برای شناسایی رفتارهای متقلبانه در معاملات مالی با تجزیه و تحلیل الگوها و روابط موجود در داده ها استفاده شود.
نتیجه
در این پست وبلاگ، ما یک راهنمای مبتدی برای Cypher، زبان پرس و جو گراف اعلانی که برای پرس و جو و دستکاری پایگاه داده داده های گراف استفاده می شود، ارائه کرده ایم. ما اصول اولیه نوشتن پرسوجوهای Cypher، از جمله ایجاد گرهها و روابط، استفاده از برچسبها و ویژگیها، فیلتر کردن دادهها و انجام تجمیعها را پوشش دادهایم. ما همچنین نمونههایی از موارد استفاده متداول برای Cypher، مانند جستجو در شبکههای اجتماعی یا پایگاههای اطلاعاتی تجارت الکترونیک را درج کردهایم. با تسلط بر Cypher، توسعه دهندگان می توانند به طور موثر با ساختارهای داده گراف پیچیده کار کنند و بینش هایی را باز کنند که ممکن است با پایگاه داده های رابطه ای سنتی امکان پذیر نباشد.