Какой для этого запрос MQL на бесплатной базе?

Я хочу найти генерального директора IBM. Каким будет MQL-запрос для этого?


person London guy    schedule 15.11.2012    source источник


Ответы (1)


MQL для этого поиска выглядит следующим образом.
Этот конкретный пример может быть более сложным, чем необходимо, потому что я сначала создал его из интерактивного поиска Freebase, а затем просто добавил/улучшил фильтры вручную.
Я проверил это с различными названиями компаний с относительным успехом, т.е. это работает при условии, что базовые данные должным образом кодифицированы в Freebase (некоторые компании отсутствуют, для некоторых компаний данные о руководстве неполные и т. д.)
Есть несколько трюков с этим запросом :

  • название компании в u0 fitler должно точно совпадать с названием компании, записанным в Freebase. Вы можете использовать предикат contains вместо предиката equal, но это может привести к появлению множества нерелевантных обращений. Например, вам нужно использовать «IBM», «Apple Inc.», «General Motors», а не обычные альтернативы этим названиям («International Business Machines», «Apple», «GM»...)
  • фильтр u1 для лидерской роли выражается в расширенном предикате One of, поскольку, к сожалению, номенклатура этих ролей относительно свободна, с дубликатами (например, может быть CEO или Chief Executive Officer) и с тем фактом, что роль генерального директора часто сочетается с другими корпоративными ролями, такими как председатель [правления] и/или президент и т. д. Я вручную выбрал этот список, сначала просмотрев (в Freebase) экземпляры ролей лидерства, которые содержали «генеральный директор» или «главный исполнительный директор». ".
  • фильтр u2 указывает, что дата to должна быть пустой, чтобы выбрать только человека, занимающего должность в настоящее время, а не бывших генеральных директоров (для которых, как мы надеемся, Freebase записала дату окончания их пребывания в должности).

В зависимости от вашего приложения вам может потребоваться проверить, что запрос возвращает одну и только одну запись, и соответствующим образом адаптироваться, если это не так.

редактор Freebase MQL – это удобный инструмент для тестирования и редактирования таких запросов.

[
  {
    "from": null,
    "id": null,
    "limit": 20,
    "organization": {
      "id": null,
      "name": null,
      "optional": true
    },
    "person": {
      "id": null,
      "name": null,
      "optional": true
    },
    "role": {
      "id": null,
      "name": null,
      "optional": true
    },
    "s0:type": [
      {
        "id": "/organization/leadership",
        "link": [
          {
            "timestamp": [
              {
                "optional": true,
                "type": "/type/datetime",
                "value": null
              }
            ],
            "type": "/type/link"
          }
        ],
        "type": "/type/type"
      }
    ],
    "sort": "s0:type.link.timestamp.value",
    "title": null,
    "to": null,
    "type": "/organization/leadership",
    "u0:organization": [
      {
        "id": null,
        "name": "IBM",
        "type": "/organization/organization"
      }
    ],
    "u1:role": [
      {
        "id": null,
        "name|=": ["Chief Executive Officer", "President and CEO", "Chairman and CEO", "Interim CEO", "Interim Chief Executive Officer", "Founder and CEO", "Chairman, President and CEO", "Managing Director and CEO", "Executive Vice President and Chief Operating Officer", "Co-Founder, Chairman and Chief Executive Officer"],
        "type": "/organization/role"
      }
    ],
    "u2:to": [
      {
      "value": null,
      "optional": "forbidden"
      }
    ]
  }
]​

Образец возврата (в частности, для "IBM")

{
  "code":          "/api/status/ok",
  "result": [{
    "from":  "2012-01-01",
    "id":    "/m/09t7b08",
    "organization": {
      "id":   "/en/ibm",
      "name": "IBM"
    },
    "person": {
      "id":   "/en/virginia_m_rometty",
      "name": "Virginia M. Rometty"
    },
    "role": {
      "id":   "/en/chairman_president_and_ceo",
      "name": "Chairman, President and CEO"
    },
    "s0:type": [{
      "id":   "/organization/leadership",
      "link": [{
        "timestamp": [{
          "type":  "/type/datetime",
          "value": "2010-01-23T08:02:57.0006Z"
        }],
        "type": "/type/link"
      }],
      "type": "/type/type"
    }],
    "title": "Chairman, President and CEO",
    "to":    null,
    "type":  "/organization/leadership",
    "u0:organization": [{
      "id":   "/en/ibm",
      "name": "IBM",
      "type": "/organization/organization"
    }],
    "u1:role": [{
      "id":   "/en/chairman_president_and_ceo",
      "type": "/organization/role"
    }],
    "u2:to": []
  }
person mjv    schedule 16.02.2013
comment
Великолепно! Мне больше нечего сказать. - person London guy; 18.02.2013