Toolkit

Masao Takaku edited this page Aug 14, 2018 · 34 revisions

CC BY 4.0この文書は クリエイティブ・コモンズ 表示 4.0 ライセンス の下に提供されています。

Poorman’s Linked Data Toolkit / お手軽にLinked Dataを作ろう!

本ページでは、Turtle形式のRDFデータを、MS Excel、MS Word、テキストエディタのみで作成する方法を紹介します。 教科書LOD(https://w3id.org/jp-textbook/)の多くのリソースはこの方法を使って作成してきました。 普段よく使っているツール(MS Excel、MS Word、テキストエディタ)を使って、お手軽・お安くできることから、「Poorman’s Linked Data Toolkit」と呼んでいます。ここでは、そのやり方を紹介します。

1. 基本的な作成の流れ

基本的な作業は、以下のような流れになります。

  • 1行が1レコード(≒1リソース)のデータをExcelで作る
  • Excelの1行を1レコードとみなし、いくつかのセルの値を &(文字列結合演算子)でつなげていく
  • 出力には、列をコピーし、MS Wordへペーストします (Excel to word)
  • MS Word を全コピーし、テキストエディタにペーストします (Word to Text)
  • テキストエディタの内容を、文字コードUTF-8で、Turtleファイルとして保存します(例: “filename.ttl”) (Turtle)

2. 例:学校のRDF

作成の流れについて、次の「学校」種別を表現するRDFデータを例にとって、順を追って説明します。

学校のRDF

@prefix schema: <http://schema.org/>.
@prefix owl: <http://www.w3.org/2002/07/owl#> .
<https://w3id.org/jp-textbook/school/小学校> a <https://w3id.org/jp-textbook/School>;
  schema:name "小学校"@ja;
  schema:name "しょうがっこう"@ja-Hira;
  schema:name "Elementary School"@en;
  owl:sameAs <http://ja.dbpedia.org/resource/小学校>.

ここに挙げたのは、「小学校」の部分のみを抜き出したものです。 Turtleデータ全体はschool-20180713.ttl等を参照してください。 なお、図の生成には、RDFグラフの視覚化 Turtle, Microdata, JSON-LD, RDF/XML, TriG (kanzaki.com)を使って作成しています。

3. Excelで1行1レコードのデータを作成

Excel(1行1レコードのデータ)の画面

データ例:school-20180713.xlsxでは、1行目にヘッダ行、2行目に「小学校」の情報が入力されており、3行目は「中学校」、4行目は「高等学校」の情報が入力されています。 このように、1行に1レコードとなるように情報を入力します。 A列は日本語の名称、B列は名称のふりがな表記、C列は英語名称を入力しています。

4. Turtleの列を作成

セル参照と文字列連結関数の「&」を使ってTurtleを生成する列を作成します。 例では、D列にTurtleの列となっています。

Excel(Turtle列)の画面

まず、あとでコピペだけで完成できるよう、1行目には@prefixを書いておきます。 なお、Excelでは「@」から始まるセルはエラーになることがあるので、先頭に「'」(シングルクオート)を入れておくとよいです。

'@prefix schema: <http://schema.org/>.
@prefix owl: <http://www.w3.org/2002/07/owl#> .

2行目以降では、セルの値(例:A2であれば「小学校」)を &でつなげて作成します。 今回の例であれば、以下のように書きます。

= "<https://w3id.org/jp-textbook/school/"&A2&"> a <https://w3id.org/jp-textbook/School>;
"&"  schema:name """&A2&"""@ja;
"&"  schema:name """&B2&"""@ja-Hira;
"&"  schema:name """&C2&"""@en;
"&"  owl:sameAs <http://ja.dbpedia.org/resource/"&A2&">."

空白や改行もそのまま出力できるので、セルの中にはインデント用の空白や改行を入力してしまいましょう。 なお、Excelセル中で改行を打つには Alt キーを押しながら改行キーを押す必要がある点に注意しましょう。 また、「"」(ダブルコーテーション)を出力したい場合は、「""」と2つ書きます。

Turtleデータが1レコード分かけたら、そのセルの内容を最後の行まで全てのレコードに対して生成するように指定してコピーしましょう。 オートフィル機能を使うと便利です。

5. Turtleの列をコピー

列全体を選択してコピーします。

Excelの画面(Turtleの列をコピーしたところ)

6. Wordに貼り付け

Turtle列全体を選択コピーして、空のWord文書に一旦貼り付けます。

Wordの画面(Turtleを貼り付けたところ)

この手順が必要な理由は、Excelでコピーしたものを、直接テキストエディタに張り付けた場合、「"」(ダブルクオーテーション)が二重についてしまうため、これを防ぐために必要な手順となります。

7. Wordに貼り付けたデータを全選択し、コピー

Wordの画面(全部をコピーしたところ)

今度は、Word文書に張り付けられたテキスト内容全体を再度選択しなおして、コピーします。

8. テキストエディタに貼り付け

テキストエディタの画面(貼り付けたところ)

Wordでコピーした内容をテキストエディタに貼り付けます。

参考: 教科書LODで使っているテキストエディタ

Turtle形式はUTF-8でなければなりませんので、テキストエディタは文字コードUTF-8が扱えるものにします。 教科書LODで使っているテキストエディタは、以下の通りです。どちらも無料で使えます。

9. 保存(文字コード:UTF-8、拡張子:.ttl)

文字コードは「UTF-8」に指定して、拡張子「.ttl」で保存します。 もし、「UTF-8」と「UTF-8N」があった場合は、「UTF-8N」を選びます。

テキストエディタの画面(保存しているところ)

これで、Turtleファイルが完成します。 作成したTurtleファイルを、公開Webサーバーにおけば、Linked Dataを公開したということになります。

参考: 正しいTurtle形式かどうか確かめる方法

RDFグラフの視覚化 Turtle, Microdata, JSON-LD, RDF/XML, TriG (kanzaki.com) に、作成したTurtleファイルの内容をコピー&ペーストして、「グラフ描画/Draw」ボタンをクリックしてみて、RDFのグラフ図が表示されたら、正しいTurtleが書けていることがわかります。 形式に誤りがある場合は、エラーが表示され、図が表示されません。

参考:Google Spreadsheet + Google Docsを代わりに使用可

教科書LODでは使っていませんが、

  • MS Excelの代わりに、Google Spreadsheet
  • MS Wordの代わりに、Google Docs

でも良さそうです。

それほど多くないレコード数(1000以下程度)なら、無料でできるので、ExcelやWordがない環境でお手軽にできるので良いのではないでしょうか。 ただし、レコード数が多くなると、Excel、Wordのようにネットを介さずにローカルで作業できる方が良さそうです。

まとめ

今回紹介した方法以外にも LinkData のようなサービスを使ってLDを公開する方法もあります。 このようなサービスは、作成から公開までサポートされていて素晴らしいと思います。また、使い方もかなり簡単になっています。

今回の方法は新しいサービスの使い方を修得するのが億劫な方でも、普段よく使うExcelやワードを使って、気軽にTurtleファイルを作れるものだと思います。 Linked Dataの作成って、身近なツールで簡単にできるんだ、作成して公開してみよう、と思う方が一人でも多くなることを期待して、このドキュメントを作成、公開します。


© 2017-2018 教科書LODプロジェクト

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.