日本語
Decision ドラフト
判定
1 件のエンティティについての、1 件の自動判定です。規則の集まりが出す問いへのモデルの答え(確率付き)と、その結果の行動を持ちます。
| 種類 | エンティティ |
| 型 IRI | https://datamodels.jp/ns/decision/Decision |
| @context | https://datamodels.jp/context/decision/v1.jsonld |
| JSON Schema | /schema/decision/Decision/v1.json |
| ライセンス | CC0 1.0:ファイル(@context、JSON Schema、例)は条件なしで使えます |
この @context と JSON Schema の URL は、常に互換性のある最新版を指します。
内容が変わらない URL はバージョンにあります。詳しくはURL とバージョンを見てください。
型と関係
Relationship(属性名)↻ 同じ型への Relationship
属性
| 属性 | 説明 | 値 |
|---|---|---|
refersTo | 判定の対象(入力)のエンティティ。refersTo か externalReference のどちらかが必須です。http://www.w3.org/ns/prov#used | Relationship → 任意のエンティティ |
externalReference | 対象がブローカーのエンティティでないときの参照(例:Issue の URL)https://datamodels.jp/ns/decision/externalReference | Property, string |
action* | 規則が出した行動。次に何が起きるかを表します(例:auto、review、publish、urgent)。値は規則の集まりが定めます。https://datamodels.jp/ns/decision/action | Property, string |
answers* | モデルの答え。問いごとに 1 つで、それぞれに確率が付きます。各要素は name(問いの名前)、type、value、probability(value の確率)を持ちます。type は noul(はい・いいえ)、choice(選択肢から 1 つ)、score(順序のある段階)のどれかです。choice と score では、probabilities(選択肢や段階ごとの確率)も持ちます。https://datamodels.jp/ns/decision/answers | JsonProperty, array |
facts | 規則の集まりが求めた空間の事実を、この判定のために調べた結果です(当たった規則が使ったかどうかは問いません)。モデルではなく、空間の演算で求めた値です(例:浸水想定区域の中か、最寄りの避難場所までの距離)。各要素は name と missing を持ちます。求められたときは values(項目ごとの値)と source(出どころ)、求められなかったときは reason(no_location、unavailable、timeout、error)も持ちます。求められなかった事実を使う規則は当たりません。https://datamodels.jp/ns/decision/facts | JsonProperty, array |
profile* | 問いを出し、答えを行動に変えた規則の集まりの IDhttps://datamodels.jp/ns/decision/profile | Property, string |
profileVersion* | 規則の集まりの版https://datamodels.jp/ns/decision/profileVersion | Property, integer, ≥ 1 |
policyRule | 行動を出した規則。0 から数えた番号を文字列で書き("0"、"1" など)、どの規則にも当たらなかったときは "default" です。判定の根拠になります。https://datamodels.jp/ns/decision/policyRule | Property, string |
model* | 答えたモデルの IDhttps://datamodels.jp/ns/decision/model | Property, string |
decidedAt* | 判定した日時http://www.w3.org/ns/prov#endedAtTime | Property, string (date-time) |
humanInvolvement | 人の関わり方(W3C DPV の語):dpv:HumanInvolvementForVerification(行動の前に人が確認する)、dpv:HumanInvolvementForOversight(行動はそのまま行い、人が後から確認・修正できる)、dpv:HumanInvolvementForDecision(人が決め、答えは参考にする)、dpv:HumanNotInvolved(人は関わらない)https://w3id.org/dpv#hasHumanInvolvement | VocabProperty, string: dpv:HumanInvolvementForVerification | dpv:HumanInvolvementForOversight | dpv:HumanInvolvementForDecision | dpv:HumanNotInvolved |
reviewStatus | 人による確認の状態:pending(確認待ち)か resolved(確認済み)。確認を求めないときは省きます。https://datamodels.jp/ns/decision/reviewStatus | Property, string: pending | resolved |
finalAction | 人が確認した後の行動https://datamodels.jp/ns/decision/finalAction | Property, string |
reviewedBy個人情報 | 確認した人。アカウント、役割、チームの識別子で、個人名は入れません。https://datamodels.jp/ns/decision/reviewedBy | Property, string |
reviewedAt | 確認した日時https://datamodels.jp/ns/decision/reviewedAt | Property, string (date-time) |
corrections個人情報 | 人が直した答え(モデルの正しさを測るための正解データ)。各要素は name、value、by(識別子)、at を持ち、note は任意です。https://datamodels.jp/ns/decision/corrections | JsonProperty, array |
wasInformedBy | 判定が続いているときの、この判定の前の判定http://www.w3.org/ns/prov#wasInformedBy | Relationship → Decision |
* は必須の属性です。
このモデルを使う
データの検証とブローカーへの送り方は使い方にあります。
このモデルに独自の属性を足すときは、拡張ビルダーで @context と JSON Schema を作れます。
このモデルを拡張したら、フォームで登録してください。ほかの組織が同じ名前を使えます(フォームの書き方)。
特定のブローカーやツールにそのまま読み込めるファイルも、このモデルから作っています:アダプター
本文に @context を書かずに送るときの Link ヘッダー:
httpLink: <https://datamodels.jp/context/decision/v1.jsonld>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"
例
例は架空のシナリオ(東京都千代田区の大雨対応)です。地名とコードは実在のものですが、出来事・人・チームは架空です。書き方は例の書き方にあります。
json
{
"id": "urn:ngsi-ld:Decision:7d20731d-5cc8-4315-97ba-1576c5466269",
"type": "Decision",
"refersTo": "urn:ngsi-ld:RoadRestriction:0001",
"action": "review",
"answers": {
"json": [
{
"name": "category",
"type": "choice",
"value": "closedWeather",
"probability": 0.81,
"probabilities": {
"closedWeather": 0.81,
"closedConstruction": 0.02,
"closedHeavyVehicle": 0.01,
"closedWinter": 0,
"laneRestriction": 0.09,
"alternatingOneWay": 0.05,
"mobileRestriction": 0,
"chainRestriction": 0,
"chainGuidance": 0,
"other": 0.02
}
},
{
"name": "status_matches",
"type": "noul",
"value": true,
"probability": 0.92
},
{
"name": "danger",
"type": "noul",
"value": false,
"probability": 0.58
},
{
"name": "clarity",
"type": "score",
"value": 3,
"probability": 0.74,
"probabilities": {
"0": 0.02,
"1": 0.06,
"2": 0.18,
"3": 0.74
}
}
]
},
"facts": {
"json": [
{
"name": "flood",
"missing": false,
"values": {
"inside": true,
"rank": 4,
"class": "1 to 3 m"
},
"source": "gsi-flood-max"
}
]
},
"profile": "road-restriction-check",
"profileVersion": 1,
"policyRule": "default",
"model": "clef-flash",
"decidedAt": "2026-07-08T10:46:12+09:00",
"humanInvolvement": {
"vocab": "dpv:HumanInvolvementForVerification"
},
"reviewStatus": "resolved",
"finalAction": "publish",
"reviewedBy": "staff-0012",
"reviewedAt": "2026-07-08T10:52:40+09:00",
"corrections": {
"json": [
{
"name": "category",
"value": "closedWeather",
"by": "staff-0012",
"at": "2026-07-08T10:52:40+09:00",
"note": "冠水による通行止めで間違いない"
}
]
}
}ファイル: example.json · example-normalized.jsonld · JSON-LD Playground で開く:属性ごとの IRI(展開形)が見られます。
改善の提案
属性が足りない、説明がおかしいと思ったら、Issue で知らせてください。新しい属性やモデルは提案フォームから提案できます。進め方は貢献するにあります。 ソースファイル(注記、対応表)は GitHub にあります。
注記
- 来歴の部分は、W3C の PROV-O(https://www.w3.org/TR/prov-o/ 、W3C 勧告 2013)に基づいています。判定は prov:Activity です。refersTo は prov:used、decidedAt は prov:endedAtTime、wasInformedBy は prov:wasInformedBy にあたります。答えたモデルは prov:SoftwareAgent、規則の集まりとその版は prov:Plan にあたりますが、NGSI-LD で扱いやすいように、model、profile、profileVersion は値(ID)で持ちます。正式な PROV-O にするには、モデルと規則の版に IRI を与え、prov:qualifiedAssociation(prov:agent と prov:hadPlan)を足します。人による確認は PROV-O では別の活動ですが、使う側を単純にするため、同じエンティティに持ちます。
- W3C と OGC の SOSA/SSN(https://www.w3.org/TR/vocab-ssn/ )は PROV-O との対応を公開していて、同じ形になります:sosa:hasFeatureOfInterest ⊑ prov:used(refersTo)、sosa:madeBySensor ⊑ prov:wasAssociatedWith(model)、sosa:usedProcedure(profile)、sosa:resultTime ⊑ prov:endedAtTime(2017 年版。2023 年版の草案では sosa:endTime)。ただし、型としては使いません。1 つの観測は 1 つの結果しか持たず、問いを「観測できる性質」とみなすのは無理があるからです。
- humanInvolvement の値は、W3C DPV 2.3(https://w3c-cg.github.io/dpv/2.3/dpv/ 、W3C コミュニティグループの報告書)の語です。DPV は処理の種類を表す語彙で、判定 1 件の記録は持たないので、人の関わり方の語だけを借りました。
- 検討した上流(2026-10-07):Smart Data Models の SMAnalysis(SocialMedia。1 件の分析に 1 つの値と 1 つの確信度)が最も近いのですが、複数の答えも人の確認もありません。MLModel と MLProcessing(モデルとジョブの記述)、Alert、Anomaly、AIPrediction、DataQualityAssessment、schema.org の AssessAction と ChooseAction、ML Schema、FAIR4ML、AIRO と VAIR、DMN は、型として合いません。ETSI ISG CIM に、AI の結果のモデルはありません。確率の標準(DQV、ISO 19156 の結果の品質、UncertML、QUDT)は選択肢ごとの確率に合わないので、probability と probabilities は独自の項目にしました。
- 法令や指針(2026-10-07 に確認)は、記録の形式を定めていません。ただし、policyRule(判定の根拠)は、AI 事業者ガイドライン第 1.2 版の 6)① と、デジタル庁 DS-920 の 6.5 がログに求める項目です。humanInvolvement は人の関わり方を記録する項目で、GDPR 第 22 条(3)・第 13〜15 条、EU の AI 法の第 26 条(11)・第 86 条、AI 事業者ガイドラインの U-7 が求める対応に役立ちます。保存期間はモデルの項目ではなく、運用の設定です。
- answers と corrections は NGSI-LD 1.8 の JsonProperty(中のキーは JSON-LD として展開しない)、humanInvolvement は VocabProperty(値は IRI)です。Orion-LD(post-1.12.0、2026-09-25 時点)はこの 2 つの型を受け付けないので、Orion-LD にはこのモデルのエンティティを保存できません。Scorpio 6.0.2、Stellio 2.38.0、GeonicDB には保存できます(2026-10-07 に確認)。入力のコピーは持ちません。入力に個人情報が入りうるため、refersTo で入力を指します。
- facts は、規則の集まりが求めた空間の事実を、判定のために調べた結果です。値そのものを残すため、JsonProperty にしました。PROV-O では判定の入力にあたりますが、JsonProperty なので prov:used の関係にはなりません(prov:used は refersTo だけです)。正式な PROV-O にするには、事実ごとにエンティティを作り、prov:used で結びます。source は層とその日付などの ID で、IRI ではありません。位置そのものは持ちません(refersTo の先にあります)。facts は規則だけが使い、モデルには見せません。言語モデルは、事実があるだけで危険度を高めに答える傾向があったからです。
- 下書き(draft)です。サブジェクト名 decision と名前空間 https://datamodels.jp/ns/decision/ は、新しいサブジェクトとしてグループが決めます。実データは、NGSI-LD ブローカー(GeonicDB)上の道路規制の報告に対する判定で作っています。