reconciliation-api / specs

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

Adjust definition of schema space #76

Closed acka47 closed 2 years ago

acka47 commented 2 years ago

Resolves #3

acka47 commented 2 years ago

Hmm, with this version, the schema space is basically the same thing as the identifier space, right?

I don't think so. The identifier space defines the namespace for the resources to reconcile against, the schema space defines the type of resources one has. In lobid-gnd we woud have different values:

I could imagine a reconciliation service for places in Wikidata which would use the following:

However, I do not think that we should stick to this definition for historical reasons and would be ok with sticking to the current definition in the spec.

wetneb commented 2 years ago

I am also fine with making it closer to the historical version, but would ideally like a wording which would make the difference between both parameters a bit clearer. With this version, the two are really close:

  • identifierSpace: A URI which identifies the sort of entity identifiers returned by this service. [...]
  • schemaSpace: A URI which identifies the type of entity returned by the reconciliation service [...]

The difference between "type" and "sort" is quite subtle!

acka47 commented 2 years ago

The difference between "type" and "sort" is quite subtle!

One refers to the namespace of the entity identifiers, the other to the entity type. Maybe something like this?

  • identifierSpace: The URI namespace for the entity identifiers returned by this service. [...]
  • schemaSpace: A URI which identifies the type of entity returned by the reconciliation service [...]

However, it is quite unintuitive to give an entity type in a field called "schema space", I'd rather expect something like in the current draft.

wetneb commented 2 years ago

Yes that would be better!

thadguidry commented 2 years ago

@acka47 identifierSpace: The URI namespace for the entity identifiers returned by this service. [...]

That is better but not by much, it gives information about the labeling of the namespace. It would be better to have a description that also includes what is being identified and why (it might be useful) to know or disambiguate with. I.E. I almost feel like we should describe a bit about what an "identifier" is and what is being represented by it. Maybe flipping the wording to "...for the identifiers of an entity returned by this service" ?

fsteeg commented 2 years ago

Pushed an attempt to join the suggestions by @acka47 and @thadguidry, tweaked for consistency: https://github.com/reconciliation-api/specs/pull/76/commits/22a7e37e35d0c79f5796c19ac410739cf479d812

wetneb commented 2 years ago

Merging this to move forward, but we are happy with further tweaks!