Silviase/jgov_v1.4_full_ann huggingface dataset:
（イ）データ配信の I/F でデータ蓄積システムとの入出力を行う。

上記の処理を通して、ストック型データホルダから入力されたストック型データは、一定周期ごとに処理を行い、データ蓄積システムへ渡す。

② データ蓄積システムのモジュール構成と各システムの I/F

データ蓄積システムのモジュール構成と各システムの I/F を図 29 に示す。データ入力システムから受け付ける I/F を新規に開発する。

入力されたデータは、ボキャブラリごとにucodeの採番を行い、RDF DBへ格納することで、データ検索システムから検索が行えるようにする。

RDF DB に格納されたデータは、データ検索システムにより検索して利用される。利用される際の I/F は RDF DB として利用するシステムにあらかじめ用意されている I/F を利用するため、新規に開発は行わない。

図 29 データ蓄積システムと各システムとの I/F

データ入力システムからの入力について、RDF DB や生データ格納ストレージにデータの格納を行う。

（ア）ucode の設定情報は、ucodeDB に格納される。

（イ）入力されたデータは、ucodeを採番し、（RDF DB に格納する。
（ウ）データ検索システムから RDF のデータ形式の検索は、RDF DB に行われる。

③ データ検索システムのモジュール構成と各システムとの I/F

データ検索システムのモジュール構成と各システムとの I/F を図 30 に示す。

図 30 データ検索システムのモジュール構成

アプリケーションから標準 API を実装した I/F-D-x で検索要求を受け付け、検索要求の内容に合わせた操作コマンドを内部で選択し、RDF の検索を RDF DB Client を利用してデータ蓄積システムへ検索を実施する。

（ア）アプリケーションが防災・災害情報標準 API へ検索要求を出す。

（イ）防災・災害情報標準 API が必要な操作コマンドを選択して検索を行う。

（ウ）操作コマンドが RDF DB へ検索を行う。

（エ）操作コマンドが検索により得られた結果をアプリケーションへ返す。

$$ 2.2.1.3.\quad ハードウェア及びソフトウェア $$

## ① ハードウェア構成

各サーバの動作プラットフォームは以下の通り。
表 88 動作環境

CPU	Xeon2.4GHz 以上を推奨
メモリ	12GB 以上を推奨
ハードディスク	1TB 以上を推奨

## ②ソフトウェア構成

各サーバのソフトウェア構成は以下の通り。

## （ア）データ入力サーバ

データ入力サーバのソフトウェア構成は以下の通り。

表 89 ソフトウェア構成 (データ入力サーバ)

No.	ソフトウェア	説明
1	OS	Cent OS 6.3
2	Web サーバ	httpd.x86_64 2.2.15-15.el6.centos.1(OS 標準 バージョン)
3	アプリケーションサーバ	tomcat6.noarch 6.0.24-45.el6(OS 標準 バージョン)
4	JavaVM	java-1.6.0-openjdk.x86_64 1:1.6.0-1.49.1.11.4.el6_3(OS 標準 バージョン)

## （イ）データ検索サーバ

データ検索サーバのソフトウェア構成は以下の通り。

表 90 ソフトウェア構成(データ検索サーバ)

No.	ソフトウェア	説明
1	OS	Cent OS 6.3
2	Web サーバ	httpd.x86_64 2.2.15-15.el6.centos.1 (OS 標準 バージョン)
3	アプリケーションサーバ	tomcat6.noarch 6.0.24-45.el6 (OS 標準 バージョン)
4	JavaVM	java-1.6.0-openjdk.x86_64 1:1.6.0-1.49.1.11.4.el6_3 (OS 標準 バージョン)

## （ウ）データ蓄積サーバ

データ蓄積サーバのソフトウェア構成は以下の通り。
表 91 ソフトウェア構成(データ蓄積サーバ)

No.	ソフトウェア	説明
1	OS	Cent OS 6.3
2	Web サーバ	httpd.x86_64 2.2.15-15.el6.centos.1(OS 標準 バージョン)
3	アプリケーションサーバ	tomcat6.noarch 6.0.24-45.el6(OS 標準 バージョン)
4	JavaVM	java-1.6.0-openjdk.x86_64 1:1.6.0-1.49.1.11.4.el6_3(OS 標準 バージョン)
5	RDF ミドルウェア	Sesame 2.6.9REST, SPARQL 1.1, RDF を扱うフレームワーク
6	RDF DB	OWLIM-SE

なお、データベースは RDF フレームワークを扱う Sesame との相性を考え OWLIM-SE を用いた。OWLIM は OWLIM5.2 になってから Sesame+OWLIM-SE で安定して使え、BBC（イギリスの公共放送局）でも利用されており、また、LODAC Museum で運用実績がある。本データベースは標準 API で用いる SPARQL でデータを入出力することができ、標準データ規格である RDF 形式によってデータを保存することができる。 $ ^{15} $

##### 2.2.2. 防災·災害情報標準 API

基盤システムにおける入出力は、防災・災害情報標準 API（以下「標準 API」という。）を利用した形式で行われる。ここでは、共通 API の仕様について述べる。

###### 2.2.2.1. 標準データ規格

## ① データモデル

データの表現モデルとして RDF を利用し、物や場所の識別子として ucode を利用する。RDF で、ucode は URN 形式で表現をする。例として、

「urn:ucode:_0123456789ABCDEF0123456789ABCDEF」という表現となる。既に確立した識別子体系があり、それが URI 表現できるならば、それを利用することを妨げない（例：ISBN, ISSN など）。

