Neo4j CQL - บทนำ

CQL ย่อมาจาก Cypher Query Language เช่นเดียวกับ Oracle Database มีภาษาคิวรี SQL Neo4j มี CQL เป็นภาษาแบบสอบถาม

Neo4j CQL

  • เป็นภาษาแบบสอบถามสำหรับ Neo4j Graph Database
  • เป็นภาษาที่ตรงกับรูปแบบที่ประกาศ
  • ทำตาม SQL เช่นไวยากรณ์
  • ไวยากรณ์นั้นง่ายมากและอยู่ในรูปแบบที่มนุษย์อ่านได้

เช่น Oracle SQL

  • Neo4j CQL มีคำสั่งเพื่อดำเนินการฐานข้อมูล

  • Neo4j CQL รองรับประโยคจำนวนมากเช่น WHERE ORDER BY ฯลฯ เพื่อเขียนแบบสอบถามที่ซับซ้อนมากได้อย่างง่ายดาย

  • Neo4j CQL รองรับฟังก์ชันบางอย่างเช่น String, Aggregation นอกจากนี้ยังรองรับฟังก์ชันความสัมพันธ์บางอย่าง

Neo4j CQL Clauses

ต่อไปนี้เป็นประโยคอ่านของ Neo4j Cypher Qเอ่อ Lความปวดร้าว -

ซีเนียร์ No อ่านข้อ การใช้งาน
1 การแข่งขัน ประโยคนี้ใช้เพื่อค้นหาข้อมูลด้วยรูปแบบที่ระบุ
2 ตัวเลือกการจับคู่ สิ่งนี้เหมือนกับการจับคู่ข้อแตกต่างเพียงอย่างเดียวคือสามารถใช้ค่าว่างในกรณีที่ส่วนที่ขาดหายไปของรูปแบบ
3 ที่ไหน รหัสประโยคนี้ใช้เพื่อเพิ่มเนื้อหาให้กับคิวรี CQL
4 เริ่มต้น ประโยคนี้ใช้เพื่อค้นหาจุดเริ่มต้นผ่านดัชนีเดิม
5 โหลด CSV ประโยคนี้ใช้เพื่อนำเข้าข้อมูลจากไฟล์ CSV

ต่อไปนี้เป็นประโยคเขียนของ Neo4j Cypher Qเอ่อ Lความปวดร้าว -

ซีเนียร์ No เขียน Clause การใช้งาน
1 สร้าง ประโยคนี้ใช้เพื่อสร้างโหนดความสัมพันธ์และคุณสมบัติ
2 ผสาน ประโยคนี้ตรวจสอบว่ารูปแบบที่ระบุมีอยู่ในกราฟหรือไม่ หากไม่เป็นเช่นนั้นจะสร้างรูปแบบ
3 SET ประโยคนี้ใช้เพื่ออัพเดตเลเบลบนโหนดคุณสมบัติบนโหนดและความสัมพันธ์
4 ลบ ประโยคนี้ใช้เพื่อลบโหนดและความสัมพันธ์หรือเส้นทาง ฯลฯ ออกจากกราฟ
5 ลบ ประโยคนี้ใช้เพื่อลบคุณสมบัติและองค์ประกอบออกจากโหนดและความสัมพันธ์
6 แต่ละ คลาสนี้ใช้เพื่ออัปเดตข้อมูลภายในรายการ
7 สร้างที่ไม่ซ้ำใคร การใช้คำสั่งสร้างและจับคู่คุณจะได้รูปแบบที่ไม่ซ้ำใครโดยการจับคู่รูปแบบที่มีอยู่และสร้างรูปแบบที่ขาด
8 การนำเข้าไฟล์ CSV ด้วย Cypher การใช้โหลด CSV คุณสามารถนำเข้าข้อมูลจากไฟล์. csv

ต่อไปนี้เป็นประโยคทั่วไปของ Neo4j Cypher Qเอ่อ Lความปวดร้าว -

ซีเนียร์ No ข้อทั่วไป การใช้งาน
1 กลับ ประโยคนี้ใช้เพื่อกำหนดสิ่งที่จะรวมไว้ในชุดผลลัพธ์ของคิวรี
2 สั่งโดย ประโยคนี้ใช้เพื่อจัดเรียงผลลัพธ์ของแบบสอบถามตามลำดับ ใช้ร่วมกับอนุประโยคRETURN หรือ WITH.
3 LIMIT ประโยคนี้ใช้เพื่อ จำกัด แถวในผลลัพธ์เป็นค่าเฉพาะ
4 ข้าม ประโยคนี้ใช้เพื่อกำหนดแถวที่จะเริ่มต้นรวมทั้งแถวในเอาต์พุต
5 ด้วย ส่วนคำสั่งนี้ใช้เพื่อเชื่อมโยงส่วนของแบบสอบถามเข้าด้วยกัน
6 คลี่คลาย ประโยคนี้ใช้เพื่อขยายรายการออกเป็นลำดับของแถว
7 ยูเนี่ยน ประโยคนี้ใช้เพื่อรวมผลลัพธ์ของการสืบค้นหลาย ๆ
8 โทร ประโยคนี้ใช้เพื่อเรียกใช้โพรซีเดอร์ที่ปรับใช้ในฐานข้อมูล

