MQL查询以获取Freebase中特定MID的所有属性

时间:2014-03-12 06:57:16

标签: semantic-web freebase mql

看看这个MID" / m / 02r4n63" freebase。问题是如何获得与此MID相关的所有属性 这个MID的Freebase page 我需要从这个页面中提取所有属性,如导演,制片人,主演等。

我在endpoint

中尝试了这些查询
{
    "*": null,
    "type": "/film/film",
    "id": "/m/02r4n63"
}
上述查询的

输出仅提供与/film/film相关的属性,并将starring list设为null

我试过这个

[{
    "master_property": {
        "name": null,
        "id": null
    },
    "source": {
        "mid": "/m/02r4n63"
    },
    "target": null,
    "target_value": null,
    "type": "/type/link"
}]
上述查询的

输出错过了/film/starring属性。

我也试过

{
    "id": "/m/01jrbb",
    "/type/reflect/any_master": [{
        "id": null,
        "link": {
            "master_property": {
                "id": null,
                "name": null
            },
            "target": null,
            "target_value": null
        }
    }],
    "/type/reflect/any_value": [{
        "link": {
            "master_property": {
                "id": null,
                "name": null
            },
            "target": null,
            "target_value": null
        }
    }],
    "/type/reflect/any_reverse": [{
        "id": null,
        "link": {
            "master_property": {
                "reverse_property": {
                    "id": null,
                    "key": null,
                    "name": null
                }
            }
        }
    }]
}

但是它又错过了像Description这样的属性。

我想要涵盖所有属性。 我已经尝试了topic search API了。这就是我想要的输出。但我希望它通过MQL查询,因为我也需要属性的名称。

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

主题API是获取有关特定主题的所有信息的最佳方式:

https://www.googleapis.com/freebase/v1/topic/m/02r4n63

您可以使用MQL获取属性的名称,例如:

{
  "name": null,
  "id": "/film/film/starring"
}

将返回"演出"。当然,这些大部分都是你以前见过的属性,所以你可能想要缓存它们或者只是预先填充一个静态列表。

如果你想要"主演",你可以拆分返回的密钥,并采用最后一个斜杠(/)分隔段。