reconciliation-api / specs

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

Entity as a core concept is missing `properties` field. #174

Open thadguidry opened 3 weeks ago

thadguidry commented 3 weeks ago

Maybe I'm missing something but when reading section 2. Core Concepts, we didn't list the field properties. Yet later on in section 2.3 Properties, we say:

A property represents a type of attribute that entities can have in the data source.

Luckily, our schema examples however show the "properties" field in the Suggest Entities Response Schema.

Anyways, not a huge deal, but we need to add the properties field to the concept Entity in section 2.1 to be descriptively complete.

wetneb commented 3 weeks ago

To me this is intentional. The fields that are listed in this section are the "core" fields that can be serialized easily in most places where an entity is represented. If we were to include all of the property values in each entity every time we serialize it, it would make for quite big payloads.

I think the "properties" you are seeing in the "Suggest Entities Response Schema" is not a field of our JSON objects, but rather a part of the JSON Schema vocabulary. So that seems to be a mix-up.

thadguidry commented 3 weeks ago

Perhaps, let's see what others think.

I don't quite understand what you mean, why would you want to include property "values" instead of "fields", or at least the properties field like I've done on the PR to acknowledge its relationship early on with the concept of an Entity? To me "properties" is almost a "core" field, I think, when we talk about the concept of Entities from a semantic perspective which is what we're doing in section 2 overall; explaining the 3 basic concepts of Entities, Types, Properties.