如何将Freebase结果限制为拥有图像的人

时间:2015-04-17 10:19:47

标签: json image api rest freebase

我知道Freebase即将推出,但在Google Knowledge Graph发布之前,我需要一种方法来搜索Freebase,但是返回的结果会有图片。

我知道我可以在结果集中检查“属性”节点中的“/ common / topic / image”,但是为了正确分页,我需要通过API调用来实现这一点,而不是通过服务器端代码实现。< / p>

有没有办法实现这个目标?

示例电话:https://www.googleapis.com/freebase/v1/search/?query=daughtry&output=((type)(created_by)(notable)(property))

带图片的示例回复:

[result] => Array
    (
        [0] => Array
            (
                [mid] => /m/0f2jr1
                [id] => /en/daughtry
                [name] => Daughtry
                [notable] => Array
                    (
                        [name] => Post-grunge Artist
                        [id] => /m/05jg58
                    )

                [lang] => en
                [score] => 44.129833
                [output] => Array
                    (
                        [property] => Array
                            (
                                [/common/topic/image] => Array
                                    (
                                        [0] => Array
                                            (
                                                [mid] => /m/03t3mnz
                                                [name] => Daughtry Live in NYC 12-5-07
                                            )

                                    )

                            )

                    )

            )
    )

没有图像,'property'数组就是空的。

由于

1 个答案:

答案 0 :(得分:0)

您发布的查询根本不起作用(由于拼写错误),但您需要做的是将filter参数与has运算符一起使用。事实上,操作员没有在文档中列出,这使得它比平时更难解决。 : - )

https://www.googleapis.com/freebase/v1/search/?query=daughtry&filter=(all has:/common/topic/image)

有一个小开发人员的应用程序可供您在此处使用API​​进行试验:

http://freebase-search.freebaseapps.com/?query=daughtry&filter=(all has:/common/topic/image)&output=(property)

另请注意,notable默认包含在内,因此您无需提出要求,而且人们不会拥有created_by个属性,因此您可能希望获得资格进一步搜索。

例如,如果您只想要包含图片的相册,则可以使用以下内容:

http://freebase-search.freebaseapps.com/?query=daughtry&filter=(all type:/music/album has:/common/topic image)&output=(created_by property)