ケーススタディ#2 – CSVから共通データ仕様の形式への変換 (12/14) — 案件(Report)

「報告(Report)」の項目への変換ルール

 ケーススタディ#1で作成した報告一覧の例から「報告(Report)」に変換します。報告一覧表の例で「報告(Report)」から選択した項目は以下の通りです。

CSV表の項目名共通データ仕様上の項目名項目の内容
案件コード、枝番ididは”url:ngsi-ld:Report:”という文字列に国コード、オーナーの法人番号、案件コードおよび枝番を組み合わせた文字列です。国コードは日本国内の団体であれば”JP”固定です。報告一覧にはオーナーを特定する情報がありませんので、法人番号は固定の文字列としてidを作成します。
(なし)typeデータモデルのtypeを登録します。ここでは”Report”を登録します
報告日timestamp報告日です。形式は共通データ仕様に合わせる必要があります。そのまま転記します。
報告書名称category報告書の種別の名称であり、タイトルではない事に留意必要です。例えば、本チュートリアルでは全て「不具合報告」としています。そのまま転記します。
実施日dateOperation報告する点検等の実施日です。そのまま転記します。
報告者refSubmitter報告者の法人に対するリンク。この項目は12条点検など公的な報告を前提としているので、包括施設管理で登録する場合は自治体の「法人(Organization)」。「報告一覧の例」では採用していませんので、無視します
調査者inspector12条点検等の報告における、調査者や検査者の法人に対するリンク。「報告一覧の例」では採用していません
親報告reportParent12条点検の報告において、建物が複数の建築物(棟)から構成される場合、建築物の報告から建物の報告に対するリンクです。「報告一覧の例」では採用していませんので、無視します
管理通番refTarget建物IDです。建物IDはCSVに無いので、代わりに管理通番で「建物(Building)」を検索して求めます
案件コードrefComplaint本報告にて報告する「案件」の案件ID。Arrayの項目です。CSV上は一件しかないので、Arrayの一つ目の項目に案件IDを登録します。CSV上案件IDは無いので、国コード、法人番号、案件コードを組み合わせて作成します。
対象設備equipment12条点検における検査対象の建築設備。「報告一覧の例」では採用していませんので、無視します
簡易修繕damageControl簡易修繕の内容です。そのまま転記します。
pictures写真を登録します。Array構造ですが、4枚までと制限する事でCSVでも表現可能とします。報告書自体を参照すれは写真は確認可能なので、「報告一覧の例」では採用していませんので、無視します
[0]Arrayの一つ目の項目群です。
写真番号1no写真に識別が必要な場合に識別の情報を登録する。例えば写真番号です
写真url1url写真の登録場所
写真補足1remarks写真への補足
[1]Arrayの二つ目の項目群です。
写真番号2no以下同様
写真url2url
写真補足2remarks
[2]Arrayの三つ目の項目群です。
写真番号3no
写真url3url
写真補足3remarks
[3]Arrayの四つ目の項目群です
写真番号4no
写真url4url
写真補足4remarks
要望request職員などからの要望事項がある場合は記載します。そのまま転記します。
備考remarks備考です。そのまま転記します。
所見opinion施設管理事業者の担当者の所見です。そのまま転記します。
documentpdf等になった報告書の格納情報。Array項目ですがファイルを4個までに制限する事でCSVで表現可能としているので、それぞれArrayに登録します。
[0]Arrayの一つ目に登録する項目群です。
報告書タイトル1title電子化したドキュメントのタイトル
報告書ファイル名1fileName電子化したドキュメントの格納ファイル名
報告書パス1filePath電子化したドキュメントの格納フォルダのパス
報告書url1url電子化したドキュメントのURL。前項の代わりに使用可能です。「報告一覧の例」では採用していませんので、無視します
[1]Arrayの二つ目に登録する項目群です。
報告書タイトル2title以下同様
報告書ファイル名2fileName
報告書パス2filePath
報告書url2url
[2]Arrayの三つ目に登録する項目群です。
報告書タイトル3title
報告書ファイル名3fileName
報告書パス3filePath
報告書url3url
[3]Arrayの四つ目に登録する項目群です
報告書タイトル4title
報告書ファイル名4fileName
報告書パス4 filePath
報告書url4 url

CSV表の準備

 ケーススタディ#1の報告一覧表の例を使います。但し、一行目の実施日と報告日を標準形式ではなく、良く使われる非標準の形式にしてあります。これは、ツールで標準の形式に整形されるのをお見せするためです。

■入力となる表

