Cypher: Versiyalar orasidagi farq
Kontent oʻchirildi Kontent qoʻshildi
Vikichizar (munozara | hissa) k Vikichizar Kiber (so'rovlar tili) sahifasini Cypherga koʻchirdi |
Vikichizar (munozara | hissa) Tahrir izohi yoʻq |
||
Qator 1:
{{AT}}
'''
▲'''Kiber''' - deklarativ grafik so'rovlar tili bo'lib, u xususiyat grafigida ekspressiv va samarali ma'lumotlarni so'rash imkonini beradi<ref name="cypher-introduction">{{Veb manbasi|url=https://neo4j.com/docs/cypher-manual/current/|sarlavha=Cypher Introduction|muallif=|ism=|sana=|ish=|nashriyot=Neo4j|kirish sanasi=2019-11-08}}</ref>.
Til [[SQL]] quvvati va imkoniyatlarini hisobga olgan holda ishlab chiqilgan (ilovaviy
▲'''Kiber''' asosan 2011-yilda Neo4j, Inc. (sobiq Neo Technology) kompaniyasida ishlayotgan Andres Teylorning ixtirosi edi<ref name="cypher-paper">{{Veb manbasi|url=https://hal.archives-ouvertes.fr/hal-01803524/file/paper.pdf|sarlavha=Cypher: An Evolving Query Language for Property Graphs|muallif=|ism=|sana=|ish=|nashriyot=Proceedings of the 2018 International Conference on Management of Data. ACM|kirish sanasi=2018-06-27}}</ref> Cypher dastlab Neo4j grafik ma'lumotlar bazasi bilan foydalanish uchun mo'ljallangan edi, lekin 2015-yil oktyabr oyida openCypher loyihasi orqali ochildi<ref>{{Yangiliklar manbasi |date=2015-10-21 |title=Meet openCypher: The SQL for Graphs - Neo4j Graph Database |language=en-US |work=Neo4j Graph Database |url=https://neo4j.com/blog/open-cypher-sql-for-graphs/ |access-date=2019-11-08}}</ref>.
▲Til [[SQL]] quvvati va imkoniyatlarini hisobga olgan holda ishlab chiqilgan (ilovaviy ma'lumotlar bazasi modeli uchun standart so'rovlar tili), lekin '''Kiber''' grafik nazariyasi tushunchalari asosida qurilgan ma'lumotlar bazasi komponentlari va ehtiyojlariga asoslangan edi. Grafik modelida ma'lumotlar tugunlar (matematika va tarmoq fanidagi cho'qqilar) va munosabatlar (matematika va tarmoq fanlaridagi qirralar) sifatida tuzilgan bo'lib, ma'lumotlardagi ob'ektlar bir-biri bilan qanday bog'langan va bog'langan.
== Grafik modeli ==
Tugunlar grafikdagi ob'ektlardir. Ular xossalar deb ataladigan istalgan sonli atributlarni (kalit-qiymat juftlari) saqlashi mumkin. Tugunlar domendagi turli rollarini ifodalovchi nol yoki undan ortiq yorliqlar (teglar yoki toifalar kabi) bilan belgilanishi mumkin. Aloqalar ikkita tugun ob'ekti o'rtasidagi yo'naltirilgan, nomli, semantik jihatdan tegishli aloqalarni ta'minlaydi. O'zaro munosabatlar har doim yo'nalishga, boshlang'ich tugunga, yakuniy tugunga va aynan bitta aloqa turiga ega. Tugunlar kabi munosabatlar ham xususiyatlarga ega bo'lishi mumkin<ref>{{Veb manbasi|url=https://github.com/opencypher/openCypher/blob/master/docs/property-graph-model.adoc|sarlavha=Property Graph Model|muallif=|ism=|sana=|ish=GitHub|nashriyot=|til=en|kirish sanasi=2019-11-08}}</ref>.▼
Yorliqlar nol yoki undan ortiq tugun belgilarini belgilash orqali o'xshash tugunlarni guruhlashi mumkin. Yorliqlar teglarga o'xshaydi va izlash yoki yaratish uchun muayyan turdagi ob'ektlarni belgilash imkonini beradi. Xususiyatlar qatorli kalit va '''Kiber''' tipidagi tizimning ba'zi qiymatini bog'laydigan kalit-qiymat juftliklari. '''Kiber''' so'rovlari belgilangan naqshda topilgan ma'lumotlarni yaratish, o'qish, yangilash, o'chirish uchun teglar va xususiyatlar bo'yicha har qanday belgilangan filtrlash bilan tugunlar va munosabatlar naqshlari bilan yig'iladi.▼
▲Tugunlar grafikdagi
Boshqa so'rovlar tillariga o'xshab, '''Kiber''' naqshlarni belgilash, naqshlarni filtrlash va natijalarni qaytarish uchun turli xil kalit so'zlarni o'z ichiga oladi. Eng keng tarqalganlar orasida: MATCH, WHERE va RETURN. Bular [[SQL]]<nowiki/>da SELECT va WHERE dan biroz farq qiladi; ammo, ular o'xshash maqsadlarga ega.▼
▲Yorliqlar nol yoki undan ortiq tugun belgilarini belgilash orqali
MATCH tugunlar, aloqalar yoki tugunlar va munosabatlar kombinatsiyalarini topish uchun qidiruv sxemasini tavsiflashdan oldin ishlatiladi<ref name="cypher-match">{{Veb manbasi|url=https://neo4j.com/docs/cypher-manual/current/clauses/match/|sarlavha=Cypher manual - MATCH clause|muallif=|ism=|sana=|ish=|nashriyot=Neo4j|kirish sanasi=2019-11-08}}</ref>'''. Kiber'''<nowiki/>'da WHERE naqshlarga qo'shimcha cheklovlar qo'shish va kiruvchi naqshlarni filtrlash uchun ishlatiladi<ref name="cypher-where">{{Veb manbasi|url=https://neo4j.com/docs/cypher-manual/current/clauses/where/|sarlavha=Cypher manual - WHERE clause|muallif=|ism=|sana=|ish=|nashriyot=Neo4j|kirish sanasi=2019-11-08}}</ref>. Cypher's RETURN formatlari va natijalarni qanday chiqarish kerakligini tartibga soladi. Boshqa so'rovlar tillarida bo'lgani kabi, natijalarni ma'lum xususiyatlar, ro'yxatlar, buyurtma va boshqalar bilan qaytarishingiz mumkin<ref name="cypher-return">{{Veb manbasi|url=https://neo4j.com/docs/cypher-manual/current/clauses/return/|sarlavha=Cypher manual - RETURN clause|muallif=|ism=|sana=|ish=|nashriyot=Neo4j|kirish sanasi=2019-11-08}}</ref>.▼
===
▲Boshqa
Cypher Neo4j ma'lumotlar bazasida, SAP'ning HANA Graph, Redis Graph<ref name="Redis Graph Cypher">{{Veb manbasi|url=https://oss.redislabs.com/redisgraph/|sarlavha=''RedisGraph - a graph database module for Redis''|nashriyot=Redis Labs|kirish sanasi=November 9, 2019}}</ref>. Cambridge Semantics' Anzograph<ref name="Anzograph openCypher">{{Veb manbasi|url=https://www.prweb.com/releases/cambridge_semantics_adds_opencypher_to_anzograph_cambridge_semantics_is_first_vendor_to_offer_both_rdf_sparql_and_opencypher_graph_data_access/prweb16192576.htm|sarlavha=''Cambridge Semantics Adds OpenCypher to AnzoGraph''|sana=March 2019|kirish sanasi=November 9, 2019}}</ref>. Bitnine's AgensGraph<ref name="AgensGraph">{{Veb manbasi|url=https://bitnine.net/documentations/quick-guide-2-0.html#agensgraph-introduction|sarlavha=''AgensGraph - AgensGraph supports Ansi-SQL and OpenCypher''|sana=September 21, 2018}}</ref> Memgraph<ref>{{Veb manbasi|sarlavha=Memgraph - Frequently asked questions|ish=memgraph.com|url=https://memgraph.com/docs/help-center/faq/memgraph#opencypher-language}}</ref> va ochiq kodli Cypher for Gremlin loyihalarida amalga oshiriladi<ref name="CfoG">{{Veb manbasi|url=https://github.com/opencypher/cypher-for-gremlin|sarlavha=''Cypher for Gremlin adds Cypher support to any Gremlin graph database.''|muallif=Novikov|ism=Dmitry|sana=January 2018|nashriyot=openCypher|kirish sanasi=November 3, 2019}}</ref>. Rigadagi Neueda Labs va Cypher for Apache Spark (hozirda Morpheus deb oʻzgartirilgan) tomonidan<ref name="CAPS Morpheus">{{Veb manbasi|url=https://github.com/opencypher/morpheus|sarlavha=''Morpheus brings the leading graph query language, Cypher, onto the leading distributed processing platform, Spark.''|muallif=Rydberg|ism=Mats|sana=July 2016|nashriyot=openCypher|kirish sanasi=November 3, 2019}}</ref><ref name="Morpheus SQL and Cypher">{{Veb manbasi|url=https://databricks.com/session/neo4j-morpheus-interweaving-table-and-graph-data-with-sql-and-cypher-in-apache-spark|sarlavha=''Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apache Spark''|muallif=Green|ism=Alastair|sana=April 2019|nashriyot=Databricks Inc.|kirish sanasi=November 3, 2019}}</ref><ref name="Morpheus SQL and Cypher cont">{{Veb manbasi|url=https://databricks.com/session/neo4j-morpheus-interweaving-table-and-graph-data-with-sql-and-cypher-in-apache-spark-continues|sarlavha=''Neo4j Morpheus: Interweaving Table and Graph Data with SQL and Cypher in Apache Spark (continues)''}}</ref> hamda Cypher kabi tadqiqot loyihalarida saqlanmoqda. ▼
▲MATCH tugunlar, aloqalar yoki tugunlar va munosabatlar kombinatsiyalarini topish uchun qidiruv sxemasini tavsiflashdan oldin ishlatiladi<ref name="cypher-match">{{Veb manbasi|url=https://neo4j.com/docs/cypher-manual/current/clauses/match/|sarlavha=Cypher manual - MATCH clause|muallif=|ism=|sana=|ish=|nashriyot=Neo4j|kirish sanasi=2019-11-08}}</ref>'''.
== Cypher ilovalari ==
▲Cypher Neo4j
== Manbalar ==
|