google-api freebase mql

Consulta no única con Freebase MQL leer google api



google-api (2)

Parece que solo puedo hacer consultas únicas (es decir, incluir un ID de entidad en la consulta) con la nueva API de lectura de MQL de base de datos libre:

Las siguientes búsquedas en id y escriba:

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"id":"/en/bob_dylan","type":"/people/person"}

y regresa con éxito:

{ "result": { "type": "/people/person", "id": "/en/bob_dylan", "name": "Bob Dylan" } }

Las siguientes búsquedas solo con tipo:

https://www.googleapis.com/freebase/v1/mqlread?query={"name":null,"type":"/people/person"}

o

https://www.googleapis.com/freebase/v1/mqlread?query={"name":[],"type":"/people/person"}

y devuelve el siguiente error:

{ "error": { "errors": [ { "domain": "global", "reason": "badRequest", "message": "Unique query may have at most one result. Got 100" } ], "code": 400, "message": "Unique query may have at most one result. Got 100" } }

Esperaba que devolviera una lista de nombres de personas


Debe ajustar su consulta en [], como en el siguiente ejemplo:

https://www.googleapis.com/freebase/v1/mqlread?query=[{"name":[],"type":"/people/person"}]


Yo también enfrenté un problema similar recientemente. La mejor manera de asegurarse de obtener un solo conjunto de resultados es usar el parámetro "limit: 1" en su consulta mql. por ejemplo:

https://www.googleapis.com/freebase/v1/mqlread?query={"type":[],"name":"india","limit":1}