2013-11-01 1 views
2

Я хочу разработать приложение, которое тянет певцов любой песни, которую мы запрашиваем. Поэтому, если кто-то набирает альбом Carry On From Some Nights, приложение должно вытащить, кто все пел эту песню. Благодарю.Freebase получить певец из песни

+0

Вам нужно указать, с какими «приложениями» вы хотите разработать. Там, похоже, есть похожие вещи на [многих языках] (https://developers.google.com/freebase/v1/search-overview). – beroe

ответ

2

Вы можете найти это с помощью Freebase Search API и Search Metaschema вроде этого:

https://www.googleapis.com/freebase/v1/search?query=Carry+On&filter=(all+/music/release_track/release:"Some+Nights")&output=(/music/release_track/release+/music/release_track/recording./music/recording/artist) 

Есть три части этого запроса API: запрос, фильтр и выходной параметр. Запрос просто название трека, который вы ищете:

query=Carry+On 

Параметр фильтра ограничивает результаты только треки, которые являются частью выпуска альбома под названием «Некоторые ночи»

filter=(all+/music/release_track/release:"Some+Nights") 

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

output=(/music/release_track/release+/music/release_track/recording./music/recording/artist) 

Вы заметите, что этот запрос фактически возвращает 8 соответствующих дорожек прямо сейчас. Это связано с тем, что в альбоме было много разных релизов, в которых записаны записи этого трека (и не обязательно такая же запись).

Для чего вы строите это звучит так, как будто вы должны просто взять первый результат. Вы можете ограничить API поиска только возвратом первого результата, добавив в запрос параметр предела:

limit=1 
+0

Большое спасибо! – msundarmsa