在Freebase中搜索属性

时间:2012-11-27 06:35:44

标签: freebase mql

如果我想搜索在其名称或实际链接路径中具有特定字符串的属性,那么MQL查询是什么。对于name,我能够在name属性上放置一个〜=匹配,但不能在链接路径中放置。我尝试在id中使用〜=,但它表示我们无法在id中进行匹配。

[{

“/ type / object / id”:“wikipedia”,   “name~ =”:“wikipedia”,   “/ type / object / type”:“/ type / property”,   “/ type / object / name”:null   “限制”:200 }]

有没有办法在id中搜索字符串?

1 个答案:

答案 0 :(得分:1)

有几件事:

  • 〜=运算符基于整个单词,所以如果你想在所有上下文中找到字符串“wikipedia”,你会想要使用“* wikipedia *”
  • ID不会与完全形成的路径一起存储,而是它们各自名称空间中的一系列键(想想目录中的文件名)

您需要两个单独的查询才能匹配属性及其包含的域,因为您无法在MQL中执行此类联合。

对于名称包含维基百科的属性:

[{
  "type": "/type/property",
  "name~=" : "*wikipedia*",
  "name": null,
  "id":null,
  "limit":         200
}]​

以及属于ID包含维基百科的类型的属性:

[{
  "type": "/type/property",
  "name": null,
  "id":null,
  "schema" : {"key":{"namespace":{"name~=":"*wikipedia*"}},"id":null},
  "limit":         200
}]​

第二个查询可能需要一些改进,但它应该给你基本的想法。