FANDOM


概要 編集

OTM-JSON(OneToMany-JSON)は、スライム氏などによって考え出された人工言語辞書のデータ形式。

標準的な OTM-JSON はトップレベルに words 属性をもち、これは単語1つに相当するオブジェクト(word)の配列である。word オブジェクトは次の属性をもつ:

  • entry : id(項目ID)と form(見出し語)の属性をもつオブジェクト。
  • translations : title(品詞)と forms(訳語の配列)の属性をもつオブジェクト(translation)の配列。
  • tags : タグの配列。
  • contents : title(記述タイトル(注釈、語法など))と text(記述内容)の属性をもつオブジェクト(content)の配列。OTM-JSONでは自由記述は content に書かれる。
  • variations : title(変化形名(過去形、未来形など))と form(語形)の属性をもつオブジェクト(variation)の配列。
  • relations : title(関係性(同義語、対義語など))と entry(語項目)の属性をもつオブジェクト(relation)の配列。

よって、OTM-JSON には、単語オブジェクト、見出し語オブジェクト、翻訳オブジェクト、記述オブジェクト、語形変化オブジェクト、関連語オブジェクトが登場する。

厳密な仕様 編集

OTM-JSON 形式の厳密な仕様は以下の通りである。 <string> は文字列を表し、<integer> は整数値を表す。 また、[<foo>] は要素が <foo> からなる配列を表す。

なお、トップレベルの <otm> には words 以外のキーをもつことが許される。 これは主に OTM-JSON 形式を扱うソフトウェアが独自の設定項目を保存するために使われる。 したがって、OTM-JSON 形式の入出力を行うソフトウェアは、読み込んだファイルを編集する際に、そのソフトウェアには必要のない words 以外のキーは変更せずにそのまま出力すべきである。

<otm> ::= {
  "words": [<word>]
}
<word> ::= {
  "entry": {
    "id": <integer>,   // 項目ID (<word>全体の中で一意)
    "form": <string>  // 見出し語
  },
  "translations": [<translation>],
  "tags": [<string>],  // タグの配列
  "contents": [<content>],
  "variations": [<variation>],
  "relations": [<relation>]
}
<translation> ::= {
  "title": <string>,   // 品詞タグ
  "forms": [<string>]  // 訳語の配列
}
<content> ::= {
  "title": <string>,
  "text": <string>
}
<variation> ::= {
  "title": <string>,  // 変化型の説明 (活用形態など)
  "form": <string>    // 変化形の綴り
}
<relation> ::= {
  "title": <string>,  // 関連語の説明
  "entry": {
    "id": <integer>,  // 項目ID
    "form": <string>  // 見出し語
  }
}

<word> の entry キーの値の中の id キーの値は、その JSON ファイル内で重複してはならない。 また、<relation> の entry キーの値は、その JSON ファイル内に存在する <word> がもつ entry キーのうちちょうど 1 つと全く同じでなければならない。

ZpDIC では、<otm> に zpdic というキーを追加して、ZpDIC 内で用いるデータを格納している。 zpdic キーの値を <zpdic> と書くことにすれば、その仕様は以下の通りである (ver 1.3.0)。

<zpdic> ::= {
  "alphabetOrder" : <string>,                   // アルファベット順を表す文字列
  "plainInformationTitles" : [<string>],        // ラベル後に改行しない項目名の配列
  "informationTitleOrder" : null | [<string>],  // 内容の表示順, 設定しない場合はnull
  "defaultWord" : <word>                        // 新規作成時のデフォルトデータ
}

拡張 編集

ZpDIC ではトップレベルに zpdic 属性を追加し、辞書ソフト内で用いるデータを格納している。

おかゆ氏が作成しているロジバン辞書の OTM-JSON 形式には、meta 属性が追加され、翻訳元/先言語の情報が格納されている。

名称の由来 編集

名称に「OTM」が入っている理由は2つあり、「一つ目はDBを使うことで一対多のデータを扱うのが楽になるよ、という意味。二つ目の意味は、「一つの形式で、多種多様な言語の表記ができる」という意味」[1]

適用 編集

2016年11月現在、OTM-JSON形式に対応した辞書ソフトにZpDICがある。

  1. https://twitter.com/slaimsan/status/745087303681355776

広告ブロッカーが検出されました。


広告収入で運営されている無料サイトWikiaでは、このたび広告ブロッカーをご利用の方向けの変更が加わりました。

広告ブロッカーが改変されている場合、Wikiaにアクセスしていただくことができなくなっています。カスタム広告ブロッカーを解除してご利用ください。

FANDOMでも見てみる

おまかせWiki