Quantity Node הוא סוג צומת באורך משתנה המייצג גדלים פיזיקליים, מספרים, מטבעות וליטרלים.
| מאפיין | תיאור |
|---|
| אורך משתנה | 4~N מילים (לפי גודל הערך) |
| יחידה מפורשת | SI בסיסי/נגזר + לא-SI (מטבעות, זמן וכו') |
| תמיכה בסקאלה | חזקות של 10 לייצוג קידומות |
| ליטרלים מיוחדים | חותמת זמן (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 | חזקת 10 (היסט 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 | 2 מילים | צבע (32 סיביות) |
Scale (4 סיביות)
חזקת 10. היסט 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