| Attribute | 追加ルール | 説明 | ||||
| id | この例では案件コードと枝番を組み合わせることで、一意な文字列を生成しています | |||||
| dataSource | ||||||
| 0 | csvAttr | csvの項目名として"案件コード"を指定します | ||||
| prefix | idの先頭部分を作成するために、"urn:ngsi-ld:Report:JP9000020342025-"を案件コードの前に付加します。JP以降はこの例では呉市の法人番号です。 | |||||
| 1 | csvAttr | csvの項目名として"枝番"を指定します | ||||
| prefix | idの残りを作成するために、"-:"を枝番の前に付加してつなげます | |||||
| timestamp | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告日付"を指定します | |||||
| category | このAttributeはcsvAttrが無いので、省略されない様にrequiredにこのAttribute nameを追加します | |||||
| const | 即値として"不具合報告"を指定します | |||||
| dateOperation | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"検査日"を指定します | |||||
| refTarget | ||||||
| dataSource | ||||||
| dataSource | この例ではComplaintのidを作ります。 | |||||
| csvAttr | csvの項目名として"案件コード"を指定します | |||||
| prefix | Complaintのidの先頭部分を作成するために、"urn:ngsi-ld:Complaint:JP9000020342025-"を案件コードの前に付加します。JP以降はこの例では呉市の法人番号です。 | |||||
| entityType | 案件コードからBuildingのidを求めるために、検索対象に"Complaint"を指定します | |||||
| searchAttr | 検索キーとして"id"を指定します | |||||
| valueAttr | Buildingのidが格納されているAttributeである"refBuilding"を指定します | |||||
| refComplaint | ||||||
| dataSource | ||||||
| csvAttr | csvから値を求めるために、csvの項目名として"案件コード"を指定します | |||||
| prefix | Complaintのidを作成するために、"urn:ngsi-ld:Complaint:JP9000020342025-"を案件コードの前に付加します | |||||
| damageControl | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"簡易修繕"を指定します | |||||
| remarks | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"備考"を指定します | |||||
| request | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"要望"を指定します | |||||
| opinion | ||||||
| dataSource | ||||||
| csvAttr | csvから値を求めるために、csvの項目名として"所見"を指定します | |||||
| document | ||||||
| 0 | title | |||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書タイトル1"を指定します | |||||
| fileName | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書ファイル名1"を指定します | |||||
| filePath | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書パス1"を指定します | |||||
| 1 | title | |||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書タイトル2"を指定します | |||||
| fileName | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書ファイル名2"を指定します | |||||
| filePath | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書パス2"を指定します | |||||
| 2 | title | |||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書タイトル3"を指定します | |||||
| fileName | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書ファイル名3"を指定します | |||||
| filePath | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書パス3"を指定します | |||||
| 3 | title | |||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書タイトル4"を指定します | |||||
| fileName | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書ファイル名4"を指定します | |||||
| filePath | ||||||
| dataSource | ||||||
| csvAttr | csvの項目名として"報告書パス4"を指定します | |||||
| C:\Users\owner>chdir c:/Tools/ c:\Tools>Python ctoj.py dir=c:/Tools/data/ inputfile=Reportcsv.csv outputfile=Reportjson.json schemafile=Report.exschema.json Buildingfile=Buildingjson.jsonComplaintfile=Complaintjson.json logfile=Reportlog.txt ##### start ctoj converter ##### CSV translated to JSON successfully. Number of output Entities: 3 |
| [ { "id": "urn:ngsi-ld:Report:JP9000020342025-2023-123-000010-001", "type": "Report", "timestamp": { "type": "Date", "value": "2023-07-25" }, "category": { "type": "Text", "value": "不具合報告" }, "dateOperation": { "type": "Date", "value": "2023-07-25" }, "refTarget": { "type": "Relationship", "value": "urn:ngsi-ld:Building:JP9000020342025-01234567" }, "refComplaint": { "type": "Array", "value": [ "urn:ngsi-ld:Complaint:JP9000020342025-2023-123-000010" ] }, "damageControl": { "type": "Text", "value": "汚れ・つまりの清掃" }, "request": { "type": "Text", "value": "図書館の雰囲気を維持する観点から早急な処置が望ましい" }, "opinion": { "type": "Text", "value": "簡易修繕で汚損が解消されたことから、更なる修繕は不要と考える" }, "document": { "type": "Array", "value": [ { "title": "2023-123-000010-001", "fileName": "2023-123-000010-001", "filePath": "a/b/report" } ] } }, { "id": "urn:ngsi-ld:Report:JP9000020342025-2023-155-000001-005", "type": "Report", "timestamp": { "type": "Date", "value": "2023-06-30" }, "category": { "type": "Text", "value": "不具合報告" }, "dateOperation": { "type": "Date", "value": "2023-06-30" }, "refTarget": { "type": "Relationship", "value": "urn:ngsi-ld:Building:JP9000020342025-01234567" }, "refComplaint": { "type": "Array", "value": [ "urn:ngsi-ld:Complaint:JP9000020342025-2023-155-000001" ] }, "damageControl": { "type": "Text", "value": "屋上ドレインホールのつまり" }, "request": { "type": "Text", "value": "天井シミ等は別案件として管理" }, "document": { "type": "Array", "value": [ { "fileName": "2023-155-000001-005", "filePath": "2023-155-000001-005" }, { "title": "a/b/report" } ] } }, { "id": "urn:ngsi-ld:Report:JP9000020342025-2023-155-000002-009", "type": "Report", "timestamp": { "type": "Date", "value": "2023-07-03" }, "category": { "type": "Text", "value": "不具合報告" }, "dateOperation": { "type": "Date", "value": "2023-07-03" }, "refTarget": { "type": "Relationship", "value": "urn:ngsi-ld:Building:JP9000020342025-01234567" }, "refComplaint": { "type": "Array", "value": [ "urn:ngsi-ld:Complaint:JP9000020342025-2023-155-000002" ] }, "document": { "type": "Array", "value": [ { "title": "2023-155-000002-009", "fileName": "2023-155-000002-009", "filePath": "a/b/report" } ] } } ] |
| 08: inputdir: c:/Tools/data/, inputfile: Reportcsv.csv 09: referenced entities. directory: c:/Tools/data/, Buildingfile: Buildingjson.json 09: referenced entities. directory: c:/Tools/data/, Complaintfile: Complaintjson.json 09: outputdir: c:/Tools/data/, outputfile: Reportjson.json 10: CSV Line# 2 10: CSV Line# 3 10: CSV Line# 4 12: CSV translated to JSON successfully. Entities number: 3 |