Skip to content

Commit 0280530

Browse files
committed
fix: comments from PR review
1 parent db7d816 commit 0280530

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

README.md

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,26 @@ This default is so that the entity returned is a valid STAC Item.
7979
Implementations may choose to include other properties, e.g., `properties.created`, but the number
8080
of default properties attributes should be kept to a minimum.
8181
2. If only `include` is specified, these attributes should be the only attributes included.
82-
3. If only `exclude` is specified, these attributes should be subtracted from the full item.
83-
This may result in an entity that is not a valid STAC Item.
82+
If additional fields are provided beyond those in the `include` list, the number and size of
83+
these attributes should be kept to a minimum.
84+
3. If only `exclude` is specified, these attributes fields should not be
85+
included in the response Item object, but every other fields available for the
86+
Item should be included.`
8487
4. If `exclude` is specified and `include` is null or an empty
8588
array, then the `exclude` attributes should be excluded from the default set.
86-
This may result in an entity that is not a valid STAC Item.
87-
5. If a key is in `exclude`, and a sub-key is in `include`, the sub-key should be included, but no other fields
88-
in the key should be included. For example, if `properties` is excluded and `properties.datetime` is included, then `datetime`
89-
should be the only attribute in `properties`.
90-
6. If a key is in `include`, and a sub-key is in `exclude`, the key should be included, and the sub-key should be excluded.
91-
For example, if `properties` is included and `properties.datetime` is excluded, then `datetime`
92-
should not be in `properties`.
93-
7. If the same attribute is present in both `include` and `exclude`, it should be included.
89+
5. For nested attributes (e.g. `properites.datetime`), the most specific path
90+
should be honored first, and `include` should be preferred over `exclude`. For
91+
example:
92+
1. If a field is in `exclude`, and a nested attribute of that field is in
93+
`include`, the nested attribute should be included, but no other nested
94+
attributes in the field should be included. For example, if `properties` is
95+
excluded and `properties.datetime` is included, then `datetime`
96+
should be the only nested attribute in `properties`.
97+
2. If a field is in `include`, and a nested attribute is in `exclude`, the field
98+
should be included, and the nested attribute should be excluded. For example,
99+
if `properties` is included and `properties.datetime` is excluded, then
100+
`datetime` should not be in `properties`.
101+
6. If the same field is present in both `include` and `exclude`, it should be included.
94102

95103
## Examples
96104

@@ -138,7 +146,7 @@ JSON
138146
}
139147
```
140148

141-
Exclude `geometry` from the full item. This **must** return an entity that is not a valid GeoJSON Feature or a valid STAC Item.
149+
Exclude `geometry` from the full item. This will return an entity that is not a valid GeoJSON Feature or a valid STAC Item.
142150

143151
Query Parameters
144152

@@ -159,7 +167,9 @@ JSON
159167
```
160168

161169
Return the `id`, `type`, `geometry`, and the Properties attribute `eo:cloud_cover`.
162-
This might not return a valid STAC Item, since not all required Item attributes are included.
170+
This is not guaranteed not return a valid STAC Item, since not all required Item
171+
attributes are included, but an implementor may choose to return a valid STAC
172+
item anyways.
163173

164174
Query Parameters
165175

0 commit comments

Comments
 (0)