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

Task ドラフト ​

タスク

追跡される作業単位。課題管理システムの「チケット」「Issue」、カレンダーの ToDo、自治体の作業指示など。状態と優先度の値域は RFC 8984(JSCalendar)に合わせ、元システム固有の状態名や種別は statusLabel と subtype に保持する。位置は任意のジオメトリ。

型 IRIhttps://datamodels.jp/ns/task/Task
@contexthttps://datamodels.jp/context/task/v1.jsonld (エイリアス、互換性のある最新版)
https://datamodels.jp/context/task/v1.0.0.jsonld (このバージョン、不変)
JSON Schema/schema/task/Task/v1.json
/schema/task/Task/v1.0.0.json
例key-values · normalized
ソースgithub.com/geolonia/datamodels

属性 ​

name ​

必須

名称・件名

  • 値: Property, string
  • IRI: https://uri.etsi.org/ngsi-ld/name

description ​

説明

  • 値: Property, string
  • IRI: https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.8.jsonld#description

project ​

所属プロジェクト(元システムにプロジェクトの概念がある場合)

  • 値: Relationship → Project
  • IRI: https://datamodels.jp/ns/task/project

parent ​

親タスク(RFC 8984 relatedTo parent)

  • 値: Relationship → Task
  • IRI: https://datamodels.jp/ns/task/parent

relatedTo ​

関連するタスク(key-values 形式では対象が 1 つでも配列)。関係の種類(blocks, precedes, duplicates など)は拡張で表す

  • 値: Relationship → Task(複数可)
  • IRI: https://datamodels.jp/ns/task/relatedTo

refersTo ​

このタスクが対象とするエンティティ(通報、設備、道路など)

  • 値: Relationship → 任意のエンティティ
  • IRI: https://datamodels.jp/ns/task/refersTo

progress ​

必須

正規化した進行状態(RFC 8984 progress)。needs-action=未着手、in-process=対応中、completed=完了、failed=失敗、cancelled=取消

  • 値: Property, string: needs-action | in-process | completed | failed | cancelled
  • IRI: https://datamodels.jp/ns/task/progress

statusLabel ​

元システムの状態名そのまま(「対応中」「解決」など)

  • 値: Property, string
  • IRI: https://datamodels.jp/ns/task/statusLabel

subtype ​

元システムの種別(トラッカー、Issue タイプ、カテゴリなど)

  • 値: Property, string
  • IRI: https://datamodels.jp/ns/task/subtype

priority ​

優先度 0〜9。1 が最高、9 が最低、0 は未定義(RFC 8984)

  • 値: Property, integer, ≥ 0
  • IRI: https://datamodels.jp/ns/task/priority

assignee ​

担当者・担当チーム(人・組織・チームのエンティティ。このサブジェクト外の URN でもよい)。key-values 形式では対象が 1 つでも配列

  • 値: Relationship → 人・組織・チーム(複数可)
  • IRI: https://datamodels.jp/ns/task/assignee

author ​

作成者(人・組織・チームのエンティティ)

  • 値: Relationship → 人・組織・チーム
  • IRI: https://schema.org/author

start ​

開始(予定)日時(RFC 8984 start)

  • 値: Property, string (date-time)
  • IRI: https://datamodels.jp/ns/task/start

due ​

期限(RFC 8984 due)

  • 値: Property, string (date-time)
  • IRI: https://datamodels.jp/ns/task/due

completedAt ​

progress が completed になった日時

  • 値: Property, string (date-time)
  • IRI: https://datamodels.jp/ns/task/completedAt

estimatedDuration ​

見積時間。ISO 8601 期間(例: PT1H30M)(RFC 8984 estimatedDuration)

  • 値: Property, string
  • IRI: https://datamodels.jp/ns/task/estimatedDuration

percentComplete ​

進捗率 0〜100(RFC 8984 percentComplete)

  • 値: Property, integer, ≥ 0
  • IRI: https://datamodels.jp/ns/task/percentComplete

keywords ​

キーワード・ラベル

  • 値: Property, array
  • IRI: https://schema.org/keywords

location ​

位置。点・線・面・それらの集合など任意の GeoJSON ジオメトリ

  • 値: GeoProperty (Geometry)
  • IRI: https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.8.jsonld#location

spatialId ​

