【问题标题】:How to invert the MQL query (for freebase)?如何反转 MQL 查询(对于 freebase)?
【发布时间】:2015-03-22 17:26:25
【问题描述】:

我正在尝试列出特定 id 的所有类型:

{
  "id": "/en/sony",
  "type": [{
    "name": "Topic",
    "id": null
  }]
}

这个查询给了我以下结果: http://tinyurl.com/lubavey

{
  "result": {
    "type": [
      {
        "id": "/common/topic",
        "name": "Topic"
      },
      {
        "id": "/base/audiobase/topic",
        "name": "Topic"
      },
      {
        "id": "/base/fblinux/topic",
        "name": "Topic"
      },
      {
        "id": "/base/digitalcameras/topic",
        "name": "Topic"
      },
      {
        "id": "/base/popstra/topic",
        "name": "Topic"
      },
      {
        "id": "/base/televisions/topic",
        "name": "Topic"
      },
      {
        "id": "/base/ps3games/topic",
        "name": "Topic"
      },
      {
        "id": "/base/filmcameras/topic",
        "name": "Topic"
      },
      {
        "id": "/m/04mny2g",
        "name": "Topic"
      }
    ],
    "id": "/en/sony"
  }
}

我想要完全相反的结果。我想要所有没有名称作为“主题”的类型。 我怎样才能做到这一点?我尝试使用带有属性 name! 运算符,这是 MQL 参考指南中建议的,但它给了我错误:

“不能使用带有 !reversing 的非限定属性名称”。

我应该怎么做才能消除!的这个错误并获得相反的查询结果?

【问题讨论】:

    标签: api error-handling reverse freebase mql


    【解决方案1】:

    试试!=:

    {
      "id": "/en/sony",
      "type": [{
        "name!=": "Topic",
        "id": null
      }]
    }
    

    != 运算符表示受约束的属性可以是 指定的值。 (它确实要求属性是某种东西, 但是:它与属性为 null 的对象不匹配。)

    在此处阅读有关!= 运算符的更多信息:http://wiki.freebase.com/wiki/MQL_operators#The_.22but_not.22_Operator_.21.3D

    【讨论】:

    • 谢谢保罗!它正是我想要的。 +1 用于共享链接供运营商使用。
    • @RajeshSurana - 我很高兴它有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    相关资源
    最近更新 更多