English
Comment draft
A note, handover or reply on a task. Field change history is not a comment; the temporal API keeps history.
| Japanese name | コメント |
| Type IRI | https://datamodels.jp/ns/task/Comment |
| @context | https://datamodels.jp/context/task/v1.jsonld (alias, latest compatible version)https://datamodels.jp/context/task/v1.0.0.jsonld (this version, immutable) |
| JSON Schema | /schema/task/Comment/v1.json/schema/task/Comment/v1.0.0.json |
| Examples | key-values · normalized |
| Source | github.com/geolonia/datamodels |
Attributes
task
requiredThe task this belongs to
- Value: Relationship → Task
- IRI:
https://datamodels.jp/ns/task/task
author
Creator (a person, organisation or team entity)
- Value: Relationship → person, organisation or team
- IRI:
https://schema.org/author
text
requiredThe text
- Value: Property, string
- IRI:
https://schema.org/text
textFormat
Format of the text
- Value: Property, string:
text|markdown|textile|html - IRI:
https://datamodels.jp/ns/task/textFormat
inReplyTo
The comment this replies to
- Value: Relationship → Comment
- IRI:
https://datamodels.jp/ns/task/inReplyTo
isPrivate
true when private; default false
- Value: Property, boolean
- IRI:
https://datamodels.jp/ns/task/isPrivate
sentAt
When it was posted
- Value: Property, string (date-time)
- IRI:
https://schema.org/dateSent
source
URL of this object in the system of record
- Value: Property, string (uri)
- IRI:
https://smart-data-models.github.io/data-models/terms.jsonld#/definitions/source
externalId
Identifier in the system of record
- Value: Property, string
- IRI:
https://datamodels.jp/ns/task/externalId
Example (key-values)
The examples are a fictional scenario (heavy rain in Chiyoda, Tokyo). Place names and codes are real; the events, people and teams are invented. See writing examples.
json
{
"id": "urn:ngsi-ld:Comment:1234-3",
"type": "Comment",
"task": "urn:ngsi-ld:Task:1234",
"author": "urn:ngsi-ld:Team:field-team-a",
"text": "水位上昇中、注視継続。災害対策本部へ申し送り。",
"textFormat": "text",
"isPrivate": false,
"sentAt": "2026-07-08T11:05:00+09:00",
"source": "https://tracker.example.jp/issues/1234#note-3",
"externalId": "5678"
}Example (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:Comment:1234-3",
"type": "Comment",
"task": {
"type": "Relationship",
"object": "urn:ngsi-ld:Task:1234"
},
"author": {
"type": "Relationship",
"object": "urn:ngsi-ld:Team:field-team-a"
},
"text": {
"type": "Property",
"value": "水位上昇中、注視継続。災害対策本部へ申し送り。"
},
"textFormat": {
"type": "Property",
"value": "text"
},
"isPrivate": {
"type": "Property",
"value": false
},
"sentAt": {
"type": "Property",
"value": {
"@type": "DateTime",
"@value": "2026-07-08T11:05:00+09:00"
}
},
"source": {
"type": "Property",
"value": "https://tracker.example.jp/issues/1234#note-3"
},
"externalId": {
"type": "Property",
"value": "5678"
}
}Link header
http
Link: <https://datamodels.jp/context/task/v1.jsonld>; rel="http://www.w3.org/ns/json-ld#context"; type="application/ld+json"How to validate data and send it to a broker: Using the models.
Corresponding standards: GitHub issue comment
| This model | Maps to | Note |
|---|---|---|
task | issue_url | |
author | user | |
text | body | |
textFormat | no counterpart | always markdown |
sentAt | created_at | |
source | html_url | |
externalId | id |
Corresponding standards: Redmine journal note
journals with empty notes (field changes only) are not comments
| This model | Maps to | Note |
|---|---|---|
task | issue_id | |
author | user | |
text | notes | |
textFormat | no counterpart | instance setting (textile or markdown) |
isPrivate | private_notes | |
sentAt | created_on | |
source | <base_url>/issues/<issue_id>#note-<n> | |
externalId | id |
Notes
- 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.
- Trackers often keep comments and field-change history in one log; only the written note is a Comment. History belongs to the temporal API.
Model content on this page is licensed under CC BY 4.0. LICENSE-CONTENT