タスクの範囲を覆う空間ID(ZFXY)。任意

  • 値: Property, array
  • IRI: https://datamodels.jp/ns/task/spatialId

isPrivate ​

非公開なら true。既定は false

  • 値: Property, boolean
  • IRI: https://datamodels.jp/ns/task/isPrivate

source ​

元システムにおけるこのオブジェクトの URL

  • 値: Property, string (uri)
  • IRI: https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/source

externalId ​

元システムにおける識別子

  • 値: Property, string
  • IRI: https://datamodels.jp/ns/task/externalId

dateCreated ​

元システムでの作成日時(ブローカーの createdAt とは別)

  • 値: Property, string (date-time)
  • IRI: https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/dateCreated

dateModified ​

元システムでの更新日時

  • 値: Property, string (date-time)
  • IRI: https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/dateModified

例(key-values) ​

json
{
  "id": "urn:ngsi-ld:Task:takamatsu:1234",
  "type": "Task",
  "name": "西宝町1-1 の冠水を確認する",
  "description": "通報 #12 の現地確認。水位と通行可否を報告すること。",
  "project": "urn:ngsi-ld:Project:takamatsu-flood-2026-typhoon-10",
  "parent": "urn:ngsi-ld:Task:takamatsu:1200",
  "relatedTo": [
    "urn:ngsi-ld:Task:takamatsu:1198"
  ],
  "refersTo": "urn:ngsi-ld:RoadRestriction:2026-typhoon-10-003",
  "progress": "in-process",
  "statusLabel": "対応中",
  "subtype": "現地確認",
  "priority": 2,
  "assignee": [
    "urn:ngsi-ld:Team:takamatsu:genchi-1"
  ],
  "author": "urn:ngsi-ld:Person:takamatsu:yamada",
  "start": "2026-08-21T10:30:00+09:00",
  "due": "2026-08-21T12:00:00+09:00",
  "estimatedDuration": "PT1H30M",
  "percentComplete": 40,
  "keywords": [
    "冠水",
    "巡回"
  ],
  "location": {
    "type": "Point",
    "coordinates": [
      134.0437,
      34.3403
    ]
  },
  "spatialId": [
    "/25/0/29803543/13212179"
  ],
  "isPrivate": false,
  "source": "https://tracker.example.jp/issues/1234",
  "externalId": "1234",
  "dateCreated": "2026-08-21T10:20:00+09:00",
  "dateModified": "2026-08-21T11:05:00+09:00"
}

例(normalized) ​

json
{
  "@context": [
    "https://datamodels.jp/context/task/v1.0.0.jsonld",
    "https://uri.etsi.org/ngsi-ld/v1/ngsi-ld-core-context-v1.8.jsonld"
  ],
  "id": "urn:ngsi-ld:Task:takamatsu:1234",
  "type": "Task",
  "name": {
    "type": "Property",
    "value": "西宝町1-1 の冠水を確認する"
  },
  "description": {
    "type": "Property",
    "value": "通報 #12 の現地確認。水位と通行可否を報告すること。"
  },
  "project": {
    "type": "Relationship",
    "object": "urn:ngsi-ld:Project:takamatsu-flood-2026-typhoon-10"
  },
  "parent": {
    "type": "Relationship",
    "object": "urn:ngsi-ld:Task:takamatsu:1200"
  },
  "relatedTo": [
    {
      "type": "Relationship",
      "object": "urn:ngsi-ld:Task:takamatsu:1198",
      "datasetId": "urn:ngsi-ld:dataset:relatedTo:1"
    }
  ],
  "refersTo": {
    "type": "Relationship",
    "object": "urn:ngsi-ld:RoadRestriction:2026-typhoon-10-003"
  },
  "progress": {
    "type": "Property",
    "value": "in-process"
  },
  "statusLabel": {
    "type": "Property",
    "value": "対応中"
  },
  "subtype": {
    "type": "Property",
    "value": "現地確認"
  },
  "priority": {
    "type": "Property",
    "value": 2
  },
  "assignee": [
    {
      "type": "Relationship",
      "object": "urn:ngsi-ld:Team:takamatsu:genchi-1",
      "datasetId": "urn:ngsi-ld:dataset:assignee:1"
    }
  ],
  "author": {
    "type": "Relationship",
    "object": "urn:ngsi-ld:Person:takamatsu:yamada"
  },
  "start": {
    "type": "Property",
    "value": {
      "@type": "DateTime",
      "@value": "2026-08-21T10:30:00+09:00"
    }
  },
  "due": {
    "type": "Property",
    "value": {
      "@type": "DateTime",
      "@value": "2026-08-21T12:00:00+09:00"
    }
  },
  "estimatedDuration": {
    "type": "Property",
    "value": "PT1H30M"
  },
  "percentComplete": {
    "type": "Property",
    "value": 40
  },
  "keywords": {
    "type": "Property",
    "value": [
      "冠水",
      "巡回"
    ]
  },
  "location": {
    "type": "GeoProperty",
    "value": {
      "type": "Point",
      "coordinates": [
        134.0437,
        34.3403
      ]
    }
  },
  "spatialId": {
    "type": "Property",
    "value": [
      "/25/0/29803543/13212179"
    ]
  },
  "isPrivate": {
    "type": "Property",
    "value": false
  },
  "source": {
    "type": "Property",
    "value": "https://tracker.example.jp/issues/1234"
  },
  "externalId": {
    "type": "Property",
    "value": "1234"
  },
  "dateCreated": {
    "type": "Property",
    "value": {
      "@type": "DateTime",
      "@value": "2026-08-21T10:20:00+09:00"
    }
  },
  "dateModified": {
    "type": "Property",
    "value": {
      "@type": "DateTime",
      "@value": "2026-08-21T11:05:00+09:00"
    }
  }
}
http
Link: <https://datamodels.jp/context/task/v1.jsonld>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"

