URIの付け方

このページはURIの付け方についての説明が書かれています.

URIはgsファイルに含まれるリソースに付けられるIDです。

URIはすべて「smart://<type>/」から始まります。ただし<type>はそれぞれのリソースのタイプ名を表します。「smart://」をURIのヘッダと呼びます。

URIのほとんどには、そのリソースを作成したユーザ名と作成された日時(GMT、秒まで)が含まれます。以下ではこれらをそれぞれ<user>、<date>によって表します。

一部のリソースは名前を持ちます。以下ではその名前を<name>によって表します。

多くのリソースは他のリソースと関連づけられています。あるリソースが他のリソースに従属的に含まれているとき、後者を前者のコンテナと呼びます。あるリソースのコンテナのURIからヘッダを除いたものを以下では<container>によって表します。

Connectionはソースとターゲットを持ちます。以下ではソースのURIからヘッダを除いたものを<source>、ターゲットのURIからヘッダを除いたものを<target>によって表します。


URIを持つオブジェクト

  • SpreadDirectory
    • Spreadが置かれる場所。
    • タイプ名は「directory」。
    • ルートディレクトリ以外は親ディレクトリをコンテナとする。
    • ルートディレクトリのURIは「smart://directory/root/<user>/<date>/」。
    • それ以外は「smart://<container'><name>/<user>/<date>/」。ただし<container'>は親ディレクトリのURIからヘッダと「<user>/<date>/」を除いたもの。
  • Spread
    • 資料の画像。
    • タイプ名は「spread」。
    • SpreadDirectoryをコンテナとする。(ただしこれは便宜的なものでSpreadはSpreadDirectoryに従属している訳ではない)
    • URIは「smart://spread/<name>/<user>/<date>/^<container>」。
  • Region
    • Spread上のマークアップ。
    • Rectangle、Polygon、Marker、MemoPad、Bookmark、Anchor、LineSegmentがある。それぞれのタイプ名は「rect」、「polygon」、「marker」、「memopad」、「bookmark」、「anchor」、「linesegment」。
    • Spreadをコンテナとする。
    • URIは「smart://<type>/<user>/<date>/^<container>」。
  • IDAT
    • Spreadにデフォルトで付けられているテキスト。
    • FirstIDAT、SecondIDAT、ThirdIDATの3種類がある。
    • 以前のバージョンではTranscription、Annotation、Translationと呼ばれていたもの。
    • それぞれのタイプ名は「firstIdat」、「secondIdat」、「thirdIdat」。
    • Spreadをコンテナとする。
    • URIは「smart://<type>/<user>/<date>/^<container>」。
  • UsersNoteDirectory
    • UsersNoteが置かれる場所。
    • タイプ名は「usersNoteDirectory」。
    • ルートディレクトリ以外は親ディレクトリをコンテナとする。
    • ルートディレクトリのURIは「smart://usersNoteDirectory/root/<user>/<date>/」。
    • それ以外は「smart://<container'><name>/<user>/<date>/」。ただし<container'>は親ディレクトリのURIからヘッダと「<user>/<date>/」を除いたもの。
  • UsersNote
    • ユーザによって作成されるテキスト。
    • タイプ名は「usersNote」。
    • UsersNoteDirectoryをコンテナとする。
    • URIは「smart://usersNote/<name>/<user>/<date>/^<container>」。
  • Connection
    • リソース間の関連付け
    • タイプ名は「connection」。
    • ソースとターゲットを持つ。
    • URIは「smart://connection/<user>/<date>/#<source>@<target>」。
  • ExplanatoryNote
    • Connectionに付けられた説明。
    • タイプ名は「explanatory」。
    • Connectionをコンテナとする。
    • URIは「smart://explanatory/<user>/<date>/^<container>」。
  • AnchorTextSegment
    • 画像上の位置と対応づけられた特殊なTextSegment
    • タイプ名は「anchorTextSegment」。
    • IDAT、UsersNoteExplanatoryNoteなどをコンテナとする。
    • URIは「smart://anchorTextSegment/<user>/<date>/^<container>」。
  • RWPackage
    • タイプ名は「package」。
    • URIは「smart://package/<name>/<user>/<date>/」。
  • GS-RWPackage
    • タイプ名は「gsRWPackage」。
    • URIは「smart://package/<name>/<user>/<date>/」。
  • QueryBucket
    • クエリをまとめておくパッケージ。GS_RWPackageを継承している。
    • タイプ名は「bucket」。
    • URIは「smart://bucket/<user>/<date>/」。
  • GSQuery
    • 画像サーチの記録。
    • タイプ名は「query」。
    • Spreadをコンテナとする場合と、コンテナを持たない場合がある。
    • URIは「smart://query/<name>/<user>/<date>/^<container>」。
  • ShortCut
    • タイプ名は「shortcut」。
    • リソースをコンテナとする。
    • URIはコンテナを持つ場合には「smart://shortcut/<user>/<date>/^<container>」、そうでない場合には「smart://shortcut/<user>/<date>/」。
  • DesktopFolder
    • GSQueryが置かれる場所。
    • タイプ名は「desktopFolder」。
    • ルートディレクトリ以外は親ディレクトリをコンテナとする。
    • ルートディレクトリのURIは「smart://desktopFolder/root/<user>/<date>/」。
    • それ以外は「smart://<container'><name>/<user>/<date>/」。ただし<container'>は親ディレクトリのURIからヘッダと「<user>/<date>/」を除いたもの。
  • ResourceBasket
    • リソース(特に画像とテキストのマークアップ)のグループ。
    • タイプ名は「resourceBasket」。
    • URIは「smart://resourceBasket/<name>/<user>/<date>/」。
  • Zombie
    • Connectionのリンク先のリソースが削除されている場合に作られるダミーのオブジェクト。
    • タイプ名は「zombie」。
    • URIは「smart://zombie/<user>/<date>/^<deadURI>」。ただし<deadURI>は削除されたオブジェクトのURIからヘッダを除いたもの。また、<user> <date> は,<deadURI> のものを使う。