> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# DocumentDefinition

> Vantage の JSON 出力における DocumentDefinition オブジェクトは、抽出データの構造を記述し、Document skill が抽出できる fields を一覧表示します。

**DocumentDefinition** は **RootConcept** 型のオブジェクトを含みます。

<div id="documentdefinition">
  ## DocumentDefinition
</div>

| Property      | Type      | Description      |
| :------------ | :-------- | :--------------- |
| `RootConcept` | `Concept` | 抽出された情報のルート概念です。 |

抽出された要素は概念として表現されます。各概念は 1 種類のオブジェクトに対応し、一意の名前と ID、および fields の説明を持ちます。

<div id="concept">
  ## Concept
</div>

| Property | Type              | Description       |
| :------- | :---------------- | :---------------- |
| `Id`     | `String`          | Concept の ID。     |
| `Name`   | `String`          | Concept の名前。      |
| `Fields` | `ConceptField []` | 抽出されたフィールドの構造の説明。 |

**ConceptField** は、抽出されたフィールドの構造を表します。field には、単純型（例: string、data、number、bool、image）や複合型（子オブジェクト）など、さまざまな型の値を含めることができます。

<div id="conceptfield">
  ## ConceptField
</div>

| Property          | Type                                                                   | Description                                                                                                                                                                                                           |
| :---------------- | :--------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `Id`              | `String`                                                               | field の ID。                                                                                                                                                                                                           |
| `Name`            | `String`                                                               | field の名前。                                                                                                                                                                                                            |
| `Type`            | `Enum {Concept / String / Image / ISOdate / Boolean / Decimal / Enum}` | field データの型。                                                                                                                                                                                                          |
| `EnumValues`      | `EnumValue []`                                                         | field が取り得る値の列挙。 **注:** このプロパティは実装されていません。                                                                                                                                                                            |
| `Cardinality`     | `Cardinality`                                                          | field が文書内で複数回出現するかどうか。                                                                                                                                                                                               |
| `ValueConcepts`   | `Concept []`                                                           | 子 Concept の説明。                                                                                                                                                                                                        |
| `ValueConceptIds` | `String []`                                                            | 子 Concept の ID の配列。このプロパティは、1 つの Concept が複数の親 Concept の子である場合にのみ利用可能になります。子 Concept は、親 Concept のうち 1 つの **ValueConcepts** プロパティ内に、その内容がすべて書き込まれます。その他の親 Concept には、それぞれの **ValueConceptIds** プロパティに、その識別子のみが設定されます。 |

**EnumValue** は、**ConceptField** オブジェクトの Enum 要素を表します。

<div id="enumvalue">
  ## EnumValue
</div>

| Property | Type     | Description |
| :------- | :------- | :---------- |
| `Id`     | `String` | 要素の ID。     |
| `Name`   | `String` | 要素の名前。      |

<Info>
  **EnumValues** プロパティは実装されていません。
</Info>

**Cardinality** は、field が Document内で複数回繰り返し出現するかどうかを指定します。

<div id="cardinality">
  ## カーディナリティ
</div>

| Property | Type      | Description  |
| :------- | :-------- | :----------- |
| `Min`    | `Integer` | インスタンス数の最小値。 |
| `Max`    | `Integer` | インスタンス数の最大値。 |

Min=0 かつ Max=1 の場合、その field は文書内で繰り返し出現してはなりません。Min=0 かつ Max=-1 の場合、その field は文書内で複数回出現することができます。
