XML, JSON e RDF

Grazie alle funzioni native, l’elaborazione di XML (eXtensible Markup Language) e JSON (JavaScript Object Notation) non costituisce più un problema. Anche se JSON in fondo è pensato per applicazioni Ajax , preferisco il formato anche in PHP quando voglio e posso evitare l’overhead dei dati XML.

Il Geonames-Webservices è un buon punto di partenza per qualche esempio perché presenta le funzioni del servizio che sono in grado di fornire i dati in almeno questi due formati. In più le funzioni di Geonames sono probabilmente molto interessanti per tanti Webmaster. Chi è interessato a richieste diverse dovrebbe consultare la documentazione del Webservice.

Per una richiesta generica con la query london basta l’URL seguente:

http://ws.geonames.org/search?q=london&maxRows=10

Il parametro maxRows controlla il numero dei risultati. Per definizione il risultato viene fornito in XML. Se si vuole il formato JSON si deve aggiungere il parametro type:

http://ws.geonames.org/search?q=london&maxRows=10&type=json

Dando un’occhiata più specifica alla lista dei Geonames-Services si scopre che si può richiedere anche il formato RDF (Resource Description Framework). Chiunque voglia entrare nel mondo del Semantic Web dovrebbe dedicarsi a prendere confidenza con questo formato. Se non avete ancora idea di che cosa si tratti, un buon punto di partenza è DBpedia.

Le funzioni ovvero i metodi SimpleXML di PHP falliscono con RDF. Anche se il formato viene chiamato RDF/XML la classe SimpleXML presenta problemi con i due punti negli XML-Entities. Le soluzioni però ci sono. Personalmente preferisco Arc. Il pacchetto va semplicemente caricato e messo a disposizione sul server.

Come elaborare con PHP tutti e tre i formati descritti, è illustrato dal code seguente:

Chi è interessato all’output delle richieste può vedere anche lo script in azione.

Have fun!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.