[ninux-dev] Una classe per fare le ricerche su Wikipedia e ottenere dati semantici

Nemesis nemesis at ninux.org
Wed Mar 5 12:42:21 CET 2014


Ottima iniziativa!

Putroppo non al posso vedere live perchè sono fuori da ninux al momento.

Sono contento che stai scrivendo la documentazione spero che cominci ad
andare di moda, mi ha permesso di vedere al volo come funziona e di
formulare alcuni consigli.

Eccone alcuni che spero possano essere utili:

  * prefissi tipo "/api/v1" o "/api/v2" sono frequenti e molto utili
perchè permettono di mantenere API legacy che continuano a funzionare in
caso viene rilasciata una nuova versione dell'API che non è backward
compatibile
  * è più frequente incontrare API che restituiscono JSON di default
piuttosto che JSONP
  * una cosa utile è controllare il formato anche attraverso il
content-type header in modo che se apri l'API con il browser ti mostra
di default la versione HTML (che è un ottimo miglioramento di usabilità
per lo sviluppatore)
  * personalmente solo a livello di naming preferirei quindi
"/api/v1/semantic-data"
  * domanda: ma album, book, film, person si possono combinare o si
possono essere chiamati solo uno alla volta?

Bella!

PS: ho messo il router edge a casa, nei prossimi due mesi mi prendo un
NAS QNap


On 03/05/2014 05:46 AM, Alessandro Gubitosi wrote:
> Ciao a tutti,
> mi serviva di fare questa classe per Ninuxoo così l'ho aggiunta alle API
> per condividerla con tutti.
>
> Vi capita mai di fare un'applicazione e aver bisogno di qualche dato da
> Wikipedia pulito e filtrato? Magari giusto per non dover passare qualche
> settimana in meno sui codici a fare parser delle sue API o peggio di
> pagine html?
> Beh, tana libera tutti, almeno per gli scopi in comune.
> Grazie a questa "sciocchezzuola" ogni NAS avrà la stessa API
> interrogabile liberamente per fare ricerche su Wikipedia e ottenere in
> cambio un bel po' di dati semantici (non ricorsivi) relativi a quello
> che si cerca.
> Troppo complicato?
> Ecco qualche esempio:
> * http://192.168.36.210/API/Semantic_data/?film=marchese%20del%20grillo
> * http://192.168.36.210/API/Semantic_data/?album=the%20wall
> * http://192.168.36.210/API/Semantic_data/?format=array&person=Obama
> * 192.168.36.210/API/Semantic_data/?person=Bo%20marley
> *
>
http://192.168.36.210/API/Semantic_data/?format=array&book=Commedia%20divina
>
> Il sorgente della classe è disponibile qui:
>
https://github.com/gubi/Ninuxoo-2.0/blob/master/common/include/classes/get_semantic_data.class.php
>
> La documentazione "dev" generata dai commenti nel codice sta qui:
> http://192.168.36.210/doc/classes/semantic_data.html
>
> Qui un esempio di utilizzo del codice:
> https://github.com/gubi/Ninuxoo-2.0/blob/master/API/semantic_data.php
>
> E qui la documentazione sulle API:
> https://github.com/gubi/Ninuxoo-2.0/wiki/Ricerche-semantiche-su-Wikipedia
>
>
> Naturalmente il tutto è già parte di Ninuxoo e sarà nativo in ogni NAS,
> ciò significa che se attiviamo i DNS Anycast le API saranno pure quelle
> anycast :D
>
> L'unica pecca è il tempo necessario per caricare i risultati: questo è
> dato perché il parser "parsa molto" e poi anche perché dbpedia è lenta
> di suo.
> Comunque un consiglio è quello di ricorrere al caching, che non fa mai
> troppo male ;)
>
>
> Me la sono guadagnata questa prima assegnazione dell'IP 10.10.10.10 per
> il mio proxy anycast? :D
>
> Gubi
>
>
>
> _______________________________________________
> ninux-dev mailing list
> ninux-dev at ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/ninux-dev


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20140305/b1760397/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20140305/b1760397/attachment-0001.sig>


More information about the ninux-dev mailing list