Group Edge هو نوع Edge يجمع عدة عقد في مجموعة واحدة للتعبير عنها.
بنية الحزمة
1st WORD (16 bits)
┌───────────────────────┬───────────┐
│ Prefix │ GroupType │
│ 13bit │ 3bit │
└───────────────────────┴───────────┘
[1100 000 111 000] [TTT]
2nd WORD: Edge TID (16 bits)
3rd+ WORD: Member TIDs (variable)
Last WORD: Terminator (0x0000)
| الحقل | البتات | الوصف |
|---|---|---|
| Prefix | 13 | 1100 000 111 000 |
| GroupType | 3 | نوع المجموعة (8 أنواع) |
| Edge TID | 16 | معرّف فريد لهذا Edge |
| Member TIDs | 16×N | مراجع أعضاء المجموعة |
| Terminator | 16 | 0x0000 |
الحد الأدنى 4 كلمات (عضو واحد)، العادي 5~6 كلمات (2~3 أعضاء)، بلا حد أقصى.
GroupType (3 بت = 8 أنواع)
| الرمز | النوع | المعنى | عدد الأعضاء |
|---|---|---|---|
| 000 | AND | عطف منطقي (conjunction) | 2+ |
| 001 | OR | فصل منطقي (disjunction) | 2+ |
| 010 | XOR | اختيار حصري | 2+ |
| 011 | LIST | قائمة مرتبة | 1+ |
| 100 | SET | مجموعة غير مرتبة | 1+ |
| 101 | RANGE | نطاق (بداية~نهاية) | بالضبط 2 |
| 110 | PAIR | زوج مرتب | بالضبط 2 |
| 111 | Extension | توسيع مستقبلي | - |
تفاصيل GroupType
AND
جميع الأعضاء يشاركون في نفس الوقت. مثال: “اجتمع أحمد وفاطمة وخالد”
OR
واحد أو أكثر من الأعضاء ينطبق (inclusive or). مثال: “اطلب قهوة أو شاي”
XOR
واحد فقط من الأعضاء ينطبق (exclusive or). مثال: “ناجح أو راسب (أحدهما فقط)”
LIST
قائمة ذات ترتيب ذي معنى. تُستخدم للتصنيفات والتسلسلات. مثال: “الأول أحمد، الثاني فاطمة، الثالث خالد”
SET
مجموعة بلا ترتيب. العضوية فقط مهمة. مثال: “الحاضرون: أحمد، فاطمة، خالد”
RANGE
نطاق متصل يشمل القيم الوسيطة. الأعضاء بالضبط 2 (بداية، نهاية). مثال: “من 1 إلى 10”
PAIR
زوج مرتب بسيط. الأعضاء بالضبط 2. يُستخدم للإحداثيات، key-value، إلخ. مثال: “الإحداثيات (3, 5)”
RANGE مقابل PAIR
| النوع | المعنى | القيم الوسيطة |
|---|---|---|
| RANGE | نطاق متصل | مشمولة |
| PAIR | زوج بسيط | لا توجد |
RANGE [1, 5] → 1, 2, 3, 4, 5 (قيم وسيطة موجودة). PAIR [1, 5] → (1, 5) (قيمتان فقط).
أمثلة
“التقى أحمد وفاطمة”
1. Entity Node: أحمد (TID=0x0001)
2. Entity Node: فاطمة (TID=0x0002)
3. Group Edge: AND (TID=0x0100)
1st: [1100 000 111 000] [000] = Prefix + AND
2nd: [0x0100] = Edge TID
3rd: [0x0001] = أحمد
4th: [0x0002] = فاطمة
5th: [0x0000] = Terminator
4. Verb Edge: meet
Subject: 0x0100 (Group reference)
Total: 5 words
“الإحداثيات (3, 5)”
1. Quantity Node: 3 (TID=0x0001)
2. Quantity Node: 5 (TID=0x0002)
3. Group Edge: PAIR (TID=0x0100)
1st: [1100 000 111 000] [110] = Prefix + PAIR
2nd: [0x0100]
3rd: [0x0001] = first (x)
4th: [0x0002] = second (y)
5th: [0x0000]
Total: 5 words
القيود
| GroupType | الحد الأدنى | الحد الأقصى |
|---|---|---|
| AND / OR / XOR | 2 | ∞ |
| LIST / SET | 1 | ∞ |
| RANGE / PAIR | 2 | 2 |
- يجب أن يشير TID العضو إلى Node/Edge تم إعلانه مسبقاً
- لا يُسمح بالمرجع الذاتي (دائري)
- TID=0x0000 محجوز كعلامة إنهاء