Attribute | 追加ルール | 説明 | ||||
id | ||||||
dataSource | ||||||
csvAttr | csvの項目名として、"不動産ID"を指定します。 | |||||
prefix | 不動産IDの前に付加する文字列として、"urn:ngsi-ld:Building::"を指定します。これにより、idの文字列が"urn:ngsi-ld:Building::"と土地の不動産IDを結合した文字列になります | |||||
alternate | 自治体が保有する建物は登記しなくても良いという例外の規定があり、実際に殆どの不動産は登記されていません。このため、不動産IDも割り振られていないのが現状です。そこで、不動産IDがなかった場合に備えてalternateの指定もします。この指定はid直下のdataSourceで指定したcsvファイルの項目に値が無かった場合に使用されます。内容はcsvAttrとprefixの指定であり、不動産IDもどきの文字列を生成します。この例では、法人番号と施設IDを組み合わせて文字列を生成しました | |||||
0 | dataSource | |||||
csvAttr | 法人番号を求めるための元情報元情報としてcsvの項目名として、"自治体名"を指定します。 | |||||
entityType | 自治体名から法人番号を求めるためのentitiesとして"Organization"を指定します | |||||
searchAttr | Organizationをサーチする項目として法人名が格納してある"name"を指定します | |||||
searchAttr | 法人番号を取り出す項目として、identificationGroupのidentificationを指定します | |||||
identificationType | identificationGroupのどの要素かを指定するために"法人番号"を指定します | |||||
prefix | 法人番号の前に付加する文字列として、"urn:ngsi-ld:Building:JP"を指定します。これにより、idの文字列が"urn:ngsi-ld:Building:JP"と呉市の法人番号を結合した文字列になります | |||||
1 | csvAttr | csvの項目名として、"施設ID"を指定します。 | ||||
prefix | 施設IDの前に付加する文字列として、"-"を指定します。これにより、最終的にidの文字列が"urn:ngsi-ld:Land:JP"と呉市の法人番号と"-"と施設IDを結合した文字列になります | |||||
name | ||||||
dataSource | ||||||
csvAttr | csvの項目名として"施設名"を指定します。 | |||||
nameKana | ||||||
dataSource | ||||||
csvAttr | csvの項目名として"タテモノヨミガナ"を指定します。 | |||||
facilityID | ||||||
dataSource | ||||||
csvAttr | csvの項目名として"施設ID"を指定します。 | |||||
refLand | ||||||
dataSource | ||||||
csvAttr | csvの項目名として、"不動産ID"を指定します。 | |||||
prefix | 不動産IDの前に付加する文字列として、"urn:ngsi-ld:Land:"を指定します。これにより、idの文字列が"urn:ngsi-ld:Land:"と土地の不動産IDを結合した文字列になります | |||||
alternate | 自治体が保有する土地は登記しなくても良いという例外の規定があり、実際に殆どの不動産は登記されていません。このため、不動産IDも割り振られていないのが現状です。そこで、不動産IDがなかった場合に備えてalternateの指定もします。この指定はcsvAttrで指定したcsvファイルの項目に値が無かった場合に使用されます。 | |||||
0 | dataSource | . | ||||
csvAttr | 法人番号を求めるための元情報として、csvの項目名の"自治体名"を指定します。 | |||||
entityType | 自治体名から法人番号を求めるためのentitiesとして"Organization"を指定します | |||||
searchAttr | Organizationをサーチする項目として法人名が格納してある"name"を指定します | |||||
searchAttr | 法人番号を取り出す項目として、identificationGroupのidentificationを指定します | |||||
identificationType | identificationGroupのどの要素かを指定するために"法人番号"を指定します | |||||
prefix | 法人番号の前に付加する文字列として、"urn:ngsi-ld:Land:JP"を指定します。これにより、idの文字列が"urn:ngsi-ld:Land:JP"と呉市の法人番号を結合した文字列になります | |||||
1 | csvAttr | csvの項目名として、"施設ID"を指定します。 | ||||
prefix | 施設IDの前に付加する文字列として、"-"を指定します。これにより、最終的にidの文字列が"urn:ngsi-ld:Land:JP"と呉市の法人番号と"-"と施設IDを結合した文字列になります | |||||
totalFloorArea | ||||||
dataSource | ||||||
csvAttr | csvファイルの項目名として、"床面積"を指定します | |||||
completionYear | ||||||
dataSource | ||||||
csvAttr | csvファイルの項目名として、"建築年"を指定します | |||||
acquisitionPrice | ||||||
dataSource | ||||||
csvAttr | csvファイルの項目名として、"取得価格"を指定します | |||||
refDepartment | ||||||
dataSource | ||||||
csvAttr | 所管部門のEntityのidを求めるため、csvファイルの項目名として"所管部門"を指定します | |||||
entityType | 部門名からDepartmentのidを求めるために、検索するEntityとして"Department"を指定します | |||||
searchAttr | Departmentの部門名が登録されているAttributeとして、"name"を指定します | |||||
valueAttr | Departmentからidを取り出すために、Attributeとして、"id"を指定します | |||||
identificationGroup | ||||||
identificationType | ||||||
const | 不動産IDを登録するために、"不動産ID"を設定します。c | |||||
identification | ||||||
dataSource | ||||||
csvAttr | 項目名として"不動産ID"を指定します。 |
C:\Users\owner>chdir c:/Tools/ c:\Tools>Python ctoj.py dir=c:/Tools/data/ inputfile=Facilitycsv.csv outputfile=Buildingjson.json schemafile=Building.exschema.json Departmentfile=Departmentjson.jsonLandfile=Landjson.json logfile=Buildinglog.txt ##### start ctoj converter ##### CSV translated to JSON successfully. output Entity number: 3 |
[ { "id": "urn:ngsi-ld:Building:JP9000020342025-01234567", "type": "Building", "name": { "type": "Text", "value": "呉市吉浦市民センター" }, "nameKana": { "type": "Text", "value": "クレシヨシウラシミンセンター" }, "facilityID": { "type": "Text", "value": "01234567" }, "refLand": { "type": "Relationship", "value": [ "urn:ngsi-ld:Land:JP9000020342025-01234567" ] }, "totalFloorArea": { "type": "Number", "value": 2152 }, "completionYear": { "type": "Text", "value": "1996" }, "acquisitionPrice": { "type": "Number", "value": 889653000 }, "refDepartment": { "type": "Relationship", "value": "urn:ngsi-ld:Department:JP9000020342025-402004" } }, { "id": "urn:ngsi-ld:Building:JP9000020342025-03000012", "type": "Building", "name": { "type": "Text", "value": "呉市立吉浦小学校" }, "nameKana": { "type": "Text", "value": "クレシリツヨシウラショウガツコウ" }, "facilityID": { "type": "Text", "value": "03000012" }, "refLand": { "type": "Relationship", "value": [ "urn:ngsi-ld:Land:JP9000020342025-03000012" ] }, "totalFloorArea": { "type": "Number", "value": 4000 }, "completionYear": { "type": "Text", "value": "1980" }, "acquisitionPrice": { "type": "Number", "value": 500000000 }, "refDepartment": { "type": "Relationship", "value": "urn:ngsi-ld:Department:JP9000020342025-602003" } }, { "id": "urn:ngsi-ld:Building:JP9000020342025-04000008", "type": "Building", "name": { "type": "Text", "value": "呉市立吉浦中学校" }, "nameKana": { "type": "Text", "value": "クレシリツヨシウラチュウガツコウ" }, "facilityID": { "type": "Text", "value": "04000008" }, "refLand": { "type": "Relationship", "value": [ "urn:ngsi-ld:Land:JP9000020342025-04000008" ] }, "totalFloorArea": { "type": "Number", "value": 3000 }, "completionYear": { "type": "Text", "value": "1990" }, "acquisitionPrice": { "type": "Number", "value": 1000000000 }, "refDepartment": { "type": "Relationship", "value": "urn:ngsi-ld:Department:JP9000020342025-602003" } } ] |
02: inputdir: c:/Tools/Data/, inputfile: Facilitycsv.csv 04: directory: Departmentdir, Departmentfile: Departmentfile 04: directory: Landdir, Landfile: Landfile 09: outputdir: c:/Tools/Data/, outputfile: Buildingjson.json 10: CSV Line# 2 10: CSV Line# 3 10: CSV Line# 4 12: CSV translated to JSON successfully. Enity number: 3 |