Skip to main content

スキーマの整合

Wikibase スキーマは、OpenRefine の各行に対してどのような編集を行うかを定義するテンプレートです。このページではスキーマの各構成要素がどのように動作し、テーブルのセル内容からどのように編集が生成されるかを説明します。

アイテム

スキーマ内の「アイテム」は、1 行から生成される特定の Wikibase アイテムへの変更セットです。同じ行から複数のアイテムを編集することもでき、その場合はスキーマに複数のアイテムブロックを追加します。主語には手入力の QID もしくはリコンサイル済み列を設定できます。列を使用した場合の挙動は次のとおりです。

  • セルが既存アイテムにマッチしている場合は、そのアイテムに編集を適用
  • 「新しいアイテム」としてマークされている場合は新規作成(詳細は 新しいアイテム
  • リコンサイル候補はあるがマッチを確定していない場合はスキップ
  • リコンサイルされていない、または空白のセルもスキップ

OpenRefine はアップロード時に最適な順序へ並べ替えるため、行やアイテムの並び順を意識する必要はありません。同じアイテムへの編集が複数行にまたがる場合はマージされ、1 回の編集として送信されます(詳細は アップロード)。

用語(ラベル・説明・別名)

ラベル・説明・別名などの「用語」は言語ごとに 1 セットを持ちます。OpenRefine ではスキーマを通じてこれらを追加・更新できます。

言語

各用語には言語コードが必要です。

  • データセット全体が同じ言語の場合: 入力欄に言語名を入力し、サジェストから選択します。
  • 行ごとに言語が異なる場合: Wikimedia 言語コードを保持した列を作成し、その列を言語欄にドラッグします。無効なコードは無視され、廃止コードは自動的に最新のコードに変換されます。

ラベル

各言語につき 1 つだけ保持できるため、既存ラベルを上書きするか、空の場合のみ挿入するかを選択します。値が空の場合は何も変更されず、ラベルの削除はできません。

説明

ラベルと同様に 1 言語 1 説明で、上書きまたは差し込みのみが可能です。削除はできません。

別名

別名は既存のリストに追加されます。該当言語にラベルがない場合は、最初の別名が自動的にラベルとして扱われます。既存の別名を削除・上書きすることはできません。

ステートメント

スキーマにステートメントを追加すると、アップロード時に対応するアイテムへ新しいステートメントが生成されます。既存ステートメントとのマージ方法はアップロード媒体に依存します(詳細)。

主値

ステートメントの主値はプロパティに応じたデータ型を持ちます。参照元のセルが空などで評価できない場合はステートメント全体がスキップされます。#NOVALUE##SOMEVALUE# を指定することで「値なし」や「値不明」を表現できます。

アイテム値

リコンサイル済み列や手入力の QID を利用します。マッチしていないセルはスキップされます。

文字列/識別子

任意の列をドラッグして文字列値や ID を指定します。トリムなどの前処理が必要であれば事前に列を整形してください。

数値

数値列と単位(必要であれば単位アイテム)を指定します。単位を省略すると無単位として扱われます。

日付・時刻

ISO 8601 形式の文字列または日付列を利用します。精度(年、月、日など)を指定できます。

座標

緯度・経度・標高・精度を表す列を割り当てます。少なくとも緯度と経度が必要です。

ブール値

true / false を返す式を利用します。

モノリンガルテキスト

テキスト列と、必要に応じて言語コード列を割り当てます。

修飾子と参照

各ステートメントに対して複数の修飾子や参照を追加できます。追加方法は主値と同様で、プロパティに応じたデータ型を指定します。参照には出典 URL、刊行物、日付などを組み合わせて入力できます。

例外やスキップ条件

セルが空、またはリコンサイルされていない場合は自動的にスキップされます。明示的に処理したくない行を除外したいときは、ファセットで対象外を絞り込むか、スキーマ内で「値が空なら追加しない」といった条件式を用いてください。

よくある設計パターン

  • 同じ列から複数のプロパティを追加する: 列を複製し、それぞれに異なるプロパティを割り当てます。
  • 複数値の列: 文字列を分割して cross 関数で行を増やすか、正規化したテーブルを準備してからリコンサイルします。
  • 列の前処理: スキーマに渡す前に Edit cells → Common transforms や GREL でクリーニングします。

編集内容を検証する

スキーマを保存すると、OpenRefine は 品質管理 の項目に基づいて警告を表示します。重要度によって「警告」「重大なエラー」などに分類され、重大なエラーが解消されるまでアップロードできません。

スキーマのインポート/エクスポート

スキーマは JSON 形式でエクスポート/インポートできるため、他プロジェクトやチームとの共有が容易です。メニューの WikidataImport/Export schema から操作します。