У меня есть название музыкального видео на Youtube, и мне нужно собрать дополнительную информацию из DBPedia, такую как альбом, исполнитель, дата выпуска и т. Д. Я также хотел бы получить «конспект» всех этих сущностей из DBPedia.Я уже использую Musicbrainz, чтобы различать песню и исполнителя в названии, и это работает довольно хорошо, за исключением нескольких случаев.
Однако моя главная проблема заключается в следующем: когда я передаю песню для запроса DBPedia (используя запрос с ресурсом / {song}), иногда я не получаю ответа, потому что {song} вызывает неоднозначность.Пример: resource / It's_My_Life имеет 11 двусмысленностей, 6 из которых - песни.Мне нужен ресурс "It's_My_Life_ (Bon_Jovi_song)".Как я могу сказать DBPedia, что мне нужен ресурс типа MusicalWork определенного исполнителя?
Я пытался сделать это с помощью SPARQL разными способами, но я всегда получаю пустой результат и не знаючто я делаю не такДо сих пор мне удавалось получить только резюме каждой неоднозначности, но я не могу получить конкретное свойство (например, резюме) подресурса неоднозначности.
SELECT ?x ?y WHERE {
<http://dbpedia.org/resource/It's_My_Life> dbo:wikiPageDisambiguates ?x .
?x dbo:abstract ?y .
}
Кажется, я не могу стать отцомэтот.Я пытался с:
SELECT ?x ?y WHERE {
<http://dbpedia.org/resource/It's_My_Life> dbo:wikiPageDisambiguates ?x .
?x dbo:MusicalArtist ?y .
{ SELECT ?z WHERE {
?y dbo:abstract ?z}
}
}
и
SELECT ?x ?y WHERE {
<http://dbpedia.org/resource/It's_My_Life> dbo:wikiPageDisambiguates ?x
?x rdfs:type ?y .
}
Но результаты всегда пусты.Как я должен опросить подресурс ресурса?Кто-нибудь может мне помочь?