データの検証とブローカーへの送り方は使い方を参照。

対応する標準: GitHub Issues(REST API) ​

GitHub Issues(REST API)

GitHub の Issue には優先度・期限・進捗率が無い(Projects のカスタムフィールドは拡張)。state と state_reason から progress を導く。

このモデル対応先備考
nametitle
descriptionbody
projectrepositoryProject.identifier = owner/repo
parent対応なしサブイシュー(sub-issues)が拡張候補
relatedTo対応なし
refersTo対応なし
progressstate + state_reasonopen → needs-action または in-process、closed+completed → completed、closed+not_planned / duplicate → cancelled
statusLabelstate (+ state_reason)
subtypetypeIssue Types(組織機能)または labels の一つ
priority対応なし
assigneeassignees
authoruser
start対応なし
due対応なしmilestone.due_on は拡張
completedAtclosed_atstate=closed かつ state_reason=completed の場合のみ。not_planned / duplicate の closed_at は対応させない
estimatedDuration対応なし
percentComplete対応なし
keywordslabels[].name
location対応なし
spatialId対応なし
isPrivate対応なしリポジトリの可視性で決まる
sourcehtml_url
externalIdnumber
dateCreatedcreated_at
dateModifiedupdated_at

対応する標準: IssueReporting(Smart Data Models dataModel.IssueTracking、IUDX 由来) ​

IssueReporting(Smart Data Models dataModel.IssueTracking、IUDX 由来)

インドの市民苦情記録(区・部局・ランドマーク)。相互運用のための対応表であり、採用ではない。

このモデル対応先備考
nametitle
description対応なし
subtypecategory / subCategory
progressresolutionStatus値は実装依存。resolved → completed
statusLabelresolutionStatus
assigneedepartmentId部局の識別子。エンティティ参照ではない
startobservationDateTime
locationlocationlandmark と wardId は拡張
externalIdreportId
keywords対応なし

対応する標準: JSCalendar Task(RFC 8984) ​

JSCalendar Task(RFC 8984)

値域はこの標準に合わせている。JSCalendar の locations は名前付き地点の集合で座標は geo URI、こちらは GeoJSON ジオメトリ。participants は役割付きの集合で、assignee はその attendee/owner 相当。

このモデル対応先備考
nametitle
descriptiondescription
project対応なしJSCalendar にはプロジェクトの概念が無い(カレンダー単位)
parentrelatedTo[parent]
relatedTorelatedTofirst / next / child は拡張
refersTo対応なし
progressprogress値域は同一(cancelled も RFC 8984 の標準値)
statusLabel対応なし
subtype対応なし
prioritypriority
assigneeparticipantsroles に attendee または owner を持つ participant
author対応なしJSCalendar は所有者を participant の owner 役割で表す
startstart
duedue
completedAtprogressUpdatedprogress が completed の場合のみ
estimatedDurationestimatedDuration
percentCompletepercentComplete
keywordskeywords
locationlocations点は coordinates(geo URI)に、線・面は対応なし
spatialId対応なし
isPrivateprivacyprivate / secret
sourcelinksrel=alternate のリンク
externalIduid
dateCreatedcreated
dateModifiedupdated