## ② データ表現形式(文法)
RDF/ucode を用いた基本データモデルの表現形式として、RDF/XML, N-Triples, Notation3 を利用する。

場所の表現方法は以下の手順となる。

（ア）場所に ucode を付与する。

（イ）この ucode にプロパティ rdf:type、目的語 uc:SpatialThing を結ぶ（必須）。

（ウ）この ucode にプロパティ ug:type、目的語として場所のタイプを結ぶ（推奨）。

（エ）場所の座標（緯度・経度）は、OpenGISが規定するWell Known Text形式で表現する。

理由: 屋内・屋外を問わず、座標系・測地系を汎用的に扱えるようにするため ucode のモデルを以下に示す。

日付・時刻の表現方法を以下に示す。

(ア) ISO8601 $ ^{16} $ に準拠したリテラルで表記

例：2012-03-07T13:00:00+0900

（イ）その日付の意味に応じて、対象の ucode と日付・時刻を適切なプロパティで結ぶ ucode の例を以下に示す。

ucode	意味
dc:date	一般的な日付
dcterms:created	作成日
dcterms:issued	正式発行日
dcterms:modified	更新日
foaf:birthday	(人・組織の)誕生日
ev:date	イベントの発生日時
ev:startDate	イベント開始日時
ev:endDate	イベント終了日時
ugsrv:closeDate	サービス終了日
ugsrv:openDate	サービス開始日
ug:serviceStartTime	サービス開始時刻
ug:serviceEndTime	サービス終了時刻

イベントの表現方法を以下に示す。

（ア）イベントに ucode を付与する。

（イ）この ucode にプロパティ rdf:type、目的語 ev:Event を結ぶ（必須）。

（ウ）この ucode にプロパティ ev:type、目的語としてイベントのタイプを結ぶ（推奨）。

（エ）イベントの対象は、プロパティ ev:target/ev:source/ev:destination の目的語として結ぶ。

ucode:_00001C00...12346 が分割されて、ucode:_00001C00...12347 と ucode:_00001C00...12348 ができたイベントの表現例を以下に示す。
## ③ 共通ボキャブラリ

基本的に全てのボキャブラリに ucode を付与する。RDF コミュニティで広く使われているものを広く取り入れる。例として、RDF Schema、Dublin-Core、Friend of a Friend(以下「FoaF」という。)、OWL などである。ここに「地理情報ボキャブラリ」と「イベント記述用ボキャブラリ」の2つのボキャブラリセットを追加する。

ボキャブラリは、用途ごとにまとめられたボキャブラリの集合として、ボキャブラリセットを基本単位として管理する。RDF のコミュニティで利用されている既存のボキャブラリを流用する場合は、名前空間が同じボキャブラリの集合となる。

ボキャブラリには全て ucode を付与する。そのためには、ボキャブラリセットの定義には名前空間やボキャブラリの命名規則などの知識が必要である。ucode を付与すれば、それらの知識を前提としないでボキャブラリを定義・拡張することができる。また、既存のボキャブラリ表現との間をowl:sameAs で結び、同義語であることを明示する。人間の可読性確保のためには、ボキャブラリの意味を URI に含めた表現があった方が良いためである。

ボキャブラリセット名と個数は以下の通り。
ボキャブラリセット名	個数
RDF コミュニティで利用されているボキャブラリセット
RDF 基本構造(rdf:)	14
RDF スキーマ(rdfs:)	16
OWL(owl:)	40
Dublin Core 基本要素(dc:)	15
Dublin Core Metadata Initiative(dcterms:)	98
Dublin Core タイプ要素(dcterms:)	12
FoaF(foaf:)	67
ユビキタス ID センターが公開しているボキャブラリセット+α
事物の基本クラス・物理量・単位系(uc)	54
地物属性(ug:)	98
地物のアクセシビリティ(spac:)	50
それ以外のボキャブラリセット
イベント(ev:)	2
地理情報サービス(ugsrv:)	58
物品・製品(uobj:)	13
取引(trans:)	13
総計	587

RDF の基本構造(ref: )は、Bag、Seq、List など RDF でデータ構造を表現するためのボキャブラリやトリプルの主語・述語・目的語を表すボキャブラリが定義されている。

名前空間の例は、http://www.w3.org/1999/02/22-rdf-syntax-ns#を参照のこと。

RDF スキーマ(rdfs:)は、ボキャブラリ間の関係(rdfs:subClassOf, rdfs:subProvertyOf)、説明文(rdfs:comment)などボキャブラリを定義するためのボキャブラリが定義されている。

名前空間の例は、http://www.w3.org/2000/01/rdf-schema#を参照のこと。

Dublin-Core 関連は、Dublin-Core 基本要素、Dublin-Core Metadata Inlinitative(DCMI)、Dublin-Core タイプ要素の3つのボキャブラリセットを含む。

これらは、書誌情報を記述するためのボキャブラリセットであるが、RDF コミュニティでは Web リソースの属性を記述するために広く利用されれている。特に基本要素は、ISO15836 $ ^{17} $ 及び NISO
Z39.85 $ ^{18} $ によって国際標準規格となっている。名前空間の例は、基本要素は http://purl.org/dc/element/1.1/、DCMI は http://purl.org/dc/terms/、タイプ要素は http://prul.org/dc/dcmitype/を参照のこと。

FoaF は、人や組織に関する情報を RDF で記述するためにボキャブラリを定義している。名前空間の例は、http://mlns.com/foaf/0.1/を参照のこと。

事物の基本クラス・物理系・単位系は、事物に関する情報を記述するための基本的なボキャブラリや物理量や貨幣量を記述するためのボキャブラリを定義している。

