Sviluppatore web, freelancer, blogger e pensatore nonconformista a Milano

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!

Parla alla tua mente

*