ฟังก์ชัน Neo4j CQL

ต่อไปนี้เป็นฟังก์ชัน Neo4j CQL ที่ใช้บ่อย -

ซีเนียร์ No ฟังก์ชัน CQL การใช้งาน
1 สตริง ใช้เพื่อทำงานกับ String literals
2 การรวม ใช้เพื่อดำเนินการรวมบางอย่างกับผลลัพธ์การสืบค้น CQL
3 ความสัมพันธ์ ใช้เพื่อรับรายละเอียดของความสัมพันธ์เช่น startnode, endnode เป็นต้น

เราจะพูดถึงคำสั่ง Neo4j CQL ประโยคและไวยากรณ์ของฟังก์ชันการใช้งานและตัวอย่างโดยละเอียดในบทต่อ ๆ ไป

ประเภทข้อมูล Neo4j CQL

ชนิดข้อมูลเหล่านี้คล้ายกับภาษา Java ใช้เพื่อกำหนดคุณสมบัติของโหนดหรือความสัมพันธ์

Neo4j CQL รองรับประเภทข้อมูลต่อไปนี้ -

ซีเนียร์ No ประเภทข้อมูล CQL การใช้งาน
1 บูลีน ใช้เพื่อแสดงลิเทอรัลบูลีน: จริงเท็จ
2 ไบต์ ใช้แทนจำนวนเต็ม 8 บิต
3 สั้น ใช้แทนจำนวนเต็ม 16 บิต
4 int ใช้แทนจำนวนเต็ม 32 บิต
5 ยาว ใช้แทนจำนวนเต็ม 64 บิต
6 ลอย ใช้เพื่อแสดงตัวเลขทศนิยม 32 บิต
7 สองเท่า ใช้เพื่อแสดงตัวเลขทศนิยม 64 บิต
8 ถ่าน ใช้แทนอักขระ 16 บิต
9 สตริง ใช้เพื่อแสดงถึงสตริง

ตัวดำเนินการ CQL

ต่อไปนี้เป็นรายชื่อตัวดำเนินการที่รองรับภาษา Neo4j Cypher Query

ซีเนียร์ No ประเภท ตัวดำเนินการ
1 คณิตศาสตร์ +, -, *, /,%, ^
2 การเปรียบเทียบ +, <>, <,>, <=,> =
3 บูลีน และหรือ XOR ไม่
4 สตริง +
5 รายการ +, ใน, [X], [X … ..Y]
6 นิพจน์ทั่วไป = -
7 การจับคู่สตริง เริ่มต้นด้วย, ลงท้ายด้วย, ข้อ จำกัด

ตัวดำเนินการบูลีนใน Neo4j CQL

Neo4j สนับสนุนตัวดำเนินการบูลีนต่อไปนี้เพื่อใช้ในส่วนคำสั่ง Neo4j CQL WHERE เพื่อรองรับหลายเงื่อนไข

ซีเนียร์ No ตัวดำเนินการบูลีน คำอธิบาย
1 และ เป็นคีย์เวิร์ด Neo4j CQL เพื่อรองรับการทำงานและ เป็นเหมือนตัวดำเนินการ SQL AND
2 หรือ เป็นคีย์เวิร์ด Neo4j CQL เพื่อรองรับการทำงานของ OR เป็นเหมือนตัวดำเนินการ SQL AND
3 ไม่ เป็นคีย์เวิร์ด Neo4j CQL เพื่อรองรับการใช้งาน NOT เป็นเหมือนตัวดำเนินการ SQL AND
4 XOR เป็นคีย์เวิร์ด Neo4j CQL เพื่อรองรับการทำงานของ XOR เป็นเหมือนตัวดำเนินการ SQL AND

ตัวดำเนินการเปรียบเทียบใน Neo4j CQL

Neo4j สนับสนุนตัวดำเนินการเปรียบเทียบต่อไปนี้เพื่อใช้ใน Neo4j CQL WHERE clause เพื่อสนับสนุนเงื่อนไข

ซีเนียร์ No ตัวดำเนินการบูลีน คำอธิบาย
1 = มันคือโอเปอเรเตอร์ Neo4j CQL "เท่ากับ"
2 <> เป็นโอเปอเรเตอร์ Neo4j CQL "ไม่เท่ากับ"
3 < เป็นตัวดำเนินการ Neo4j CQL "น้อยกว่า"
4 > เป็นโอเปอเรเตอร์ Neo4j CQL "Greater Than"
5 <= เป็นโอเปอเรเตอร์ Neo4j CQL "น้อยกว่าหรือเท่ากับ"
6 > = เป็นโอเปอเรเตอร์ Neo4j CQL "มากกว่าหรือเท่ากับ"