プレリリース版です。正式公開までは、公開済みのファイルも含めて内容が変わることがあります。
Skip to content

出典: https://datamodels.jp/models/decision/Decision/ · 文章は CC BY 4.0

Decision ドラフト ​

判定

1 件のエンティティについての、1 件の自動判定です。規則の集まりが出す問いへのモデルの答え(確率付き)と、その結果の行動を持ちます。

種類エンティティ
型 IRIhttps://datamodels.jp/ns/decision/Decision
@contexthttps://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 とバージョンを見てください。

型と関係 ​

型と関係の図refersToDecision判定↻ wasInformedBy任意のエンティティ

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*問いを出し、答えを行動に変えた規則の集まりの ID
https://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*答えたモデルの ID
https://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 ヘッダー:

    http
    Link: <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)上の道路規制の報告に対する判定で作っています。