名前空間の例は、http://uidcenter.org/vocab/ucr/uc#を参照のこと。

###### 2.2.2.2. 標準 API 規格

## ① 通信プロトコル

URL を用いて受け付けることができる Representational State Transfer(以下「REST」という。) 形式を用いるため、通信プロトコルとして、TCP/IP 上の HTTP を利用する。

## ② プロラミングインターフェース

RDF にクエリを出すために、SPARQL Protocol and RDF Query Language（以下「SPARQL」という。）1.1 仕様に準拠した API を追加した。

## ③ 操作コマンド

操作コマンドの一覧は以下の通り。

コマンド	意味
1	SPARQL-based Command	利用者プログラムが、Raw Data を直接入出力するためのコマンド
2	Traceability/Realtime Data Command	利用者プログラムが、トレーサビリティ情報やイベントログ、リアルタイムデータに代表される、時系列データ処理を伴うオープンデータ操作を行うためのコマンド
3	Geographical Data Management Command	利用者プログラムが、地理情報演算を伴うオープンデータ操作を行うためのコマンド
4	Security Management Command	利用者プログラムが、ユーザ管理、アクセス制御に代表されるセキュリティ操作を行うためのコマンド
5	Notification Management Command	利用者プログラムが、オープンデータの登
録・更新に呼応して、基盤システムから利用者プログラムに通知する機能を利用するためのコマンド
6	Vocabulary Management Command	利用者プログラムが、ボキャブラリ管理を行うためのコマンド
7	Triple Management Command	Raw Data をセンサーやスマートメータのような小型機器が効率的に扱うために、利用者プログラムが、標準データ規格を簡素化したオープンデータ操作を行うためのコマンド
8	Identification Resolution Command	利用者プログラムが、標準データ規格に基づく識別子からオープンデータの格納先を解決する機能を利用するためのコマンド

本実証で実装するのは、SPARQL-based Command の一部と、Vocabulary Management Command の一部である。

## ① SPARQL-based Command

RDF モデルに基づくデータを直接操作する機能を提供する。

（ア）SPARQL 1.1 ベースの検索・登録 API を提供する (REST 形式でない)

SELECT / CONSTRUCT / ASK

INSERT / DELETE

（☑）機能概要

SPARQL 1.1 プロトコルに準拠した RDF モデルに基づくデータの登録・更新・削除・取得・検索機能を提供する。

• /api/v1/sparql/

SPARQL 1.1 が規定するクエリを発行する。

実装するのは、以下の API である。

URL	HTTP メソッド	意味
/api/v1/sparql/	GET	SPARQL 1.1 準拠のクエリを発行する
/api/v1/sparql/	POST	SPARQL 1.1 準拠のクエリを発行する

API でクエリの例は以下の通り。

POST /api/v1/sparql HTTP/1.1
Host: www.example.org
Accept: application/sparql-results+xml
Content-Type: application/x-www-form-urlencoded
Content-Length: xxx
query=PREFIX%20dc%3A%20%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%2F%3E%20%0ASELECT%20%3Fbook%20%
3Fwho%20%0AWHERE%20%7B%20%3Fbook%20dc%3Acreator%20%3Fwho%20%7D%0A

API でのレスポンスの例は以下の通り。

HTTP/1.1 200 OK

Content-Length: xxx

Content-Type: application/sparql-results+xml

http://www.example/book/book5
r29392923r2922

## ② Vocabulary Management Command

ボキャブラリの管理機能を提供する。

ボキャブラリの記述は、RDF Schema に準拠する。

API リストは以下の通り。

URL	HTTP メソッド	意味
/api/v1/vocabularies	POST	ボキャブラリを登録する

API でクエリの例は以下の通り。

GET /api/v1/vocabularyes?rdf:label=Title HTTP/1.0
API でのレスポンスの例は以下の通り。

HTTP/1.0 200 OK

Content-Length: xxx

Connection: close

Content-Type: application/json; charset=utf-8

