Получить музыкальные данные художника из Википедии? [закрытый]

В общем случае язык SQL строго требует, чтобы число и типы данных столбцов результата были известны во время компиляции запроса. То, о чем вы просите, не может быть известно до тех пор, пока не будет подготовлен план выполнения и вы не начнете искать данные.

Следовательно, лучшее, что вы сможете сделать, - это выполнить три отдельных шага:

  1. Выполнить запрос, чтобы рассказать о столбцах, которые вы хотите использовать. [110 ]
  2. Используйте результаты # 1 для составления нового запроса на лету.
  3. Выполните новый запрос и верните результаты.

Даже в этом случае этот тип сводки обычно лучше обрабатывается в вашем клиентском коде или инструменте отчетов. Единственной хорошей новостью является то, что все еще возможно выполнить все это на большинстве платформ с помощью одной длинной строки SQL.

Для этой конкретной ситуации, когда вы четко просматриваете номера недель, вы можете обойти проблему, предполагая, что все 53 возможных недели вперед (не 52, из-за частичных недель в конце года!), И написание большого оператора SQL, который вручную учитывает все 55 столбцов (53 недели + статья и описание).

8
задан Kenny 19 January 2009 в 04:03
поделиться

3 ответа

Я нашел то, о чем я думал, когда я отправил свой вопрос. Infochimps сохраняет наборы infoboxes из Википедии, такие как этот для музыкальных художников. Это не действительно, что я хочу хотя, потому что это только доступно как загрузка.

В то время как я смотрел, я нашел, как получить доступ к статьям в формате XML с непредставленной разметкой Wiki. По-видимому, это легче на серверах Википедии, но я не уверен в том, было ли легче проанализировать.

2
ответ дан 5 December 2019 в 08:26
поделиться

Необходимо изучить Freebase (см., например, их музыкальную таблицу художников). Если Вы действительно выбираете Wikipedia, то необходимо, вероятно, загрузить дамп базы данных.

Пример, сравнивающий списки жанров Freebase и Википедии для полосы Radiohead:

  • Freebase: альтернативный рок, арт-рок, электронная музыка, прогрессивный рок, electronica, и экспериментальная скала.
  • Википедия: альтернативный рок, электронная, и экспериментальная скала.

Править: Что еще более важно, я включал рабочий пример с помощью mjt, платформа JavaScript, разработанная для Freebase. Вставка копии это в файл, открытый с Вашим браузером, вводит имя художника и видит, какие жанры Freebase имеет для них.

Менее значительно я изменил свои примеры и значение по умолчанию Radiohead.=)

<html>
<head>
  <script type="text/javascript" src="http://mjtemplate.org/dist/mjt-0.6/mjt.js"></script>
</head>
<body onload="mjt.run()">
<pre mjt.script="">
var name = mjt.urlquery.name ? mjt.urlquery.name : 'Radiohead';
</pre>
<div mjt.task="q">
mjt.freebase.MqlRead([{
  type: '/music/artist',
  name: {
    value:name,
    lang:{name:{value:'English'}}
  },
  genre: [{
    name: {
      value:null,
      lang:{name:{value:'English'}}}
  }]
}])
</div>

<form method="get" action="">
<input type="text" name="name" value="$name" />
<input type="submit" value="search" />
</form>

<table mjt.for="topic in q.result">
  <tr mjt.for="(var rowi = 0; rowi &lt; topic.genre.length; rowi++)">
    <td><pre mjt.script="">var gname = topic.genre[rowi].name;</pre>$gname.value</td>
  </tr>
</table>
</body></html>

Вы, скорее всего, используете другой язык, но надо надеяться можно легко перевести вышеупомянутый запрос.

11
ответ дан 5 December 2019 в 08:26
поделиться

MusicBrainz (http://musicbrainz.org/) может быть тем, что Вы хотите вместо Википедии. Это - проект сделать свободно лицензируемый, высококачественный набор музыкальных метаданных (название компоновщика, заголовок альбома, заголовок дорожки, имя тромбониста на той дорожке, и т.д.). Они разработали потрясающую базу данных, подробную схему базы данных, всесторонние инструкции по стилю для того, чтобы сделать метаданные точным и последовательным, прикладным программным обеспечением, которое может вставить метаданные в теги в музыкальных файлах данных и API, которым можно использовать данные. Все в свободном доступе и совместно отредактированный.

Одной слабой областью метаданных MusicBrainz является музыкальный жанр. Это вызвано тем, что его такая тяжелая проблема: "фанк" одного человека является "поп" другого человека.

7
ответ дан 5 December 2019 в 08:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: