相撲絵の場合:ジャパンサーチとWeb AnnotationSumo Ukiyo-e: Web Annotation for Japan Search

ジャパンサーチ(JPS)のアイテム記述に独自のメモを加えたいこともあるでしょう。Web Annotationを用いて外部情報を加える例として、相撲絵のメモ注釈RDFを作成しました。JPSとの統合クエリで、情報を組み合わせることができます。またJPSのマイノートからのWeb Annotation生成も可能です。

This page introduces annotations on 相撲絵 (Sumo Ukiyo-e) items in Japan Search (JPS) with Web Annotation, as examples to add information from outside. Those information can be merged via federated query. Also, you can generate Web Annotation from JPS Notes.

External metadata description with Web Annotationによる外部メタデータ記述

JPSのアイテムについてメモや注釈を加えるときに、JPSのURIを主語にして直接記述するのはあまり得策ではありません。異なるデータを組み合わせると、JPSの記述や他の人のメモと区別が難しく、誰がいつ作成したメモなのか分からなくなってしまうからです。

このような場合は、Web Annotationを用いると、自作コメントをJPSの記述や他の人のメモと明確に区別して扱うことができます。

It would not be wise to describe your memo with JPS URI as its subject, since it makes difficult to distinguish your memo from those by other people, or JPS description itself.

Web Annotation allows to describe your memo expricitly separating from those by others.

{
    "@context": "http://www.w3.org/ns/anno.jsonld",
    "target": "https://jpsearch.go.jp/data/dignl-1313392",
    "bodyVale": "第11代横綱不知火光右衛門の一人立化粧まわし姿",
    "creator": "http://purl.org/net/who/kanzaki#masahide",
    "created": "2019-05-04",
    "id": "https://www.kanzaki.com/works/ld/jpsearch/annot-sumo#anno1",
    "type": "Annotation"
}

テキスト注釈だけでなく、タグや他のメタデータを加えることもできます。この場合はbodyValeではなくbodyを用いて注釈内容を構造化し、メタデータの種類をpurposeで示します。

You can add tags or other metadata. In this case, use body instead of bodyVale, and specify the kind of your metadata by purpose.

    "target": "https://jpsearch.go.jp/data/dignl-1313392",
    "body": {
        "value": "相撲絵",
        "purpose": "tagging"
    },
    ...

タグなどの値をURIで表現するためには、valueではなくsourceを用いてデータ値をURIにします。絵に誰が描かれているかも記述するならばpurposeの値を"identifying"とし、複数のメタデータ記述のために、bodyの値を配列にします。

If the value of the tag is URI rather than a textual string, use source instead of value. In order to describe who is depicted in the picture, set the value of purpose to "identifying", and make body an array.

    "target": "https://jpsearch.go.jp/data/dignl-1313392",
    "body": [{
        "source": "http://ja.dbpedia.org/resource/相撲絵",
        "purpose": "tagging"
    },{
        "source": "http://ja.dbpedia.org/resource/不知火光右衛門",
        "purpose": "identifying"
    }],
    ...

複数ターゲットのWeb AnnotationMultiple targets in Web Annotation

複数のJPSアイテムに同じタグを与えてグループ化するという使い方もあるでしょう。この場合は、targetを複数記述することで、一つの注釈でタグのグループを表現できます。

Sometimes you might want to give the same tag to multiple JPS items so as to group them. In this case, one annotation with single tagging body and an array of targets will work.

    "target": [
        "https://jpsearch.go.jp/data/dignl-1313392",
        "https://jpsearch.go.jp/data/dignl-1303914",
        "https://jpsearch.go.jp/data/cobas-50008"
    ],
    "body": {
        "value": "相撲絵",
        "purpose": "tagging"
    },
    ...

JPSマイノートをJPS Notes as Web Annotation

マイノートのお気に入りリストは、タイトル(ノート名)を持つノートにJPSアイテムをマークで登録していく仕組みです。このタイトルをタグとみなせば、ちょうどこのタグのグループと考えることができます。

A Favorite List of JPS Note is a function to check items into a note with a title (note name) by icon. Taking this title as a tag, a note can be considered a tag group of items.

マイノートのお気に入りリストはタイトルのもとにアイテムを集めることができる。
JPS my note and annotation target/body

マイノートはJSONとしてエクスポートできるので、そのノートJSONをWeb AnnotationのJSON-LDに変換する機能も用意しています(各アイテムに注釈を加えている場合や、あとで編集したい場合などは、アイテム毎にAnnotationを分けることも可能です)。

You can export notes as JSON, and convert the JSON to Web Annotation JSON-LD (If you add annotation to each item, or want to edit later, then it is also possible to make Web Annotation for each item).

マイノートのJSON エクスポートしたJSONを貼り付けて変換してください。日本語ノート名がタグになります。 Input exported my note JSON, then convert. English note name will be used for tag. タグはTag as , 注釈はAnnot
creator
baseURI
※設定値はlocalStorageに保存されます。※Setting will be saved in localStorage.
Web Annotation JSON-LD JSONデータをWeb Annotationに変換したJSON-LDが下に表示されます。 The Web Annotation JSON-LD converted from JSON data will be show bellow.

次のブックマークレットNote2Annotで、ノートをエクスポートしなくてもこのツールをJPSページから実行できます(JPSページにノート選択・送信フォームを追加します)。また、JPSギャラリーもマイノートと同じデータ構造を用いているので、JSONを取得して「マイノートのJSON」に貼り付ければ、同様にWeb Annotationに変換できます。ギャラリーのIDもしくはURIを与えてWeb Annotationに変換するツールも用意しています。

The next bookmarklet Note2Annot will triger this tool from JPS Notes page, without exporting the data to a local file. Also, JPS Gallery's JSON data can also be converted to Web Annotation with this tool, since it uses the same data structure as JPS Note. A conversion tool from Gallery ID or URI available, too.

Web Annotation and RDF

例3taggingの記述をRDFグラフとして図示するとFig.2のようになります。これはFig.3のようなプロパティグラフ的多項関係と考えることもできるでしょう(:hasPurpose:hasSourceをそれぞれjps:relationTypejps:valueと読み替えると、JPSの構造化記述とも似ています)。

The tagging part in >example 3 represents RDF in Fig.2. This can be thought as a sort of propety graph like N-ary relationship shown in Fig.3 (similar to sturctured property of JPS if replace :hasPurpose and :hasSource with jps:relationType and jps:value respectively.)

RDFグラフの表現。
Web Annotation
プロパティグラフとして考えることもできる。
Property Graph like N-ary

JSON-LDによる記述全体をRDFに変換すると、次のTurtleが得られます。

From the JSON-LD, you will get Turtle bellow.

なお、JPSアイテムについてのメモを活用するには自身のエンドポイントが必要、というわけではありません。メモをJSON-LD(あるいはTurtle)ファイルとしてローカルに保存し、ARQなどのツールでそのファイルに対してクエリを実行できます。そこにJSPとの統合クエリを組み込んでもきちんと機能します。

Note it is not necessary to build your own SPARQL endpoint in order to execute federated query with JSP. Save your JSON-LD (or Turtle) as a local file, and query against it with a command line tools such as ARQ. The query can include federation with JPS.