報告書名称実施日報告日案件コード枝番建物場所大分類場所中分類場所小分類部位概要現象概要簡易修繕要望備考所見報告書タイトル1報告書ファイル名1報告書パス1報告書タイトル2報告書ファイル名2報告書パス2報告書タイトル3報告書ファイル名3報告書パス3報告書タイトル4報告書ファイル名4報告書パス4
不具合報告2024/4/524/4/520240405-00101呉市吉浦市民センター建物内部1F男子トイレ照明器具不点灯    不具合報告20240405-001-0120240405-001-01.pdfX:/report/2024/         
不具合報告2024-04-102024-04-1020240410-00201呉市立吉浦小学校校舎2F西階段室ノンスリップはがれ軽微な損傷がある部分の補修他の段を踏めた本格処置の要望あり 各段に摩耗が見られ、安全面で早期の交換が望ましい不具合報告20240410-002-0120240410-002-01.pdfX:/report/2024/         
不具合報告2024-04-102024-04-1020240410-00301呉市立吉浦小学校校舎2F西階段室ノンスリップ荒れ    不具合報告20240410-003-0120240410-003-01.pdfX:/report/2024/         
不具合報告2024-04-152024-04-1520240415-00401呉市立吉浦中学校屋外正門 呼出し設備汚損汚れ・詰まり等の清掃   不具合報告20240415-004-0120240415-004-01.pdfX:/report/2024/         
不具合報告2024-04-202024-04-2020240420-00501呉市吉浦市民センター建物内部1F正面玄関空調機漏水 センター長様より早期解決の依頼 早期発注を調整する不具合報告20240420-005-0120240420-005-01.pdfX:/report/2024/         
不具合報告2024-04-252024-04-2520240420-00502呉市吉浦市民センター建物内部1F正面玄関空調機漏水    不具合報告20240420-005-0220240420-005-02.pdfX:/report/2024/         

■CSVファイルの内容

報告書名称,実施日,報告日,案件コード,枝番,建物,場所大分類,場所中分類,場所小分類,部位概要,現象概要,簡易修繕,要望,備考,所見,報告書タイトル1,報告書ファイル名1,報告書パス1,報告書タイトル2,報告書ファイル名2,報告書パス2,報告書タイトル3,報告書ファイル名3,報告書パス3,報告書タイトル4,報告書ファイル名4,報告書パス4
不具合報告,2024/4/5,24/4/5,20240405-001,01,呉市吉浦市民センター,建物内部,1F,男子トイレ,照明器具,不点灯,,,,,不具合報告20240405-001-01,20240405-001-01.pdf,X:/report/2024/,,,,,,,,,
不具合報告,2024-04-10,2024-04-10,20240410-002,01,呉市立吉浦小学校,校舎,2F,西階段室,ノンスリップ,はがれ,軽微な損傷がある部分の補修,他の段を踏めた本格処置の要望あり,,各段に摩耗が見られ、安全面で早期の交換が望ましい,不具合報告20240410-002-01,20240410-002-01.pdf,X:/report/2024/,,,,,,,,,
不具合報告,2024-04-10,2024-04-10,20240410-003,01,呉市立吉浦小学校,校舎,2F,西階段室,ノンスリップ,荒れ,,,,,不具合報告20240410-003-01,20240410-003-01.pdf,X:/report/2024/,,,,,,,,,
不具合報告,2024-04-15,2024-04-15,20240415-004,01,呉市立吉浦中学校,屋外,正門,,呼出し設備,汚損,汚れ・詰まり等の清掃,,,,不具合報告20240415-004-01,20240415-004-01.pdf,X:/report/2024/,,,,,,,,,
不具合報告,2024-04-20,2024-04-20,20240420-005,01,呉市吉浦市民センター,建物内部,1F,正面玄関,空調機,漏水,,センター長様より早期解決の依頼,,早期発注を調整する,不具合報告20240420-005-01,20240420-005-01.pdf,X:/report/2024/,,,,,,,,,
不具合報告,2024-04-25,2024-04-25,20240420-005,02,呉市吉浦市民センター,建物内部,1F,正面玄関,空調機,漏水,,,,,不具合報告20240420-005-02,20240420-005-02.pdf,X:/report/2024/,,,,,,,,,

報告情報の変換

 このケーススタディでは”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/Report/",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "dataSource": [
        {
          "csvAttr": "案件コード",
          "prefix": "urn:ngsi-ld:Report:JP9000020342025-"
        },
        {
          "csvAttr": "枝番",
          "prefix": "-"
        }
      ]
    },
    "type": {"const": "Report"},
    "timestamp": {
      "type": "object",
      "properties": {
        "type": {"const": "Date"},
        "value": {
          "type": "string",
          "format": "date",    ------------------------------- 日付の形式を指定しています
          "dataSource": {"csvAttr": "報告日"}
        }
      },
      "required": ["type", "value"]
    },
--以下略--

 この拡張JSON Schemaを指定してctojツールを実行すると、以下の様に共通データ仕様の形式変換した結果が得られます。下図は変換後の先頭部分です。

  [
    {
      "id": "urn:ngsi-ld:Report:JP9000020342025-20240405-001-01",
      "type": "Report",
      "timestamp": {
        "type": "Date",
        "value": "2024-04-05"    ------------------------------- 日付の形式が標準形式に修正されています
      },
      "category": {
        "type": "Text",
        "value": "不具合報告"
      },
      "dateOperation": {
        "type": "Date",
        "value": "2024-04-05"    ------------------------------- 日付の形式が標準形式に修正されています
      },
      "refTarget": {
        "type": "Relationship",
        "value": "urn:ngsi-ld:Building:JP0990123456001-01234567"
      },
      "refComplaint": {
        "type": "Array",
        "value": [
          "urn:ngsi-ld:Complaint:JP9000020342025-20240405-001"
        ]
      },
      "document": {
        "type": "Array",
        "value": [
          {
            "title": "不具合報告20240405-001-01",
            "fileName": "20240405-001-01.pdf",
            "filePath": "X:/report/2024/"
          }
        ]
      }
    },
--以下略--