Quantity Node は物理量、数値、通貨、リテラル等を表現する可変長 Node タイプである。
| 特性 | 説明 |
|---|
| 可変長 | 4~Nワード(値のサイズに応じて) |
| 単位明示 | SI 基本/誘導 + 非SI(通貨、時間等) |
| スケール対応 | 10の累乗で接頭辞を表現 |
| 特殊リテラル | 時間(timestamp)、文字列(UTF-16)、色(RGBA) |
| TID は末尾 | Node 特性(エンティティと一貫性) |
用途: トリプルエッジの Object、Verb Edge の参加者、イベント6の参加者、エンティティの名前/ラベル、時間表現等。
パケット構造
1st WORD (16ビット)
┌────────────────────┬────────────────────┐
│ Prefix │ Unit │
│ 10bit │ 6bit │
└────────────────────┴────────────────────┘
2nd WORD (16ビット)
┌──────┬──────┬──────┬────────────────────┐
│ Sign │ Size │ Type │ Scale │
│ 1bit │ 2bit │ 1bit │ 4bit │
├──────┴──────┴──────┴────────────────────┤
│ Reserved (8bit) │
└─────────────────────────────────────────┘
3rd+ WORD: Value (可変、Sizeに応じて1/2/4ワード)
Last WORD (16ビット)
┌─────────────────────────────────────────┐
│ 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)
| コード | タイプ | Payload | 用途 |
|---|
| 0x30 | TIMESTAMP_SEC | 2/4ワード | Unix timestamp(秒) |
| 0x31 | TIMESTAMP_MS | 4ワード | Unix timestamp(ミリ秒) |
| 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)の場合、Reserved 8ビットを通貨コードとして使用する。
| コード | 通貨 | 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ワード, int, ×1 → 0x0800
3rd: 0x0064 (100)
4th: TID
解釈: +100 × 10⁰ kg = 100kg
“$2,500,000” → 4ワード(スケール活用)
1st: [Prefix] + [0x20(CURRENCY)]
2nd: +, 1ワード, int, ×10³, USD → 0x0B00
3rd: 0x09C4 (2500)
4th: TID
解釈: +2500 × 10³ USD = $2,500,000