reconciliation-api / specs

Specifications of the reconciliation API
https://reconciliation-api.github.io/specs/draft/
30 stars 9 forks source link

Minor inconsistency with `Reconciliation Query`'s `type` field #152

Open derenrich opened 6 months ago

derenrich commented 6 months ago

The spec says that the type field should be

An array of types. Supplying such types allows users to restrict the search to entities which bear those types

But then the example shows

{
    "type": "DifferentiatedPerson"
}

Looking at the json schema it actually says that type is

Either a single type identifier or a list of type identifiers

which I guess sounds ok but it still doesn't match the linked definition of type in section 2.2 which says

A type represents a category of entities. It comprises the following fields: id an identifier, which is a non-empty string. This identifier must be unique among all types; name a human-readable name, which is a non-empty string; broader an optional array

which I think is the definition of the type object when its returned

derenrich commented 6 months ago

Also the definition of type in section 2.2 refers to a field of it called broader but that appears to never be referenced in the jsonschema? The json schema looks like:

                    {
                      "type": "object",
                      "description": "A type can be given by id and name",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id"
                      ]
                    },
wetneb commented 6 months ago

This is indeed something that we have been working on in the new version of the specification: see https://github.com/reconciliation-api/specs/issues/109.