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 "มากกว่าหรือเท่ากับ" |