{"vocabulary": [{"vocabulary":
ntax-ns%23%3E%0D%0APREFIX%20bousai%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fcao%2Fbousai%2F%3E%0D%0APREFIX%20lifeline%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fcao%2Fbousai%2Flifeline%2F%3E%0D%0APREFIX%20kiban%4%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fjmaxml1%2FelementBasis1%2F%3E%0D%0APREFIX%20kiban%3%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fjmaxml1%2Fbody%2Fseismology1%2F%3E%0D%0APREFIX%20kiban%2%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fjmaxml1%2FinformationBasis1%2F%3E%0D%0APREFIX%20jmx%3A%3Chttp%3A%2F%2Fxml.kishou.go.jp%2Fjmaxml1%2F%3E%0D%0APREFIX%20jmx%3A%3Chttp%3A%2F%2Fxml.kishou.go.jp%2Fjmaxml1%2FinformationBasis1%2F%3E%0D%0APREFIX%20jmx%3A%3Chttp%3A%2F%2Fxml.kishou.go.jp%2Fjmaxml1%2Fbody%2Fmeteorology1%2F%3E%0D%0APREFIX%20jmx%4%3A%3Chttp%3A%2F%2Fxml.kishou.go.jp%2Fjmaxml1%2FelementBasis1%2F%3E%0D%0APREFIX%20kiban%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fjmaxml1%2F%3E%0D%0APREFIX%20plow%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fsnowplow%2F%3E%0D%0APREFIX%20fdma%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fcao%2Fbousai%2Ffdma%2F%3E%0D%0APREFIX%20caor%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fcao%2Fcaor%3E%0D%0APREFIX%20caor_is%3A%3Chttp%3A%2F%2Fopendatafordisasters.jp%2Fcao%2Fcaor%2Fis%3E%0D%0ASELECT%20DISTINCT%20%3Fdate%20%3Ftitle%20%3Farea%20%3Fkotei_jokyo%20%3Fkeitai_jokyo%0D%0A%0D%0AWHERE%20%7B%0D%0A%0D%0A%3Fsyuukei%20phone%3A%5Cu96FB%5Cu8A71%5Cu56DE%5Cu7DDA%5Cu60C5%5Cu5831%5Cu000A%20%3Fjoho%20%3B%0D%0A%20%20%20%20%20%20%20%20%20dc-term%3Adate%20%3Fdate%20%3B%0D%0A%20%20%20%20%20%20%20%20%20dc-term%3Atitle%20%3Ftitle%20.%0D%0A%0D%0A%3Fjoho%20bousai%3A%5Cu90FD%5Cu9053%5Cu5E9C%5Cu770C%20%3Farea%20%3B%0D%0A%20%20%20%20%20%20dc-term%3Aspatial%20%3Chttp%3A%2F%2Fja.dbpedia.org%2Fresource%2F%5Cu5C71%5Cu5F62%5Cu770C%3E%20%3B%0D%0A%20%20%20%20%20%20%20%20%20phone%3A%5Cu56FA%5Cu5B9A%5Cu96FB%5Cu8A71%5Cu56DE%5Cu7DDA%5Cu72B6%5Cu6CC1%20%3Fkotei_jokyo%3B%0D%0A%20%20%20%20%

要求結果のレスポンス形式として、xml 形式する場合は、header で「Accetp:application/sparql-results+xml」を指定する。

前述のコマンドにより以下の結果を取得することができる。
情報無し

平成23年台風第12号及び台風第15号

山形県

2011-09-22T01:00:00

情報無し

影響有り

平成23年台風第12号及び台風第15号

山形県

2011-09-23T04:30:00
情報無し

影響有り

平成23年台風第12号及び台風第15号

山形県

2011-09-24T13:00:00

情報無し

情報なし

平成23年台風第12号

山形県

2011-09-26T22:00:00

報告
情報無し

影響有り

平成23年度東北地方太平洋沖地震

山形県

2011-03-11T18:00:00

情報無し

## ② データベース検索

データの要求で受け取った SPARQL のコマンドをそのまま RDF データベースの OWLIM-SE に要求している。そのため、前述の Wget コマンドにおいて「sparql?query=」で記載される URL エンコードされた文字列がそのままデータベースへの検索コマンドとなる。URL エンコードされる前の文字列は、標準データ規格のボキャブラリを用いた SPARQL クエリの内容になる。

SPARQL の検索のための規約については、標準化されている SPARQL 1.1 を OWLIM-SE が準拠して実装しているため、それぞれの規約や利用方法については、ここでは記載しない。

## ③ レスポンス形式

レスポンス形式については、前述の Wget の結果の XML となる。要求を出す際に「Accept:application/sparql-results+xml」で出力形式を XML に規定しているため、XML の形式が出力される。

これは OWLIM-SE が、SPARQL の規約に基づき出力形式を解釈して整形している。出力形式を
JSON と指定すれば、その通りに出力される。これにより、外部仕様書で記載されている XML/JSON で出力することができる。

###### 2.2.2.4. データ入力インターフェース

## ① Ucode を用いた登録方式

データを一意に管理するために、RDF DB に登録する際に、管理が必要と思われるボキャブラリに Ucode を採番して登録している。なお、「管理が必要と思われるボキャブラリ」とは、RDF モデルを検討する際に、一意に管理が必要な ID を採番した方が良いとなったボキャブラリである。

以下のボキャブラリに対して Ucode の採番を実施した。

項目	ボキャブラリ
気象	jmx:Report
除雪車	plow:position
避難所	ev:TemporaryEvacuationSpace
観光	sp:HotSpring
ライフライン情報(電力)	caor_is:disasterInformation
ライフライン情報(ガス)	caor_is:disasterInformation
ライフライン情報(断水)	caor_is:disasterInformation
消防庁災害情報	caor_is:disasterInformation
電話回線情報	caor_is:disasterInformation

（注）Tweet: 定義したが、データの利用はしていない。

Ucode は、採番が可能なオフセット値+48bit の文字列である。48bit をバラバラにボキャブラリに採番すると後々の管理が困難になるため、上位ビットと下位ビットに分けて、ボキャブラリごとに範囲を割り当てた。

本実証では、上位ビットは16bit、下位ビットは32bitとして設定した。

式として表すと、「オフセット値」+「上位ビット（16bit）」+「下位ビット（32bit）」となる。

実際に採番で与えられたオフセット値は「00001C0000000000021」であるため、実際に気象のボキャブラリに対して、1つ目に与えられたUcodeは次となる(16進表記)

「00001C0000000000002100010000001」
##### 2.2.3. データ入力システム

###### 2.2.3.1. システム概要

データ入力システムは、様々な形式のデータを入力するためのインターフェースをデータホルダ向けに提供するシステムである。データ入力システムは、データホルダやシステム管理者からの要求を受けて、表 92 に示す処理を行い、入力された情報をデータ蓄積システムに提供する。

表 92 情報登録の内容と実施するモジュール

項番	情報登録の内容	実施するモジュール
1	データ登録インターフェース	データ登録インターフェース及び I/F-A-1
2	データ入力機能	データ配信及び I/F-B-1
3	処理ルール登録機能	ucode の登録及び I/F-A-3

データ入力は、データを一意に識別することができる ucode を用いて登録することができ、また、施設情報等の更新頻度が低いデータ、注意報・警報等の比較的更新頻度が高いデータも含め、「2.2.6 RDF 変換スクリプト」に記載したような RDF 形式データへの変換により RDF 形式データを作成し、登録することができる。この変換スクリプト内で、標準データ規格に基づくボキャブラリを付与し、また、標準データ規格と異なるボキャブラリを用いてデータが管理されている場合はボキャブラリの変換を行って登録している。

なお、データ入力する対象であるデータ蓄積サーバのデータ記憶容量は、ボキャブラリ及びデータ自身を登録することができる容量を十分に有している。そのため、調達仕様書表2に掲げる項目数以上のデータの入力が可能となっている。

また、調達仕様書 表 2 非記載の情報として表 93 の項目を登録した。

表 93 追加データ項目

防災・災害情報	データ項目(調達仕様書 表 2 非掲載)
その他	積雪深情報
降水量情報
雨水による危険度情報
除雪計画エリア
除雪車位置情報

###### 2.2.3.2. データ登録インターフェース及び I/F-A-1

## ① 機能概要
データ登録インターフェース(ストック型)及び I/F-A-1 は、標準 API を通じてデータホルダから提供されるデータを受けて、登録されたデータのデータ配信に処理を渡すモジュールである。

## ② 機能構成

機能構成は以下の通り。

図 31 機能構成(データの登録インターフェース及び I/F-A-1)

③ 機能フロー

（ア）標準 API は、データホルダから、REST 形式の SPARQL-based Command を呼び出す要求を受け取る。

（イ）SPARQL-based Command は、呼び出された処理を実行し、結果は標準 API を経由して返される。その登録通知結果は。2.2.2.1 標準データ規格 ④ SPARQL-based Command に記載したレスポンスが返答される。

###### 2.2.3.3. データ配信及び I/F-B-1

## ① 機能概要

データ配信及びI/F-B-1は、インターフェースからデータ蓄積サーバのI/Fへデータを渡すモジュールである。

## ② 機能構成

機能構成は以下の通り。
図 32 機能構成(データ配信及び I/F-B-1)

③ 機能フロー

（ア）データ登録インターフェースからデータを受け取る。

（イ）データ配信機能は、データの種類から配信先を決定する。

（ウ）データ蓄積サーバの I/F-C-1 にデータを渡す。

## ④ データ配信

以下に示す処理を行う。

（ア）登録データを受け取る。

（イ）データの配信先を判断する。

（ウ）データ蓄積サーバの I/F-C-1 へ登録データを渡す。

図 33 入出力 (データ配信)

⑤ I/F-B-1

以下に示す処理を行う。

（ア）データ配信から登録データを受け取る。

（イ）データ蓄積サーバの I/F へ登録データを渡す。

今期 I/F-B-1 は SCP を利用するものとする。
図 34 入出力(I/F-B-1)

なお、データ蓄積サーバは、調達仕様書 表 2 に掲げる項目数以上のデータを入力でき、ボキャブラリ及びデータ自身を登録することができるデータ記憶容量を十分に有している。

また、調達仕様書 表 2 非記載の情報として表 94 の項目を登録した。

表 94 追加データ項目

防災・災害情報	データ項目(調達仕様書 表 2 非掲載)
その他	積雪深情報
降水量情報
雨水による危険度情報
除雪計画エリア
除雪車位置情報

2.2.3.4. ucode の登録及び I/F-A-3

## ① 機能概要

ucode の登録及び I/F-A-3 は、標準 API を通じてデータホルダから提供される ucode 設定情報を受けて、データ蓄積システムの ucodeDB への設定と ucode 採番モジュールへの設定を行うモジュールである。

## ② 機能構成

機能構成は以下の通り。
③ 機能フロー

（ア）標準 API は、データホルダから、REST 形式の Vocabulary Management Command を呼び出す要求を受け取る。

（イ） Vocabulary Management Command は、呼び出された処理を実行し、結果は標準 API を経由してデータホルダへ返される。

##### 2.2.4. データ蓄積システム

###### 2.2.4.1. システム概要

データ蓄積システムは、データ入力システムからの要求を受けて、表 6 に示すデータ登録を行い、登録した結果をデータ検索システムに提供する。

ボキャブラリを用いた検索は、「2.2.4.5 防災・災害情報データベース(RDF DB)」に記述しているようにデータ検索システムからの要求を受け付けて、データベースへの検索が行われる。また、ハザードマップ等のデータ形式として多い shape 形式データ等のファイルをそのまま検索するため、ファイルを取得できる URL 情報等を RDF 形式データとして登録することができる。ファイル検索については、「2.2.6.3 その他のデータの変換と運用フロー」に記述している。

また、登録したデータを適切に管理するため、「2.2.4.4.ucodeDB」に記述しているようにボキャブラリとucodeを紐付けて管理し、ucodeを付与できるようにしている。

###### 2.2.4.2. I/F-C-1

## ① 機能概要

I/F−C−1 は、データ入力システムからの要求を受けて、ucode 採番へ渡すモジュールである。

## ② 機能構成

機能構成は以下の通り。
図 36 機能構成 (/F-C-1)

③ 機能フロー

（ア）I/F-B-1がI/F-C-1を呼び出し、登録するデータを渡す。

（イ）I/F−C−1で登録するデータをucode採番に渡す。

###### 2.2.4.3. ucode 探番

## ① 機能概要

ucode 採番は、渡されたデータについて、決められた ucode を採番し、データ配信モジュールに渡すモジュールである。

## ② 機能構成

機能構成は以下の通り。

図 37 機能構成(ucode 採番)

③ 機能フロー

（ア）I/F-C-1 から RDF データを受け取る。

（イ）データのボキャブラリに合った ucode を付与する。

（ウ）防災・災害情報データベース（RDF DB）に格納する。
## ① 機能概要

ucodeDB は、データに付与する ucode を管理する。ucode 設定情報は、データ入力システムから渡される。ucodeDB は、SQLiteDB ファイルとし、ucode とボキャブラリの対が格納されたものとする。

I/F-A-3 から渡される ucode 設定情報についても、SQLiteDB ファイルとして、SQLiteDB ファイル自体を差し替えることで登録、追加、更新、削除を行うこととする。

## ② 機能構成

機能構成は以下の通り。

図 38 機能構成(ucodeDB)

## ③ 機能フロー

（ア）I/F-A-3 から渡される ucode 情報を DB に登録する。

###### 2.2.4.5. 防災・災害情報データベース (RDF DB)

## ① 機能概要

防災・災害情報データベース(RDF DB)は、ucode 採番された結果の RDF を蓄積するモジュールである。生データ格納ストレージに蓄積されたデータと RDF で蓄積されたデータの関連も蓄積するモジュールである。

## ② 機能構成

機能構成は以下の通り。
図 39 機能構成(防災・災害情報データベース(RDF DB))

③ 機能フロー

（ア）ucode 採番が完了したデータを RDF DB に登録する。この際、ボキャブラリを用いて検索できるように RDF 形式データを登録する。

（イ）データ検索システムからのボキャブラリを用いた検索要求に対して、検索結果を送信する。

##### 2.2.5. データ検索システム

###### 2.2.5.1. システム概要

データ検索システムでは、「表 95」に示す処理を行う。

表 95 処理内容と実施するモジュール

項番	処理内容	実施するモジュール
1	データ検索要求受付機能	データの検索 (I/F-D-1)
2	データ検索機能	データの検索 (I/F-D-1)

「2.2.5.2 データの検索」に記述しているように、データベースがあるデータ蓄積システムへのデータ検索は標準 API を介して行われる。SPARQL-based Command による検索方法の場合、共通規格に基づくボキャブラリに従った検索をデータ蓄積システムに行い、データを取得することができる。

また、レスポンス形式は「2.2.2.3 標準 API ③レスポンス形式」に記載しているように、外部仕様書で記載されている XML, JSON 形式によりレスポンスが可能である。

###### 2.2.5.2. データの検索 (I/F-D-1)

## ① 機能概要

I/F-A-1 は、防災・災害対応アプリから標準 API を通じて要求される操作コマンドを受けて、デ
一夕蓄積システムへ検索を行うモジュールである。

## ② 機能構成

機能構成は以下の通り。

③ 機能フロー

（ア）標準 API は、防災・災害対応アプリから REST 形式の SPARQL-based Command を呼び出す要求を受け取る。

（イ）SPARQL-based Command は、呼び出された処理を実行し、結果は標準 API を経由して防災・災害対応アプリへ返す。

##### 2.2.6. RDF 変換スクリプト

入力システムでは RDF ファイルを前提としているため、入力の形式を合わせるために、RDF へ変換するスクリプトを利用して形式を合わせた。ここでは各種ファイルの RDF への変換について記述する。

###### 2.2.6.1. CSV ファイル変換スクリプト

CSV ファイル変換スクリプト一覧は以下の通り。

No	スクリプト名	スクリプト名(表示名)	出力ファイル名
1	避難所変換スクリプト	chEscape.pl	escape_yyyymmddhhmmss.ttl
2	電力供給情報変換スクリプト	chPowerSupply.pl	lifeline_yyyymmddhhmmss.ttl
3	断水情報変換スクリプト	chWaterOutage.pl	lifeline_yyyymmddhhmmss.ttl
4	消防庁災害情報変換スクリプト	chSyoubou.pl	syoubou_yyyymmddhhmmss.ttl
5	総務省電話回線情報変換スクリプト	chKaisen.pl	kaisen_yyyymmddhhmmss.ttl
6	観光データ変換スクリプト	chKankou.pl	kankou_yyyymmddhhmmss.ttl
7	避難所変換スクリプト	chEscape.pl	escape_yyyymmddhhmmss.ttl
## ① CSV ファイル変換スクリプトの概要

## （ア）処理概要

CSV ファイル変換処理の概要は以下の通り。

読み込み対象の CSV ファイルを開く。

• Prefix 定義情報を Turtle 形式ファイル $ ^{19} $ に出力する。

- CSV ファイルのヘッダ行をスキップする。

・ CSV ファイルを 1 行ずつ読み込み、トリプル構造データを Turtle 形式ファイルに出力する。

## （イ）変換前 CSV ファイル

避難場所及び避難所情報に関する CSV ファイルの例を示す。

no, 施設名, 所在地, 電話, FAX, 避難所区分, 施設等種別, 緯度, 経度

1. 霞城公園,霞城町3.,広域避難場所,公園,38.2531306,140.3285055

2. 薬師公園周辺,薬師町二丁目 616,„広域避難場所,公園,38.261752,140.344823

## （ウ）変換後 Turtle ファイル

escape_yyyyMMddhhmmss.ttl ファイルの例を示す。

@prefix rdf: .

@prefix rdfs: .

@prefix xsd: .

@prefix dc: .

@prefix geo: .

@prefix ev: .

@prefix sp: .

@prefix evs: .

@prefix evc: .

@prefix schema: .

_:bnode1 rdf:type ev:WideAreaEvacuationSpace.

_:bnode1 rdf:type sp:Park.

_:bnode1 rdfs:label "霞城公園".

_:bnode1 schema:address "霞城町3".

_:bnode1 schema:telephone "".

_:bnode1 schema:faxNumber "".

_:bnode1 geo:lat "38.2531306".

_:bnode1 geo:long "140.3285055".

_:bnode2 rdf:type ev:WideAreaEvacuationSpace.
_bnode2 rdf:type sp:Park .

_bnode2 rdfs:label “薬師公園周辺”

_bnode2 schema:address “薬師町二丁目 616”

_bnode2 schema:telephone “”.

_bnode2 schema:faxNumber “”.

_bnode2 geo:lat “38.261752”

_bnode2 geo:long “140.344823”

###### 2.2.6.2. XML ファイル変換スクリプト

XML ファイル変換スクリプト一覧は以下の通り。

No	スクリプト名	スクリプト名(表示名)	出力ファイル名
1	記録的短時間大雨情報変換スクリプト	chWeather_kiroku.pl	weather_yyyymmddhhmmss.ttl
2	土砂災害警戒情報変換スクリプト	chWeather_dosya.pl	weather_yyyymmddhhmmss.ttl
3	地方気象情報変換スクリプト	chWeather_tihou.pl	weather_yyyymmddhhmmss.ttl
4	気象警報・注意報変換スクリプト	chWeather_kisyou.pl	weather_yyyymmddhhmmss.ttl
5	府県天気予報変換スクリプト	chWeather_tenki.pl	weather_yyyymmddhhmmss.ttl
6	指定河川洪水予報変換スクリプト	chWeather_kasen.pl	weather_yyyymmddhhmmss.ttl
7	震度・震源データ変換スクリプト	chWeather_earth.pl	earth_yyyymmddhhmmss.ttl
8	アメダス情報変換スクリプト	chWeather_amedasu.pl	amedas_yyyymmddhhmmss.ttl
9	流域雨量指数変換スクリプト	chWeather_ryuuiki.pl	ryuuiki_yyyymmddhhmmss.ttl

② XML ファイル変換スクリプト概要

## （ア）処理概要

XML ファイル変換処理の概要は以下の通り。

· XML ファイルを読み込み、1 行 1 タグ要素となるように、タグの整形を行う。

· XML タグ内に属性情報が含まれている場合、各属性情報を新たなタグ要素として変換する。

・ XML データを山形県又は山形市の範囲に限定する。

· XML データを空白ノードが明示化されていない Turtle 形式に変換する。
・ Turtle データに関して、空白ノードを明示化する。

## （イ）変換前 XML ファイル

指定河川洪水予報に関する XML ファイルの例を示す。

指定河川洪水予報

2011-09-21T09:50:00Z
通常
山形地方気象台
新庄河川事務所 山形地方気象台

最上川中流はん濫注意情報

2011-09-21T18:50:00+09:00
2011-09-21T18:50:00+09:00
820211000103
発表
2
指定河川洪水予報
1.1_0

最上川中流 当分の間、はん濫注意水位以上の水位が続く見込み

はん濫注意情報
21
洪水注意報

最上川中流
820211000103
はん濫注意情報
21
洪水注意報

最上川
8202110001

最上小国川
8202110170

丹生川
8202110221

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県

はん濫注意情報
21
洪水注意報

山形県
060000

## （ウ）変換後 Turtle ファイル

指定河川洪水予報に関する Turtle サンプルファイルの例を示す。

@prefix rdf: .

@prefix kiban: .

@prefix kiban2: .

@prefix kiban3: .

@prefix kiban4: .

@prefix jmx: .

@prefix jmx2: .

@prefix jmx3: .

@prefix jmx4: .

@prefix rdf: .

@prefix xsd: .

@prefix geo: .

_:bnode1 rdf:type jmx:Report ;

kiban:control_:bnode2.

_:bnode2 rdf:type jmx:Control;

kiban:title “指定河川洪水予報”；

kiban:dateTime "2011-09-21T09:50:00Z"^^xsd:dateTime;

kiban:status “通常”；

kiban:editorialOffice “山形地方気象台”；

kiban:publishingOffice “新庄河川事務所 山形地方気象台”；
_.bnode1 kiban2:head_:bnode3 .
_.bnode3 rdf:type jmx2:Head;
kiban2:title “最上川中流はん濫注意情報”；
kiban2:reportDateTime "2011-09-21T18:50:00+09:00"^^xsd:dateTime;
kiban2:targetDateTime "2011-09-21T18:50:00+09:00"^^xsd:dateTime;
kiban2:eventID "820211000103";
kiban2:infoType "発表";
kiban2:serial "2";
kiban2:infoKind "指定河川洪水予報";
kiban2:infoKindVersion "1.1_0";
kiban2:headline_:bnode4 .
_.bnode4 kiban2:text "最上川中流 当分の間、はん濫注意水位以上の水位が続く見込み";
kiban2:information_:bnode5 .
_.bnode5 kiban2:type "指定河川洪水予報(予報区域)";
kiban2:item_:bnode6 .
_.bnode6 kiban2:kind_:bnode7 .
_.bnode7 kiban2:name "はん濫注意情報";
kiban2:code "21";
kiban2:condition "洪水注意報";
_.bnode6 kiban2:areas_:bnode8 .
_.bnode8 kiban2:codeType "指定河川洪水予報(予報区域)";
kiban2:area_:bnode9 .
_.bnode9 kiban2:name "最上川中流";
kiban2:code ;
_.bnode4 kiban2:information_:bnode10 .
_.bnode10 kiban2:type "指定河川洪水予報(河川)";
kiban2:item_:bnode11 .
_.bnode11 kiban2:kind_:bnode12 .
_.bnode12 kiban2:name "はん濫注意情報";
kiban2:code "21";
kiban2:condition "洪水注意報";
_.bnode11 kiban2:areas_:bnode13 .
_.bnode13 kiban2:codeType "河川";
kiban2:area_:bnode14.

:bnode14 kiban2:name "最上川";

kiban2:code ;

:bnode13 kiban2:area_:bnode15.

:bnode15 kiban2:name "最上小国川";

kiban2:code ;

:bnode13 kiban2:area_:bnode16.

:bnode16 kiban2:name "丹生川";

kiban2:code ;

:bnode4 kiban2:information_:bnode17.

:bnode17 kiban2:type "指定河川洪水予報（府県予報区等）";

kiban2:item_:bnode18.

:bnode18 kiban2:kind_:bnode19.

:bnode19 kiban2:name "はん濫注意情報";

kiban2:code "21";

kiban2:condition "洪水注意報";

:bnode18 kiban2:areas_:bnode20.

:bnode20 kiban2:codeType "気象情報／府県予報区·細分区域等";

kiban2:area_:bnode21.

:bnode21 kiban2:name "山形県";

kiban2:code ;

:bnode1 kiban3:body_:bnode22.

:bnode22 rdf:type jmx3:Body;

###### 2.2.6.3. その他のデータの変換と運用フロー

## ① 静的なデータの運用フロー

静的なデータとして地方公共団体ハザードマップが存在する（「2.1.5.3.地方公共団体ハザートマップ」参照）。このデータは shape 形式と呼ばれる地図データの形式であるため、そのまま XML である RDF への変換が行うことができない。
本システムでは、「2.1.5.3. 地方公共団体ハザードマップ」に記述しているように、ハザードマップの持つ付加情報を RDF のモデル化を行い、shape 形式の実体ファイルへのリンクを持つ RDF ファイルを RDF DB へ格納した。

実体ファイルは、検索サーバ上の HTTP サーバ上へ配置することで、RDF DB からハザードマップの当該情報を検索し、RDF に収められた実体ファイルへのリンク情報から、shape 形式のハザードマップの実体ファイルをダウンロードできるようになっている。

例として、shape 形式のファイルを検索サーバ上に配置し、

「http://opendatafordisasters.jp/hazm/yamagata/directionofevacuation/201302191300/避難方法.shp」

としてダウンロードできるようにした場合、RDF 上では「hazm:shpData」へ URI を格納する。

## ② 動的なデータの運用フロー

警報のような動的なデータの場合は、警報が発せられる都度 RDF 形式へ変換する必要がある。

本実証では、「気象警報・注意報変換スクリプト」を作成している。新たに警報が出た場合には、cron起動などで一定のタイミングでファイルを自動的に取り込み、変換を行うことで、システムに入力できるようになっている。

##### 2.2.7. インターフェース設計

###### 2.2.7.1. データ入力サーバコマンド

###### 2.2.7.1. データ入力サーバのコマンドは以下の通り。

No.	コマンド名(日本語)	コマンド名	説明
1	GPS データ変換・登録実行機能	updateGPS.sh	GPS データ変換・登録機能を起動する。
2	GPS データ取得機能	getGPS.pl	GPS サーバから GPS データを取得する。
3	GPS データ変換・登録機能	chGPS.pl	テキストファイルを Turtle 形式ファイルに変換し標準 API に POST する。

###### 2.2.7.2. データ蓄積サーバコマンド

###### 2.2.7.2. データ蓄積サーバのコマンドは以下の通り。
No.	コマンド名(日本語)	コマンド名	説明
1	データ登録実行(RDF)	startResistRDF.sh	adducode.pl、IndexAdd.class を起動し、Turtle ファイルに ucode を付加して RDF DB に登録する。
2	Ucode 採番モジュール	adducode.pl	Turtle 形式ファイルの空白ノードに ucode を割り当てる。
3	データ登録クラス	IndexAdd.class	Ucode 付加済 Turtle 形式ファイルを RDF DB にデータ登録する。

##### 2.2.8. DB 設計

2.2.8.1. UcodeDB

ucodeDB は、SQLiteDB にて実現することとする。なお、RDF DB は、ソフトウェアそのものの仕様であるため、設計は記載しない。

## ① ucode テーブル

エンティティ ID: UCODE_LIST

項番	属性名	カラム名	PK	FK	データ型	デフォルト値	非ヌル値	定義
1	Ucode 上位ビット	UcodeId	○	text	○	ボキャブラリに付与するucode
2	ボキャブラリ	Vocabulary	text	○	ボキャブラリ

※PKは主キー、FKは外部キーの略。

項目	ボキャブラリ	ucode 上位ビット(16bit:16 進数)
気象	jmx:Report	0001
除雪車	plow:position	0002
避難所	ev:TemporaryEvacuationSpace	0003
観光	sp:HotSpring	0004
ライフライン情報(電力)	caor_is:disasterInformation	0006
ライフライン情報(ガス)	caor_is:disasterInformation	0007
ライフライン情報(断水)	caor_is:disasterInformation	0008
消防庁災害情報	caor_is:disasterInformation	0009
電話回線情報	caor_is:disasterInformation	000A