2009-01-19 36 views
8

Müzik türüne göre sınıflandırıldığında, diğer veri kaynaklarından daha ilginç tür bilgisine sahip olmak için wikipedia buldum.Müzik sanatçısı verilerini wikipedia'dan aldınız mı?

Ben Wikipedia'dan bu tür bilgileri toplanır ve daha kolay erişilebilir hale bir veritabanı hatırlamak gibi görünüyor, ama Bugün hiçbir şey yukarı google olamazdı. Bu veri almak için girişimi ise

, seçeneklerim nelerdir? Tarif ettiğim gibi bir şey var mı yoksa ekran kazımaya gitmem mi gerekiyor?

cevap

2

Soruyu gönderdiğimde ne düşündüğümü buldum. Infochimps, müzik sanatçıları için this one gibi Wikipedia'dan bilgi kutularının koleksiyonlarını tutar. İstediğim şey tam olarak değil, çünkü sadece indirme olarak mevcut.

ben işlenmeyen wiki biçimlendirme ile XML format makaleleri erişmek için nasıl bulundu bakarken. Görünüşe göre wikipedia sunucularında daha kolay ama ayrıştırmak daha kolay olup olmadığı konusunda emin değilim. Freibase için muhtemelen etiketin/sanatçının kendisinin dışında en iyi kaynağın olduğu

+0

link çalışmıyor – mtk

11

Sen Freebase içine bakmak gerekir (örneğin, bakınız onların musical artists table). Vikipedi'yi seçerseniz, muhtemelen bir database dump indirmelisiniz. Bant Radiohead Freebase'de ve Wikipedia'nın tarz listeleri karşılaştıran

Örnek:

  • Freebase: alternatif rock, sanat rock, elektronik müzik, progresif rock, electronica ve deneysel kaya. Alternatif kaya, elektronik ve deneysel kayaç:
  • Wikipedia.

Düzenleme: Daha da önemlisi, MJT, Freebase'de için tasarlanmış bir Javascript framework kullanarak bir çalışma örneğini de bulabilirsiniz. Bunu bir dosyaya kopyalayıp yapıştırın, tarayıcınızla açın, bir sanatçının adını girin ve Freebase'in hangi türlerde olduğunu görün.

Daha az önemlisi, örneklerimi ve varsayılanı Radiohead olarak değiştirdim. =)

<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> 

Büyük olasılıkla başka bir dil kullanıyorsanız, ama umarım kolayca yukarıdaki sorgu çevirebilir.

+0

+1. – UnkwnTech

+0

Freebase oldukça iyi görünüyor. Daha fazla araştıracağım. Teşekkürler! – Kenny

+0

Birçok dilde mevcut olan Freebase ile etkileşim için sözde iyi API'ler var mı?Ne yazık ki, sadece bir Javascript çerçevesi olan mjt ile etkileşimde bulundum: http://stackoverflow.com/questions/33484/can-i-export-translations-of-place-names-from-freebase-com –

7

MusicBrainz (http://musicbrainz.org/) yerine wikipedia, ne istediğini olabilir. Özgür lisanslı, yüksek kaliteli bir müzik meta verisi koleksiyonu (bestecinin adı, albüm adı, parça adı, bu parçadaki trombonistin adı, vb.) Projesidir. Meta veriyi doğru ve tutarlı hale getirmek için harika bir veritabanı, ayrıntılı bir veritabanı şeması, kapsamlı stil yönergeleri geliştirdiler. Müzik veri dosyalarındaki meta verilere meta veri ekleyebilen uygulama yazılımı ve verileri kullanabileceğiniz bir API. Tüm serbestçe kullanılabilir ve birlikte düzenlenebilir.

Musicbrainz meta biri zayıf alan müzik türüdür. Bunun nedeni, böyle zor bir problemdir: Bir kişinin "funk" başka bir kişinin "pop".

İlgili konular