【问题标题】:IBM Watson Concept Insights conceptual search using Curl to pass mutiple/an array of ids as a parameterIBM Watson Concept Insights 概念搜索使用 Curl 传递多个/一个 id 数组作为参数
【发布时间】:2016-08-15 05:03:40
【问题描述】:

因此,我正在尝试使用 IBM Concept Insights 上的 Curl 在查询中传递多个 id(“概念数组”)。根据这个网站上的文档,我应该可以做到,但我不知道如何使它工作-> http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/concept-insights/api/v2/?curl#conceptual_search

如果我使用链接上提供的“示例请求”并将其修改为至少在同一个 get data 命令上添加另一个查询,我认为这就是它的工作方式。

curl -u "{username}":"{password}" -G -d "ids=[\"/graphs/wikipedia/en-20120601/concepts/Artificial_intelligence\", \"/graphs/wikipedia/en-20120601/concepts/HTML\"]" "https://gateway.watsonplatform.net/concept-insights/api/v2/corpora/public/ibmresearcher/conceptual_search"

当我输入该命令时,我没有返回任何结果。甚至没有错误。

有什么想法吗?

请不要指出明显的......当然,我用我的凭据替换“{username}”:“{password}”。 :)

【问题讨论】:

    标签: curl ibm-watson concept-insights


    【解决方案1】:

    你应该使用--data-urlencode "ids=..."而不是-d "ids=..."

    这应该可行:

    curl -u "%ci-username%":"%ci-password%" -G --data-urlencode "ids=[\"/graphs/wikipedia/en-20120601/concepts/Artificial_intelligence\", \"/graphs/wikipedia/en-20120601/concepts/HTML\"]" "https://gateway.watsonplatform.net/concept-insights/api/v2/corpora/public/ibmresearcher/conceptual_search"
    

    【讨论】:

      【解决方案2】:

      在您的示例中,idsPOST 请求中作为正文的一部分发送,但 API 期望它在查询中并且请求为 GET。

      试试下面的 curl 命令:

      curl  -u "{username}":"{password}" "https://gateway.watsonplatform.net/concept-insights/api/v2/corpora/public/ibmresearcher/conceptual_search?ids=%5B%22%2Fgraphs%2Fwikipedia%2Fen-20120601%2Fconcepts%2FArtificial_intelligence%22%2C%20%22%2Fgraphs%2Fwikipedia%2Fen-20120601%2Fconcepts%HTML%22%5D&cursor=0&limit=10"
      

      它将使用 人工智能HTML 两个概念进行概念搜索。

      输出:

      {
        "query_concepts": [{
          "id": "/graphs/wikipedia/en-20120601/concepts/Artificial_intelligence",
          "label": "Artificial intelligence"
        }, {
          "id": "/graphs/wikipedia/en-20120601/concepts/Machine_learning",
          "label": "Machine learning"
        }],
        "results": [{
          "explanation_tags": [{
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/Machine_Learning",
              "label": "Machine Learning"
            },
            "score": 0.99816346,
            "parts_index": 0,
            "text_index": [
              1024,
              1089
            ]
          }, {
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/Machine_Intelligence",
              "label": "Machine Intelligence"
            },
            "score": 0.9945005,
            "parts_index": 0,
            "text_index": [
              2097,
              2117
            ]
          }, {
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/Artificial_intelligences",
              "label": "Artificial intelligences"
            },
            "score": 0.9945005,
            "parts_index": 0,
            "text_index": [
              2557,
              2580
            ]
          }, {
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/International_Conference_on_Machine_Learning",
              "label": "International Conference on Machine Learning"
            },
            "score": 0.9817866,
            "parts_index": 0,
            "text_index": [
              2658,
              2712
            ]
          }, {
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/ICML",
              "label": "ICML"
            },
            "score": 0.9817866,
            "parts_index": 0,
            "text_index": [
              2714,
              2718
            ]
          }, {
            "concept": {
              "id": "/graphs/wikipedia/en-20120601/concepts/Feature_selection",
              "label": "Feature selection"
            },
            "score": 0.97459584,
            "parts_index": 1,
            "text_index": [
              1521,
              1538
            ]
          }],
          "id": "/corpora/public/ibmresearcher/documents/il-NOAMS",
          "label": "Slonim, Noam",
          "score": 0.99739265
        }]
      }
      

      您需要对 json 数组进行 url 编码,因此对于以下概念:

      ["/graphs/wikipedia/en-20120601/concepts/Artificial_intelligence", "/graphs/wikipedia/en-20120601/concepts/Machine_learning"]
      

      使用在线 URL 编码器,例如 http://meyerweb.com/eric/tools/dencoder/

      %5B%22%2Fgraphs%2Fwikipedia%2Fen-20120601%2Fconcepts%2FArtificial_intelligence%22%2C%20%22%2Fgraphs%2Fwikipedia%2Fen-20120601%2Fconcepts%HTML%22%5D
      

      最后使用ids=<encoded array> 作为 URL 的一部分。

      【讨论】:

      • 谢谢德国人!有道理。也许需要更新 IBM 文档以说明是否会使用多个 id,然后需要对 JSON 数组进行编码以供 URL 使用。
      猜你喜欢
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多