※ 本記事はnote投稿の転載です。
※ https://note.com/super_crow2005/n/nac930cc046f9
(2)Cookpadの料理レシピの記載事項について
筆者のCookpadのアカウントはmoritosh、@cook_40029950である。
熱心に投稿していたのは2004~2006年だった。公開レシピ数は116件である。
まず、レシピを一つ。「鰈(カレイ)の唐揚げ」を例に記載の項目を明らかにする。
図からわかるのは、およそ料理レシピは、材料の一覧と料理の手順からなっているということである。これは以前に作成したcooking_recipe.rdf、IRIでhttp://www.onto.org/life/food/recipe (名前空間:recp)と同じである。違いは
・料理レシピそのものに紹介文(概要など)を記載する欄があること
・料理レシピそのものに、コツ・ポイントという、備考欄のような記載があること
・料理レシピの作者(投稿者)があること
・レシピにIDがあること
だろう。これは料理レシピのクラス「レシピ」の属性とすればよいだろう。
材料一覧を観察すると、「材料」の下に「2人分」という記載がある。これは材料一覧の属性として「分量」という属性になるだろう。
「作り方」の料理手順であるが、順序はついているが階層構造にはなっていない。したがって、データ構造的に言えばリストということである。階層付き順序構造から、階層を使わなければよいだけ、つまりオブジェクトプロパティfirst_childを使わない、ということである。
また料理レシピを代表して写真(画像)が一枚、またレシピステップごとに写真(画像)が一枚ついている。
それと上に示した料理レシピの画像には入らないのだが、Cookpadの特徴である「つくれぽ」と呼ばれる、写真付きのコメント欄がある。これはWebの画面で確認できる。またWebの画面には、作者(投稿者)情報欄と「似たレシピ」という類似のレシピ、ここではいろいろなカレイの唐揚げのレシピへのリンクが張られている。
「つくれぽ」「作者(投稿者)情報」「似たレシピ」についは、いくつかレシピ情報を蓄積する時に考察することとして、今は「カレイの唐揚げ」という一つのレシピのインディビデュアルを作ることを考える。
そのためには、cooking_recipe.rdf(recipeオントロジー)を追加修正するだけでよさそうだ。
まず、「レシピ」クラスを修正する。
・「紹介」のデータプロパティを追加。データ型はxsd:string(ja)
・「コツ」データプロパティを追加。データ型はxsd:string(ja)
プロパティの名称を「コツ」としたのは「コツ・ポイント」とすると全角ドット(・)がprotégéの読み込みでエラーがでたからである。理由は不明。
・「作者」データプロパティを追加。データ型はxsd:string(ja)
・「レシピID」データプロパティを追加。データ型はxsd:string(ja)
「作者」データプロパティについては、後に「作者(投稿者)情報」をクラスとしてそこからデータを取得することになるだろう。
「レシピID」は、データ値は半角英数と記号の文字列と思われるが、日本語も認めるように設定しておく。IDは識別子なのでそれ自体に言語的な制限はないだろう。しかし現実的にはコード体系の影響を受けないように半角英数と記号にするのが一般だろう。
「材料一覧」クラスには、
・「分量」データプロパティを追加する。データ型はxsd:string(ja)
を追加する。
写真のデータは、ファイル名(ファイルパス)として、データ型をxsd:string(ja)とする。したがって、このプロパティを「写真」データプロパティとする。
「レシピ」クラスと「ステップ」クラスに「写真」データプロパティを設定する。
基数については、「作者」「レシピID」「分量」は論理的に1:1関係(exact cardinalityで値1)でなければならない。なおレシピの正しい意味での著作についてのむつかしさは先に触れたが、ここの「作者」というのはレシピ自体の考案者というよりは投稿者という解釈をすべきだろう。
「紹介」「コツ・ポイント」も1:1関係でよい。というのは、テキスト欄に、いくつの項目も記入できるからであり、Cookpadもそれを見こして、1つずつ欄を用意しているのだろう。
「写真」も1:1として扱う。これは存在論的な理由でも論理的に導かれることでなく、システム的な仕様なのだろう。
※ 写真を複数枚登録するニーズもなかったのだろうし、写真をのせたいだけなら、作り方のステップのところに写真だけ登録していく手もある。必ずしも、作り方を記述しなければならないわけでもないのだった。
以上である。修正したcooking_recipe.rdfを添付する。
https://note.com/api/v2/attachments/download/0164b2179c0014ff40239c170b8111aa