対応する標準: Open311 GeoReport v2 service_requests(Smart Data Models dataModel.IssueTracking) ​

Open311 GeoReport v2 service_requests(Smart Data Models dataModel.IssueTracking)

相互運用のための対応表であり、採用ではない。Open311 は北米の 311 窓口の通報記録で、担当・期限・進捗率・親子関係を持たない。

このモデル対応先備考
nameservice_name
descriptiondescription
project対応なしjurisdiction_id が最も近い
refersTo対応なし
progressstatusopen → needs-action、closed → completed
statusLabelstatus_notes
subtypeservice_code
assigneeagency_responsible文字列。エンティティ参照ではない
startrequested_datetime
dueexpected_datetime
completedAtupdated_datetimeclosed のときのみ近似
locationlat, long点のみ。address / address_id / zipcode は住所(common JapaneseAddress の拡張候補)
source対応なし
externalIdservice_request_id
dateCreatedrequested_datetime
dateModifiedupdated_datetime

対応する標準: Redmine の Issue(redmine_gtt_fiware の出力を含む) ​

Redmine の Issue(redmine_gtt_fiware の出力を含む)

Redmine の優先度は順序付きリスト(低・通常・高・緊急・今すぐ)で、1〜9 に写す。ステータスは is_closed で needs-action / completed を、それ以外は運用に応じて in-process を割り当てる。カスタムフィールドは拡張。GTT(redmine_gtt_fiware)は Issue を tm:Task のエイリアスまたはサブクラスとして対応付けられる。

このモデル対応先備考
namesubject
descriptiondescription
projectproject_id
parentparent_issue_id
relatedTorelations[].issue_to_idrelation_type(relates
refersTo対応なしGTT の refersTo(購読元エンティティ)に対応
progressstatus.is_closedclosed なら completed、それ以外は needs-action または in-process
statusLabelstatus.name
subtypetracker.name
prioritypriority.position順位を 1〜9 に写す
assigneeassigned_to_id
authorauthor_id
startstart_date
duedue_date
completedAtclosed_on
estimatedDurationestimated_hours時間を ISO 8601 期間に変換(1.5 → PT1H30M)
percentCompletedone_ratio
keywords対応なしRedmine 核には無い。タグ系プラグインは拡張
locationgeomredmine_gtt の geometry(点・線・面、3D)
spatialId対応なし
isPrivateis_private
source<base_url>/issues/<id>
externalIdid
dateCreatedcreated_on
dateModifiedupdated_on

注記 ​

  • Upstream considered (2026-09-18): Smart Data Models dataModel.IssueTracking (Open311 service_requests/services; IUDX IssueReporting), both citizen-complaint records shaped by one country's municipal process, not task models; dataModel.Transportation CityWork and dataModel.PredictiveMaintenance, domain-specific. RFC 8984 (JSCalendar Task) is the universal reference and supplies the value spaces used here. See issue #22.
  • The core is deliberately small. System-specific data (time spent, milestones, watchers, custom fields, map rotation) belongs in extensions.
  • progress uses the RFC 8984 value set unchanged: needs-action, in-process, completed, failed, cancelled. statusLabel keeps the source system’s own status name; subtype its tracker, issue type or category.
  • relatedTo and assignee are multi-valued Relationships (one instance per target, distinguished by datasetId). In the key-values form they are always arrays, even with a single target. The kind of a relation (blocks, precedes, duplicates) is not in the core.
  • A source system keeps its own type and attribute names through a JSON-LD alias context (see the Tips guide); its vocabulary can also declare its types subclasses of these.
  • project is optional: RFC 8984 has no project, and a calendar to-do or a stand-alone work order should not have to invent one; trackers whose issues always belong to a project can require it in their own model. name and progress are required.

このページのモデル内容は CC BY 4.0 で提供されています。 LICENSE-CONTENT