Quantity Node هي نوع عقدة متغيرة الطول تمثل الكميات الفيزيائية، والأعداد، والعملات، والقيم الحرفية.
| الخاصية | الوصف |
|---|
| متغيرة الطول | 4~N كلمة (حسب حجم القيمة) |
| وحدة صريحة | SI أساسية/مشتقة + غير SI (عملات، وقت، إلخ) |
| دعم المقياس | قوى العشرة لتمثيل البادئات |
| قيم حرفية خاصة | طابع زمني (timestamp)، سلسلة نصية (UTF-16)، لون (RGBA) |
| TID أخيراً | خاصية Node (اتساق مع الكيان) |
الاستخدام: Object في حافة الثلاثية، مشارك في Verb Edge، مشارك في الحدث6، اسم/تسمية للكيان، تعبير عن الوقت، إلخ.
بنية الحزمة
1st WORD (16 bits)
┌────────────────────┬────────────────────┐
│ Prefix │ Unit │
│ 10bit │ 6bit │
└────────────────────┴────────────────────┘
2nd WORD (16 bits)
┌──────┬──────┬──────┬────────────────────┐
│ Sign │ Size │ Type │ Scale │
│ 1bit │ 2bit │ 1bit │ 4bit │
├──────┴──────┴──────┴────────────────────┤
│ Reserved (8bit) │
└─────────────────────────────────────────┘
3rd+ WORD: Value (variable, 1/2/4 words per Size)
Last WORD (16 bits)
┌─────────────────────────────────────────┐
│ TID │
│ 16bit │
└─────────────────────────────────────────┘
| الحقل | البتات | الحجم | الوصف |
|---|
| Prefix | 1-10 | 10 | 0001 000 010 (Quantity Node) |
| Unit | 11-16 | 6 | 64 رمز وحدة |
| Sign | 17 | 1 | 0=موجب، 1=سالب |
| Size | 18-19 | 2 | عدد كلمات Value |
| Type | 20 | 1 | 0=عدد صحيح، 1=عدد عشري |
| Scale | 21-24 | 4 | قوة العشرة (إزاحة 8) |
| Reserved | 25-32 | 8 | محجوز (رمز العملة عند الحاجة) |
حجم الحزمة حسب Size
| Size | كلمات Value | إجمالي الكلمات |
|---|
| 00 | 1 (16 بت) | 4 |
| 01 | 2 (32 بت) | 5 |
| 10 | 4 (64 بت) | 7 |
رموز Unit (6 بت = 64 رمزاً)
وحدات SI الأساسية (0x00~0x06)
| الرمز | الوحدة | الرمز | الكمية الفيزيائية |
|---|
| 0x00 | meter | m | الطول |
| 0x01 | kilogram | kg | الكتلة |
| 0x02 | second | s | الزمن |
| 0x03 | ampere | A | التيار الكهربائي |
| 0x04 | kelvin | K | الحرارة |
| 0x05 | mole | mol | كمية المادة |
| 0x06 | candela | cd | شدة الإضاءة |
وحدات SI المشتقة (0x07~0x1C)
| الرمز | الوحدة | الرمز | الكمية الفيزيائية |
|---|
| 0x07 | hertz | Hz | التردد |
| 0x08 | newton | N | القوة |
| 0x09 | pascal | Pa | الضغط |
| 0x0A | joule | J | الطاقة |
| 0x0B | watt | W | القدرة |
| 0x0C | coulomb | C | الشحنة الكهربائية |
| 0x0D | volt | V | الجهد الكهربائي |
| 0x0E | farad | F | السعة الكهربائية |
| 0x0F | ohm | Ω | المقاومة |
| 0x10 | siemens | S | الموصلية |
| 0x11 | weber | Wb | التدفق المغناطيسي |
| 0x12 | tesla | T | المجال المغناطيسي |
| 0x13 | henry | H | الحث |
| 0x14 | celsius | °C | الحرارة |
| 0x15 | lumen | lm | التدفق الضوئي |
| 0x16 | lux | lx | الإضاءة |
| 0x17 | becquerel | Bq | النشاط الإشعاعي |
| 0x18 | gray | Gy | الجرعة الممتصة |
| 0x19 | sievert | Sv | مكافئ الجرعة |
| 0x1A | katal | kat | النشاط التحفيزي |
| 0x1B | radian | rad | الزاوية المستوية |
| 0x1C | steradian | sr | الزاوية المجسمة |
وحدات غير SI (0x20~0x2F)
| الرمز | الوحدة | الاستخدام |
|---|
| 0x20 | CURRENCY | عملة (توسيع رمز العملة) |
| 0x21 | percent | % (نسبة) |
| 0x22 | degree | ° (زاوية) |
| 0x23~0x28 | minute~year | وحدات زمنية |
| 0x29 | bit | كمية المعلومات |
| 0x2A | byte | كمية المعلومات |
| 0x2B~0x2F | COUNT~INDEX | أعداد بدون وحدة |
قيم حرفية خاصة (0x30~0x3F)
| الرمز | النوع | الحمولة | الاستخدام |
|---|
| 0x30 | TIMESTAMP_SEC | 2/4 كلمات | طابع Unix الزمني (ثوانٍ) |
| 0x31 | TIMESTAMP_MS | 4 كلمات | طابع Unix الزمني (ملي ثانية) |
| 0x32 | UTF16 | 2+N كلمة | سلسلة UTF-16 |
| 0x33 | RGBA | كلمتان | لون (32 بت) |
Scale (4 بت)
قوة العشرة. إزاحة 8 مطبقة. الحساب: القيمة الفعلية = Value × 10^(Scale - 8)
| الرمز | القيمة | البادئة | الرمز | القيمة | البادئة |
|---|
| 0000 | 10⁻⁸ | - | 1000 | 10⁰ (افتراضي) | - |
| 0010 | 10⁻⁶ | μ | 1001 | 10¹ | da |
| 0101 | 10⁻³ | m | 1011 | 10³ | k |
| 0110 | 10⁻² | c | 1110 | 10⁶ | M |
توسيع العملات (Unit = 0x20)
عند العملة (CURRENCY) تُستخدم 8 بت Reserved كرمز عملة.
| الرمز | العملة | ISO | الرمز | العملة | ISO |
|---|
| 0x00 | دولار أمريكي | USD | 0x05 | وون كوري | KRW |
| 0x01 | يورو | EUR | 0x06 | فرنك سويسري | CHF |
| 0x02 | ين ياباني | JPY | 0x07 | دولار أسترالي | AUD |
| 0x03 | جنيه إسترليني | GBP | 0x08 | دولار كندي | CAD |
| 0x04 | يوان صيني | CNY | 0x80 | Bitcoin | BTC |
أمثلة
“100kg” → 4 كلمات
1st: [Prefix] + [0x01(kg)]
2nd: +, 1 word, int, ×1 → 0x0800
3rd: 0x0064 (100)
4th: TID
Interpretation: +100 × 10⁰ kg = 100kg
“$2,500,000” → 4 كلمات (باستخدام المقياس)
1st: [Prefix] + [0x20(CURRENCY)]
2nd: +, 1 word, int, ×10³, USD → 0x0B00
3rd: 0x09C4 (2500)
4th: TID
Interpretation: +2500 × 10³ USD = $2,500,000