Files
Baradb/docs/ar/baraql.md

2.2 KiB

مرجع لغة استعلام BaraQL

BaraQL هي لغة استعلام متوافقة مع SQL مع امتدادات لعمليات الرسم البياني والمتجة والمستندات.

أنواع البيانات

النوع الوصف مثال
null قيمة فارغة null
bool منطقي true, false
int8 عدد صحيح 8 بت 127
int16 عدد صحيح 16 بت 32767
int32 عدد صحيح 32 بت 2147483647
int64 عدد صحيح 64 بت 9223372036854775807
float32 فاصلة عائمة 32 بت 3.14
float64 فاصلة عائمة 64 بت 3.14159265359
str سلسلة UTF-8 'hello'
vector متجه float32 [0.1, 0.2, 0.3]
datetime طابع زمني ISO 8601 '2025-01-15T10:30:00Z'
uuid UUID v4 '550e8400-e29b-41d4-a716-446655440000'

الاستعلامات الأساسية

SELECT

SELECT * FROM users;
SELECT name, age FROM users;
SELECT name AS full_name FROM users;
SELECT * FROM users LIMIT 10 OFFSET 20;

WHERE

SELECT * FROM users WHERE age > 18;
SELECT * FROM users WHERE age BETWEEN 18 AND 65;
SELECT * FROM users WHERE department IN ('Engineering', 'Sales');
SELECT * FROM users WHERE name LIKE 'A%';

INSERT

INSERT users { name := 'Alice', age := 30 };

UPDATE

UPDATE users SET age = 31 WHERE name = 'Alice';

DELETE

DELETE FROM users WHERE name = 'Bob';

JOIN

SELECT u.name, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id;

CTE (تعبيرات الجدول المشترك)

WITH active_users AS (
  SELECT * FROM users WHERE active = true
)
SELECT * FROM active_users;

البحث المتجهي

INSERT articles { title := 'Nim Programming', embedding := [0.1, 0.2, 0.3, 0.4] };

SELECT title FROM articles
ORDER BY cosine_distance(embedding, [0.1, 0.2, 0.3, 0.4])
LIMIT 5;

أنماط الرسم البياني

MATCH (p:Person)-[:KNOWS]->(friend:Person)
WHERE p.name = 'Alice'
RETURN friend.name;

المعاملات

BEGIN;
INSERT users { name := 'Alice', age := 30 };
COMMIT;