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 |