Концептуальный поиск IBM Watson Concept Insights с использованием Curl для передачи в качестве параметра множества / массива идентификаторов
Итак, я пытаюсь передать несколько идентификаторов ("массив понятий") в запрос, используя Curl в IBM Concept Insights. Согласно документации на этом сайте, я должен быть в состоянии сделать это, но я не могу понять, как заставить это работать -> http://www.ibm.com/smarterplanet/us/en/ibmwatson/developercloud/concept-insights/api/v2/?curl
Если я использую "пример запроса", предоставленный по ссылке, и модифицирую его, чтобы хотя бы добавить еще один запрос к той же команде 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}" своими учетными данными.:)
2 ответа
Вместо -d "ids=..."
ты должен использовать --data-urlencode "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"
В вашем примере ids
отправляется как часть тела в запросе POST, но 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
}]
}
Вам нужно url кодировать массив json, так что для понятий ниже:
["/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.