Deliberate tolerances
Where a standard requires or allows a broker to accept something, Andromeda accepts it. These are the cases.
-
Kept, as GeoJSON allows.
-
Not checked. GeoJSON says parsers shouldn't reject a polygon for it.
-
Geometries crossing the antimeridian
Accepted. GeoJSON recommends cutting them but doesn't require it.
-
An attribute's own
previous…member in a writeIgnored, because the specification says members only a response carries are ignored.
-
createdAtandmodifiedAtin a writeIgnored at every level, since "NGSI-LD implementations shall ignore them", though they still have to parse. That lets you write back an entity you read with
sysAttrs. Andromeda stamps the entity and its attribute instances itself. A sub-attribute holds no system time, and asysAttrsrepresentation shows none for it. -
The members Andromeda generates on a subscription
Ignored when you send them. They are
status,createdAtandmodifiedAt, plustimesSent,timesFailed,lastNotification,lastSuccessandlastFailureinnotification. The specification says implementations "shall ignore them", which keeps a subscription you read legal to write back. -
instanceIdin a Core API writeIgnored at every level, though it still has to be a URI. Andromeda makes up the
instanceIdof the instance the write adds to the history. A Temporal API write keeps theinstanceIdyou give an instance, since that is how you address the instance afterwards. -
Extra members of a context source registration
Kept as Context Source Properties.
-
An
NGSILD-Tenantentry or a binding-specific header incontextSourceInfoA registration whose
contextSourceInfoholds one, such asContent-Length, is created with the entry stored as written, and no forwarded request carries it, because the specification says such information "shall be ignored". A forwarded request goes to the tenant in the registration'stenantmember, or to the default tenant when there is none. -
Member order in a hosted
@contextA hosted
@contextis stored as the text it was written in, and it is served with its members in the order you wrote them. JSON member order carries no meaning, and Andromeda doesn't impose one. -
Leaves the defaults in place, as the
Preferspecification requires. -
A remote
@contextserved astext/plain, or with noContent-TypeRead as JSON. The specification sets no media type for a fetched context, and many published data model contexts are served as
text/plain. This is wider than the JSON-LD 1.1 API document loader, which fails anything not served as JSON. The body still has to be UTF-8 JSON with a top-level@context.