「案件(Complaint)」の項目への変換ルール
ケーススタディ#1で作成した「案件一覧の例」のーCSVから「案件(Complaint)」の共通データモデルの形式に変換します。案件一覧表の例で「案件(Complaint)」のデータモデルから選択した項目と変換ルールは以下の通りです。
項目の内容 | ||||
---|---|---|---|---|
案件コード | id | idは”urn:ngsi-ld:Complaint:”と国コードと法人番号と案件コードを組み合わせた文字列としたので、案件コードから変換する事にします。 | ||
(なし) | type | データモデルのtypeを登録します。ここでは”Complaint”を登録します | ||
phenomenon | 不具合現象です。 | |||
現象概要 | category | 現象の概要。“破損”、“汚損”など。Arrayの一つ目の項目に転記します。 | ||
現象補足 | remarks | 前項の補足です。例えば、”コンクリートの割れ”など。そのまま転記します。 | ||
説明 | description | 説明を記載してあります。そのまま転記します。 | ||
参照案件コード | isPartOf | 一つの不具合により複数の案件を登録する場合に、関連する案件の案件IDを登録します。案件ID同様に、参照案件コードから変換します。 | ||
座標 | location | 不具合の座標です。「案件一覧の例」では採用していないため変換しません。 | ||
案件名 | name | 案件の名称です。そのまま転記します。 | ||
追加情報 | seeAlso | 追加情報のurlです。「案件一覧の例」では採用していないため変換しません。 | ||
ステータス | status | 活動状況を登録します。”処置中”、”完了”など。そのまま転記します。 | ||
timestamps | 受付、報告、完了のみっつの日付をArrayの項目にそのまま転記します。尚、”step”の値は用語定義されたものではありません | |||
[0] | Arrayの最初の項目群です。 | |||
受付日付 | timestamp | 不具合を認識した日付です。そのまま転記します。 | ||
(なし) | step | “受付”を登録します | ||
[1] | Arrayの二つ目の項目群です。 | |||
報告日付 | timestamp | 最初に報告した日付です。そのまま転記します。 | ||
(なし) | step | “報告”を登録します | ||
[2] | Arrayの三つ目の項目群です。 | |||
処置日付 | timestamp | 処置が完了した日付です。そのまま転記します。 | ||
(なし) | step | “処置”を登録します | ||
管理通番 | refBuilding | この案件の対象となる建物(Building)の建物ID(id)です。「建物」を管理通番で検索し、idを求めます。 | ||
zones | 不具合発生の場所です。 | |||
abstracts | 最大3項目のArrayです。 | |||
場所大分類 | [0] | 場所の大分類です。そのまま転記します。 | ||
場所中分類 | [1] | 場所の中分類 です。そのまま転記します。 | ||
場所小分類 | [2] | 場所の小分類 です。そのまま転記します。 | ||
場所補足 | remarks | 前項の補足です。例えば、”北側”など。そのまま転記します。 | ||
parts | 不具合を発生した部位や設備 | |||
部位概要 | abstracts | 不具合を発生した部位や設備の概要。そのまま転記します。 | ||
部位名または設備名 | refComponent | 「部位」または「設備」を部位名または設備名から検索し、idを求めます | ||
部位補足 | remarks | 部位の補足。”基礎部分”、”蛍光管”など。そのまま転記します。 | ||
cause | 不具合を発生させた報告の時点での推定原因。そのまま転記します。 | |||
原因概要 | abstracts | 原因の概要。用語から選択。そのまま転記します。 | ||
原因補足 | remarks | 前項の補足。そのまま転記します。 | ||
緊急度マーク | severityMark | 不具合に対する緊急性を示すマーク。そのまま転記します。 | ||
緊急度補足 | severity | 不具合に対する説明文。そのまま転記します。 | ||
処置計画 | repairPlan | 処置の計画です。”部品交換”などと記載します。そのまま転記します。 |
CSV表の準備
ケーススタディ#1の報告一覧表の例を使います。但し、一行目の実施日と報告日を標準形式ではなく、良く使われる非標準の形式にしてあります。これは、ツールで標準の形式に整形されるのをお見せするためです。
■入力となる表
案件コード | 案件名 | 建物名 | 管理通番 | 場所大分類 | 場所中分類 | 場所小分類 | 場所補足 | 部位概要 | 部位/設備名称 | 部位/設備補足 | 現象概要 | 現象補足 | 参照案件コード | 原因概要 | 原因補足 | 緊急度マーク | 緊急度補足 | 処置計画 | 受付日付 | 報告日付 | 処置日付 | ステータス | 説明 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
20240405-001 | 吉浦センター1Fトイレ不点灯 | 呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 男子トイレ | 照明器具 | 照明-1F-支所-003 | LED電球 | 不点灯 | 経年劣化 | B | 2024/4/5 | 2024/4/5 | 24/4/5 | 完了 | |||||||
20240410-002 | 吉小階段ノンスリップ | 呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 西階段室 | ノンスリップ | 下から3段目 | はがれ | 端から15センチ程度 | 経年劣化 | S | 階段踏み外しの可能性 | 2024-04-09 | 2024-04-10 | 2024-04-10 | 完了 | ||||||
20240410-003 | 吉小階段ノンスリップ本処置 | 呉市立吉浦小学校 | 03000012 | 校舎 | 2F | 西階段室 | ノンスリップ | 階段全段 | 荒れ | 摩耗が見られる | 20240410-002 | 経年劣化 | A | 将来階段踏み外しの可能性 | ノンスリップの交換 | 2024-04-09 | 2024-04-15 | 不具合報告 | |||||
20240415-004 | 吉中インターホン汚損 | 呉市立吉浦中学校 | 04000008 | 屋外 | 正門 | 呼出し設備 | 呼出-3F-吉中-004 | インターホン表面 | 汚損 | マジック様の塗料付着 | 盗難・いたずら(故意) | C | 2024-04-15 | 2024-04-20 | 2024-04-15 | 完了 | |||||||
20240420-005 | 吉浦センター正面玄関空調滴下 | 呉市吉浦市民センター | 01234567 | 建物内部 | 1F | 正面玄関 | 空調機 | 空調-1F-支所-009 | 室内機 | 漏水 | 経年劣化 | 排水不良 | A | 利用者の頭上で漏水 | 2024-04-20 | 2024-04-21 | 2024-04-21 | 完了 |
■CSVファイルの内容
案件コード,案件名,建物名,管理通番,場所大分類,場所中分類,場所小分類,場所補足,部位概要,部位/設備名称,部位/設備補足,現象概要,現象補足,参照案件コード,原因概要,原因補足,緊急度マーク,緊急度補足,処置計画,受付日付,報告日付,処置日付,ステータス,説明 20240405-001,吉浦センター1Fトイレ不点灯,呉市吉浦市民センター,01234567,建物内部,1F,男子トイレ,,照明器具,照明-1F-支所-003,LED電球,不点灯,,,経年劣化,,B,,,2024/4/5,2024/4/5,24/4/5,完了, 20240410-002,吉小階段ノンスリップ,呉市立吉浦小学校,03000012,校舎,2F,西階段室,,ノンスリップ,,下から3段目,はがれ,端から15センチ程度,,経年劣化,,S,階段踏み外しの可能性,,2024-04-09,2024-04-10,2024-04-10,完了, 20240410-003,吉小階段ノンスリップ本処置,呉市立吉浦小学校,03000012,校舎,2F,西階段室,,ノンスリップ,,階段全段,荒れ,摩耗が見られる,20240410-002,経年劣化,,A,将来階段踏み外しの可能性,ノンスリップの交換,2024-04-09,2024-04-15,,不具合報告, 20240415-004,吉中インターホン汚損,呉市立吉浦中学校,04000008,屋外,正門,,,呼出し設備,呼出-3F-吉中-004,インターホン表面,汚損,マジック様の塗料付着,,盗難・いたずら(故意),,C,,,2024-04-15,2024-04-20,2024-04-15,完了, 20240420-005,吉浦センター正面玄関空調滴下,呉市吉浦市民センター,01234567,建物内部,1F,正面玄関,,空調機,空調-1F-支所-009,室内機,漏水,,,経年劣化,排水不良,A,利用者の頭上で漏水,,2024-04-20,2024-04-21,2024-04-21,完了, |
案件情報の変換
このケーススタディでは”ctoj”というツールを使いますので、csvファイルを作成する際にはutf-8で書き込んでおきます。
このケーススタディでは以下の様に拡張JSON Schemaを策定しました。拡張JSON Schemaとは、本協議会が公開しているJSON SchemaにcsvからJSONファイルに変換する際のルールを追記したものです。詳しくはツールのサイトを参照してください。「案件」の場合は例えば以下となります。
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://ppp-database.org/spec/datamodel/Complaint/",
"type": "object",
"properties": {
"id": {
"type": "string",
"dataSource": {
"csvAttr": "案件コード",
"prefix": "urn:ngsi-ld:Complaint:JP9000020342025-"
}
},
--途中略--
},
"timestamps": {
"type": "object",
"properties": {
"type": {"const": "Array"},
"value": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"step": {
"type": "string",
"const": "受付"
},
"timestamp": {
"type": "string",
"dataSource": {"csvAttr": "受付日付"},
"format": "date" ------------------------------- 日付の形式を指定し居ます
}
},
"required": ["step", "timestamp"]
},
--以下略--
この拡張JSON Schemaを指定してctojツールを実行すると、以下の様に共通データ仕様の形式変換した結果が得られます。下図は変換後の先頭部分です。
[
{
"id": "urn:ngsi-ld:Complaint:JP9000020342025-20240405-001",
"type": "Complaint",
"phenomenon": {
"type": "StructuredValue",
"value": {
"category": [
"不点灯"
]
}
},
"name": {
"type": "Text",
"value": "吉浦センター1Fトイレ不点灯"
},
"status": {
"type": "Text",
"value": "完了"
},
"timestamps": {
"type": "Array",
"value": [
{
"step": "受付",
"timestamp": "2024-04-05" ------------------------------- 日付の形式が標準形式に修正されています
},
{
"step": "報告",
"timestamp": "2024-04-05" ------------------------------- 日付の形式が標準形式に修正されています
},
{
"step": "処置",
"timestamp": "2024-04-05" ------------------------------- 日付の形式が標準形式に修正されています
}
]
},
"refBuilding": {
"type": "Relationship",
"value": "urn:ngsi-ld:Building:JP0990123456001-01234567" ---- 「建物」を検索してidを求めています
},
"zones": {
"type": "StructuredValue",
"value": {
"abstracts": [
"建物内部",
"1F",
"男子トイレ"
]
}
},
--以下略--