I motori di ricerca sembrano vivere una fase di vivace attività; questa volta i riflettori sono puntati su
Wolfram|Alpha, entrato in funzione proprio oggi. Nonostante alcuni abbiano parlato di diretta competizione con Google, che rimane per ora il punto di riferimento,
si tratta in realtà di un search engine specializzato, come chiarisce lo stesso
Stephen Wolfram, che parla nel suo
blog di un
computational knowledge engine.
Wolfram|Alpha si basa su circa 6 milioni di linee di codice di Mathematica, il famoso software usato in campo scientifico, ingegneristico e matematico. Questo rende possibile elaborare i dati della ricerca nei modi più svariati, salvandoli nello speciale formato
.nb. Il sito è fortemente basato su JavaScript e pone quindi qualche problema ai browser mobili, tranne quelli basati sul
WebKit, come quello dell'iPhone.
Per quanto riguarda la programmazione,
Mike Riley riferisce di una
documentazione preliminare di 12 pagine, datata 27 marzo 2009, nella quale vengono descritte le semplici chiamate
RESTful che l'applicativo client deve usare per filtrare i dati ottenuti dal server.
Esistono due tipi di funzioni, le Query API e le Data API; le seconde sono però menzionate solo nell'ultima pagina e vengono usate solo su insiemi di dati altamente specifici.
Le Query API constano di due funzioni: query e parse. Un esempio della prima è il seguente: se vogliamo informazioni statistiche riguardanti la città di Chicago, la chiamata
RESTful userà il seguente suffisso:
http://api.wolframalpha.com/v1/query?input=chicago&appid=myappid
che restituirà dati
XML-tagged, senza dettagli di presentazione. Per avere formattazioni HTML e JavaSscript bisognerà usare
http://api.wolframalpha.com/v1/query?input=chicago&output=html&appid=myappid
Le query possono avere circa 10 parametri in ingresso, tra i quali
timelimit (tempo di attesa per i risultati),
allowedcached (permesso di prelevare i dati dalla cache),
async (utile per le pagine dinamiche in stile AJAX). I risultati sono impaccati nel tag
queryresult, contenente svariati attributi. La funzione
parse esegue un esame preliminare, per determinare se
Wolfram|Alpha può conferire senso a un determinato input, evitando così l'analisi dettagliata, che impiega più tempo.
Lo script di test, realizzato da
Riley in Python, non ha funzionato a dovere, forse a causa di limitazioni imposte al numero di query per giorno, e/o alla dimensione dei risultati. Questi ultimi, forse in forma limitata, dovrebbero essere disponibili gratuitamente. Se il progetto avrà successo, è indubbio che i programmatori costruiranno dei
wrapper per le API nel loro linguaggio preferito, con Java, C#, Python, Perl e Ruby in testa.