我正在尝试编写一个 MQL 查询来格式化 freebase 中的搜索结果(搜索 API 中的“输出”参数)。我本质上想找到给定搜索结果的所有属性的(简单)值(事先不知道结果的类型)。“简单”是指仅当值是复杂对象时的默认属性。
例如,如果我搜索“Yo La Tengo”,这会将我带到“/en/yo_la_tengo”的结果,我希望能够获得该组的成员(我只需要名称,而不是乐器或开始日期)、专辑(再次,只是名称),电影贡献(再次,只是名称)等。
鉴于我对类型一无所知,是否有一种简单的方法可以通过搜索输出查询来做到这一点?我想我可以使用某种反射魔法,并且我尝试过使用“/type/reflect”,但我没有得到任何结果。我是 MQL 的新手(虽然我有丰富的 SQL 经验),所以这有点令人生畏。有任何想法吗?
编辑:所以澄清一下,我认为我看到的问题是由于调解类型,如“表演”(电影中的演员)或“婚姻”。例如,关于Yo La Tengo的查询,我可以看到我感兴趣的大多数(全部?)信息,但是关于 [The Muppet Movie] 的类似查询(freebase.com/api/service/search?limit=1&mql_output=%5B%7B%22%2Ftype %2Freflect%2Fany_reverse%22%3A%5B%7B%7D%5D%2C%22%2Ftype%2Freflect%2Fany_master%22%3A%5B%7B%7D%5D%2C%22%2Ftype%2Freflect%2Fany_value%22 %3A%5B%7B%7D%5D%7D%5D&query=%20Muppet%20Movie -- 抱歉,我认为我是垃圾邮件发送者,所以我无法将其设为链接),我没有看到 Frank Oz 的参考资料完全没有(可能是因为他的表现被引用了)。有没有一种通用的方法让我“遵循”中介类型来获取它们的所有属性?例如,