2012-07-15 11 views
11

Gestisco IMDbAPI.com e sto usando l'API di ricerca di Bing per la ricerca degli ID di IMDb dalle ricerche dei titoli. Bing sta attualmente modificando le proprie API sul Marketplace di Azure (1 ° agosto) e non è più disponibile gratuitamente. Ho iniziato a testare la mia API utilizzando Freebase per risolvere questi ID e raggiungere il limite di 100k nelle prime 8 ore (il mio sito riceve attualmente circa 3 milioni di richieste al giorno, ma solo 200-300k sono ricerche di titolo)Freebase: quale file di dettagli dei dati contiene "imdb_id"?

Questo è esattamente il motivo per cui offrono i file di dump dei dati,

Ho scaricato la maggior parte dei file nella cartella Film ma non riesco a trovare dove stanno memorizzando i dati dello spazio dei nomi imdb id "/ authority/imdb/title".

https://www.googleapis.com/freebase/v1/mqlread?query={"type":"/film/film","name":"True%20Grit","imdb_id":null,"initial_release_date>=":"1969-01","limit":1}

Questo è come mi sto attualmente l'accesso alla ID.

Qualcuno sa quale file contiene queste informazioni? e come ricollegarlo dal titolo/id del film?

risposta

7

Che imdb_id struttura è sostenuta da una chiave nella /authority/imdb/title spazio dei nomi, in modo che stai cercando per la linea:

/m/015gxt  /type/object/key  /authority/imdb/title tt0065126 

nel file http://download.freebase.com/datadumps/latest/freebase-datadump-quadruples.tsv.bz2

Questo è un file di 4 GB, quindi preparatevi aspettare un po 'per il download. Tieni presente che tutto è impostato da MID, quindi dovrai prima identificarlo se non lo hai nel tuo database.

La query equivalente usando MQL posto dei dati discariche è https://www.googleapis.com/freebase/v1/mqlread?query=%7B%22type%22%3a%22/film/film%22,%22name%22%3a%22True%20Grit%22,%22imdb_id%22%3anull,%22initial_release_date%3E=%22%3a%221969-01%22,%22mid%22:null,%22key%22:[{%22namespace%22:%22/authority/imdb/title%22}],%22limit%22:1%7D&indent=1

EDIT: P.S. Sono abbastanza sicuro che i file nella directory Browse andranno via, quindi non dipenderei da loro anche se potresti trovare le informazioni lì.

+1

Stavo cercando di evitare il file 4gig (33gig estratto), ma l'ho scaricato comunque e trascorso le ultime 3 ore cercando di trovare QUALSIASI COSA per aprirlo/analizzarlo. Ho finito con l'utilizzo di Log Parser 2.2 di Microsoft, che ha funzionato alla grande! LogParser.exe -i: TSV "Seleziona Col1, Col4 INTO C: \ imdbList.csv DA C: \ freebase.tsv DOVE Col3 mi piace '% imdb/titolo%'" -o: CSV -header: OFF -iHeaderFile: "C: \ header.txt" Quindi ora ho un file CSV di 3mb che ha tutti gli ID di ID e ID di Freebase – bfritz

+0

Successivamente ho bisogno di ottenere il "Titolo", "Anno di rilascio" e "Alias" dal "Film". tsv "quindi posso unire i dati in SQL ... E finalmente essere in grado di cercare :) Ma sto facendo affidamento sul file in più dalla cartella Sfoglia" Films.tsv "che stanno andando via presto? – bfritz

+0

Probabilmente è più veloce (e sicuramente meno spazio su disco) per elaborare il file compresso, quindi non lo decomprimerò. Qualsiasi sistema Linux (o Cygwin su Windows) può elaborare questo banalmente senza scaricare strane utilità proprietarie. Il comando equivalente è bzgrep "authority/imdb/title" freebase-datadump-quadruples.tsv.bz2 | cut -f 1,4> imdbList.csv Anche su un laptop può decomprimere e cercare quel file da 4 GB e produrre 142K coppie di ID in meno di 20 minuti. –

0

La risposta precedente funziona bene, è solo che una versione snappier di una query potrebbe essere:

query = [{ 
      'type': '/film/film', 
      'name': 'prometheus', 
      'imdb_id': null, 
      ... 
     }]; 

Il resto della richiesta MQL non è menzionate in quanto non si discosta dalla citata. Spero possa aiutare.