1

我正在与 Freebase 合作,我想从 Freebase 中找到一些组织。

例如,我想从卡迪夫大学提取位置(城市、国家、...)。为此,我进行了此查询以查看实体的所有属性:

 https://www.googleapis.com/freebase/v1/mqlread?
 query=
 [
    {"name":"cardiff%20university",
    "*":[{}],
    "type":"/education/university"}
 ]

查询链接在这里

但是 O 没有看到任何位置字段,无论是 UK、Cardiff 还是类似的地方。

我认为 Freebase 没有得到这些信息,但是当我进入网页时,我可以看到“Cardiff”、“Wales”
和“United Kingdom”。

我怎样才能检索到这些信息?

4

1 回答 1

1

当您使用 * 通配符属性时,您要求提供指定类型的所有属性值,在本例中为/education/university。您要查找的 containsby 属性是/location/location的一部分,因此不会显示。

有两种方法可以在查询中显示 containsby。一种是使用完整的属性路径明确要求该属性,如下所示:

[{
  "name": "Cardiff University",
  "type": "/education/university",
  "/location/location/containedby": [{}]
}]​

另一种方法是将默认类型指定为/location/location,然后/education/university使用如下前缀添加约束:

[{
  "name": "cardiff university",
  "*": [{}],
  "type": "/location/location",
  "f:type": "/education/university"
}]​
于 2012-06-08T00:36:11.370 回答