@@ -25,12 +25,12 @@ common definitions are shared across these levels.
2525
2626## General Properties
2727
28- | Property Name | Data Type | Description |
29- | ------------- | -------------- | ----------- |
30- | schemas | array\< string> | ** REQUIRED.** A list of schemas the collection implements. |
31- | id | string | ** REQUIRED.** An identifier for the field. |
32- | collection | string | The identifier of the parent collection. |
33- | category | array\< string> | A set of categories the field boundary belongs to. |
28+ | Property Name | Data Type | Description |
29+ | ------------- | ------------------------------- | ----------- |
30+ | schemas | object \< string, array\< string> > | ** REQUIRED.** A list of schemas the collection implements. |
31+ | id | string | ** REQUIRED.** An identifier for the field. |
32+ | collection | string | ** REQUIRED. ** The identifier of the collection. |
33+ | category | array\< string> | A set of categories the field boundary belongs to. |
3434
3535### schemas
3636
@@ -39,8 +39,25 @@ Each schema must be a valid HTTP(S) URLs to an existing YAML files compliant to
3939The schema for this specification (see above) is required to be provided.
4040
4141Each ` collection ` must have a single set of applicable schemas.
42+ The key of the dictionary must be equal to the value provided for the ` collection ` property.
4243
43- The schema URI listed above is required to be present in the ` schemas ` array.
44+ The schema URI for fiboa that is listed above is required to be present.
45+
46+ ** Example for ` schemas ` :**
47+
48+ This describes two collections ` abc ` and ` xyz ` .
49+
50+ ``` json
51+ {
52+ "abc" : [
53+ " https://fiboa.github.io/specification/v0.3.0/schema.yaml"
54+ ],
55+ "xyz" : [
56+ " https://fiboa.github.io/specification/v0.3.0/schema.yaml" ,
57+ " https://fiboa.github.io/crop-extension/v0.1.0/schema.yaml" ,
58+ ]
59+ }
60+ ```
4461
4562### id
4663
@@ -50,12 +67,6 @@ It must be unique per collection, i.e. `collection` and `id` form a unique ident
5067
5168A collection is a group of one or more features with a unique identifier, stored in the ` collection ` property.
5269
53- The collection identifier is usually only needed for merged datasets and it is ** required** in this case.
54- Implementations may create collection identifiers if datasets that don't provide a collection identifer are getting merged.
55- A validatior can't know whether the ` collection ` property is required, the data providers or tooling must handle this,
56- i.e. if data from two different sources is merged, a ` collection ` property with distinct values must be provided.
57- This ensures unique IDs through the combination of the properties ` id ` and ` collection ` .
58-
5970Encodings may support to store properties that consists of the same value across all features at the collection-level.
6071This de-duplicates data for more efficient resource usage, but only applies if more than two features are available for the collection.
6172The specific location and behaviour of collection-level data is specified in the encoding-specific specifications.
0 commit comments