-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Representing type hierarchies #68
Comments
After our last meeting, this is what I understand about the use case here. We can currently choose a suggested default type in the reconciliation dialog (1) or search and get suggestions for a specific type (2): So the idea here would be to additionally provide a way visually browse a type hierarchy for selecting a type to reconcile against. This would be very nice to have for the GND class/type hierarchy too. It would provide a way to discover what types are available in the dataset, where today we can only discover default types that are suggested (1) or that we already know of and search for specifically (2). On the protocol level, this would require expressing the hierarchy somehow when describing types. This could be achieved by adding fields like |
My initial reaction to this proposal was that to make this work in Wikidata's case, we would need to add quite some paging mechanisms because Wikidata's type hierarchy is huge:
So I was thinking that it would be better to have a dedicated endpoint for this feature. But in fact, Wikidata's full type hierarchy is so big and messy that we probably do not want to show it to the user anyway. So, if I had to implement this in the Wikibase reconciliation service, I could simply let the service provider define a hierarchy of important, sensible types that should be advertised to the user by default, and we would use that. It would essentially be an improvement over the current "defaultType" that we offer. So, all in all, @fsteeg's proposal above looks good to me. In today's call we discussed that it could be better to simply supply each type's broader classes (parents in the hierarchy) and omit the narrower ones, to save some bytes and avoid redundancy. |
I like the @wetneb idea of simply sidestepping Wikidata's currently hard to visualize type hierarchy (it's hard for good reason, not everything in the world always fits in neat buckets as Denny always says). But for reconciliation service providers where the type hierarchy is known or not as messy, then a good first step might be allowing to define a hierarchy of sensible types. Hmm, but then practically, what does this look like for reconciliation service providers to provide? |
In the case of Wikibase, yes the service provider would define the hierarchy in the configuration file of the service. |
With default and suggested type IDs See: reconciliation-api/specs#68 reconciliation-api/specs#73
Ah sorry, yet another detail comes to mind. In the JSON serialization of this new
|
* Display single-level `broader` types as breadcrumb With default and suggested type IDs See: reconciliation-api/specs#68 reconciliation-api/specs#73 * Handle `broader` as array See reconciliation-api/specs#73 * Handle `broader` array elements as types See reconciliation-api/specs#73
In some reconciliation services (such as Wikidata), the types are organized in a hierarchy: some types are included in others. For now, the specifications do not say anything about this. In today's call, it was mentioned that the specifications could also say something about that. What would be the impact on the API? What workflows would it enable?
The text was updated successfully, but these errors were encountered: