- From: Thad Guidry <thadguidry@gmail.com>
- Date: Sun, 10 Nov 2019 11:13:10 -0600
- To: Antonin Delpeuch <antonin@delpeuch.eu>
- Cc: "public-reconciliation@w3.org" <public-reconciliation@w3.org>
- Message-ID: <CAChbWaPxwz_vhz-J1eybsW1thoAnVN7xJtxOqTD9zpWV7BUo9Q@mail.gmail.com>
In Freebase API, (and still somewhere in old Google Refine code) we supported just the /mid call. So the query would look just like {"query":"/m/02mjmr"} {"query":"%2Fm%2F02mjmr"} Hmm, we still have the Recon command for it around: https://github.com/OpenRefine/OpenRefine/blob/2.6-alpha1/main/src/com/google/refine/commands/recon/ReconMatchSpecificTopicCommand.java For Reconciliation API, I think it would be best to allow querying directly for an identifier as in my example above. It may or may not include an "identiferSpace" or "schemaSpace". For the schemaSpace, I would like to see it kept simple such as /*/ And for identifierSpace, I have no opinions. In GraphQL terms, it might look something like this: { schemaSpace : { id: '02mjmr ' } } in detail it could look like this: { "/m" : { id: '02mjmr ' } } or without schemeSpace, simply { id: '02mjmr' } Incidentally, the Freebase.java file within here might be of use to you as well for historical context... https://github.com/OpenRefine/OpenRefine/blob/2.6-alpha1/extensions/freebase/module/MOD-INF/libsrc/google-api-services-freebase-v1-rev25-1.13.2-beta-sources.jar Thad https://www.linkedin.com/in/thadguidry/ On Sun, Nov 10, 2019 at 5:45 AM Antonin Delpeuch <antonin@delpeuch.eu> wrote: > Hi all, > > I would like to discuss one use case that I think the current API does > not serve well, I think. > > The reconciliation API assumes that reconciliation queries contain at > least a name (as basic search query). It is then possible to add other > constraints (type, properties). However in many situations the user does > not have any name to supply. > > The most common situation where this is a problem is when the user has > access to a unique identifier, supported by the reconciliation service > as a property. Supplying such a unique identifier as a property in a > reconciliation query should be enough to identify the candidates, but in > the current API a name also has to be provided. > > Currently, for Wikidata reconciliation, unique identifiers have priority > over the search query, so if you find yourself in this situation you can > use any random gibberish as name. If there is an exact match via some > unique identifier that you supplied, the name will be ignored. > > Example: > > {"query":"a347682ebf327cbd37e834","properties":[{"pid":"P3500","v":"53616"}]} > will return the item with Ringgold identifier "53616" even if the query > has nothing to do with its name. > > However that is not extremely intuitive or user-friendly… So in a future > version of the protocol I would be interested in making those sort of > queries more natural. > > Any thoughts about how it should work? > > Cheers, > Antonin > >
Received on Sunday, 10 November 2019 17:13:28 UTC