データモデルの文法 |
---|
文法 | 説明 |
---|---|
<Entity> ::= { "id": <Entity id>, "type": <Entity type>, <Attribute>, <Attribute>, ・・・・ } |
一つひとつのEntityは必ず波括弧のペアで囲みます。 idとtypeは必須です。NGSI V2はJSONで記述するので、左の文の各行はJSONの文法では<要素>という事になります。従って、<要素>の間はカンマで区切ります。 |
<Entity id> ::= "<識別子>" |
<識別子>については、こちらを参照してください。 idの<識別子>の規則も記載してあります |
<Entity type> ::= "<識別子>" |
<識別子>については、こちらを参照してください。 Entity typeの<識別子>の規則も記載してあります |
<Attribute> ::= <Non-structured Attribute> | <Structured Attribute> |
値が構造化していない場合の定義です。 縦棒は「または」と言う意味です 値が構造化している場合の定義です。 |
<Non-structured Attribute> ::= <Attribute name> : { "type": <Attribute type>, "value": <Attribute value> } |
ここは、値が構造化しない場合の形式です。 typeの省略については後述します。 valueを省略すると、valueにnullを指定したと解釈されます。また、座標の値の時は、"value"の代わりに"coordinates"を使います。 NGSI V2ではmetadataの指定が可能ですが、使用を避けるため記述していません |
<Attribute name> ::= "<識別子>" | 識別子>については、こちらを参照してください。 Attribute nameの<識別子>の規則も記載してあります |
<Attribute type> ::= "<識別子>" | <識別子>については、3.6.2節を参照してください。 Attribute typeの<識別子>の規則も記載してあります |
<Attribute value> ::= <値> | JSONの<値>ですが、<object>を除きます。 <object>に相当するのが構造化した場合の形式です。 |
<Metadata name> ::= "<識別子>" | <識別子>については、3.6.2節を参照してください。 Metadata nameの<識別子>の規則も記載してあります |
<Metadata type> ::= "<識別子>" | <識別子>については、3.6.2節を参照してください。 Metadata typeの<識別子>の規則も記載してあります |
<Metadata value> ::= <値> | JSONの<値>です |
<Structured Attribute> ::= <Attribute name> : { "type": <Structured attribute type>, "value" :<Structured value> } |
値が構造化した場合の形式です。 NGSI V2ではmetadataの指定が可能ですが、使用を避けるため記述していません |
<Structured attribute type> ::= "StructuredValue" | <Attribute type> |
<Attribute type>にText, Number, Boolean, noneは指定できません。 |
<Structured value> ::= { <Sub-attribute>, <Sub-attribute>, ・・・・ } | { "type": "geo:json", "value": { <geo:json記述> } } |
値が構造化した場合の規定です。NGSI V2に規定が無いため、追加しています。 座標を表現する形式です。 <geo:json記述>について記載しませんが、点を表す形式(Point)と面を表す形式(Polygon)については、策定データ仕様に記述してあります。 |
.Attribute typeの省略 |
---|