[WIP] Progetto Dynamic FPIP

Pongo subito un altro quesito: io uso come fonti principali il thread dedicato di Nasaspaceflight ed il sito Spacefacts.de, che quasi sempre coincidono e mi pare si siano dimostrati altamente affidabili negli anni. Almeno per non dover aspettare ogni volta un tardivo comunicato ufficiale. In periodi particolarmente “frizzanti” per le rotazioni ISS (come questo e sicuramente i mesi a venire) potremo rifarci a tali informazioni oltre a quelle wiki?

Un giusto punto. A lavoro finito ovviamente dovremo dare giusta citazione alle fonti, secondo le rispettive licenze.

  • la nostra fonte primaria dovrebbe essere NASA, i cui contenuti sono tutti public domain e quindi i migliori per affidabilità e libertà di utilizzo. Bisognerebbe drizzare le orecchie su Roscosmos, altra possibile fonte primaria, e su eventuali comunicati stampa ufficiali.
  • la nostra fonte secondaria dovrebbe essere Wikipedia (nella pagina che ti ho linkato sopra), i cui contenuti sono con licenze libere.
  • un’altra fonte secondaria estremamente affidabile è l’AstronauticAgenda curata da @PherosNike
  • per quanto spacefacts.de (immagino ti riferisca a questa pagina) la loro licenza pare un secco © quindi in teoria non sono utilizzabili i loro dati senza permesso (e non ci e’ dato sapere le loro fonti). Per questo non userei i loro senza prima sentirli e senza valutare quanto siano
  • Se il topic di NSF cui ti riferisci e’ quello in L2 (cui sono abbonato anche io eh) allora non possiamo usarlo, in quanto il loro embargo/licenza sui contenuti di L2 e’ pressoche’ totale, almeno fino a quando non pubblicano un articolo in merito loro per primi, e si entra in un ginepraio. Lascerei perdere NSF come fonte di questo specifico servizio.

Sicuramente con questa policy saremo sempre un po’ indietro rispetto ai “beneinformati”, ma saremo dal lato giusto della barricata nel rispetto del diritto d’autore. :wink:
Va anche detto che però in questo modo i nostri dati sarano corretti e referenziati, che non è cosa da poco.

1 Mi Piace

Chiarissimo.
Si, per Spacefacts mi riferivo in generale agli schedule.
Per NSF no, non sono in L2 e mi rifersco a:

https://forum.nasaspaceflight.com/index.php?topic=32006.1060

Capito. Ok, allora dammi un attimo di tempo per verificare bene la licenza, perché in generale NSF è molto gelosa dei suoi contneuti.

Dimenticavo :blush: una fonte importante… L’AstronauticAgenda curata e sempre aggiornata dalla nostra @PherosNike, dove trovi un sacco degli eventi che vedo nel topic di NSF. Correggo il mio post sopra per includerla tra le fonti.

2 Mi Piace

In realtà ho procato a cercare le loro regole per la parte libera del forum ma non le ho ancora trovate (sono anche un po’ impedito perché ancora per qualche giorno accederò solo da smartphone). A pensarci bene però, in quel thread aggiornano quasi sempre lo schedule con notizie ufficiali o da agenzie attendibili, quindi forse il problema neanche si pone.

E’ una precisa scelta editoriale, legittima. In sostanza senza diverse indicazioni, si applica in pieno il diritto d’autore (per cui valgono le indicazioni date nel Codice di autoregolamentazione per la pubblicazione di testi di terze parti). Come dicevo, un ginepraio…
Concordo che sia meglio fare da soli…

1 Mi Piace

Momento però. A parte L2, che contiene informazioni non pubbliche ed è dietro paywall, i “fatti” non sono protetti da copyright. Se su un sito (spacefacts.de?) c’è scritto “la soyuz parte il 31 brumaio duemilacredici” non è un’opera di ingegno. È una informazione. Gli darei il credit come grazie, ma non è che quella informazione è segreta.
Altrimenti davvero chiudiamo baracca perchè non ci si muove più a fare gli zeloti del copyright. Sono date, cribbio.

3 Mi Piace

Capisco e condivido il tuo punto di vista però ragionandoci: Spacefacts non cita direttamente le fonti dei suoi dati, se ricordo bene ha solamente una generica pagina di links utili. Nel thread di NSF invece, vengono regolarmente linkati comunicati stampa di NASA, Roscosmos, altre testate US, russe e non solo. Andando a pescare anche noi direttamente alla fonte come giustamente ribadisce Marco, non dovremo neppure porci il problema, giusto?

7 posts were split to a new topic: Discussione copyright FPIP

Mentre ci chiariamo le idee sull’uso più corretto delle fonti e su come interpretare correttamente le norme sul copyright, direi di partire con i dati che abbiamo fino ad oggi da NASA e Wikipedia, che sono il 99% del totale.

(La discussione scorporata è stata spostata in una categoria non pubblica per evitare di inquinare il Topic)

Appena raggiungeremo una quadra, integreremo di conseguenza i dati post Expedition 60 :slight_smile:

2 Mi Piace

Dopo 17 ore avrai già scoperto tutto, comunque i concetti fondamentali di wikidata sono instances e properties, una volta capito questo il gioco è fatto. Ad esempio, la “Expedition 57” è la 57° expedition, in wikidata si dice che Q26216449 (Expedition 57) è un’instance di Q18201623 (expedition to the International Space Station) con la proprietà P1545 (series ordinal)=57.

Questo forse potrebbe farti comodo (mi pare che in ESA usiate tutti phyton): https://github.com/dahlia/wikidata

Mentre ti scrivo sto notando che su qualche expedition manca la property vessel che è quella che ti farebbe più comodo secondo me. Se reputi fattibile questa strada completo i dati mancanti su wikidata, ho un po’ di pratica. Wikidata è stato un grosso cambiamento per la wikimedia foundation, molti dei vecchi editori assidui hanno avuto un po’ di neofobia e il nuovo strumento non ha avuto il successo che meritava (ma già così funziona benissimo).

2 Mi Piace

Grazie per le dritte @Vespiacic. Ho cominciato a giocarci ieri sera e mi sembra tutto molto intuitivo e… potente.
Ci sono un paio di dubbi amletici la cui risposta sarà sicuramente sotto il naso ma non trovo, per ora.
Il concetto di instances e properties mi è chiaro, ma devo capire come:

  • trovare l’instance id di una risorsa arbitraria
  • nel caso specifico delle expeditions sulla ISS, come trovare e iterare la lista partendo dalla pagina Q18201623

Ma mi do alcuni giorni per venirne a capo :wink:

La prima domanda non l’ho capita bene, vuoi sapere qual’è l’ID di “veicolo spaziale” ad esempio? Lo metti nel campo di ricerca e lo scopri…
Per la seconda, da Q18201623 non ci arrivi, ma se parti da una qualunque expedition specifica basta usare la property followed by (P156) e le ottieni iterando.

Tecnicamente Q18201623 ha una lista che trovi dalla property has list (P2354), e arrivi proprio a list of International Space Station expeditions (Q460051), ma non ci fai niente, perché hai la lista in quanto oggetto, senza gli elementi della lista. E sinceramente non so nemmeno se questa cosa sia voluta!

Complice un sabato piovoso ho completato la prima, ma che dico, primissima implementazione della FPIP.
Ci sono alcune situazioni ancora non gestite correttamente su cui devo continuare a lavorare.
Sono però stati risolti i vari problemi di interfacciamento con WikiData e ora sono in grado di generare la lista di equipaggi ed expedition in formato JSON per popolare la timeline, anche se in maniera non sempre precisa (la gestione degli Increment fa venire il mal di testa e richiede ancora tempo e debug).

Ecco una preview dal mio ambiente di sviluppo.

Problemi aperti

1) Le date di inizio e fine delle Expedition in corso e future

Con WikiData è relativamente facile generare automaticamente informazioni di eventi passati, mentre i dati della Expedition corrente e soprattutto di quelle future andranno costruite a mano.
Questo perché la libreria che uso per generare la timeline, giustamente necessita che ogni Expedition e la permanenza di ogni membro dell’equipaggio sia caratterizzata da una data di inizio e di fine.
Per la Expedition in corso, abbiamo la prima ma non la seconda, e quindi ho calcolato artificiosamente una data di fine che sia esattamente 6 mesi dopo la data di inizio.
Per gli eventi futuri, WikiData conosce sì i nomi degli astronauti e cosmonauti che voleranno, ma non essendo ancora state dichiarate da fonte ufficiale (o essendo Wikipedia in attesa di aggiornamento con fonte referenziata) i campi “inizio” e “fine” non sono proprio esistenti. Quindi non posso generare alcuna informazione automatica.

2) I dati di WikiData non sono sempre coerenti

Come mi ha aiutato a capire @vespiacic WikiData espone i dati grezzi che ci sono dietro ad ogni pagina Wikipedia con una struttura dati ben precisa. Ma siccome credo che il data entry sia frutto del lavoro manuale di tanti volontari, in alcuni rari casi vi sono delle inconsistenze che sono state risolte con dei workaround che non dovrebbero essere necessari.

  • Il logo di missione viene a volte registrato nella proprietà P154, altre volte (la maggioranza) nella P94.
  • La nazionalità dei cosmonauti (ora) russi va gestita (es. Oleg Kononenko). Alcuni di questi infatti sono attribuiti della cittadinanza russa (RUS), a volte anche di quella dell’URSS (SUN) e a volte anche di quella di uno degli altri paesi ora indipendenti una volta parte dell’URSS (Turkmenistan, TKM). Non eiste un modo che io sia riuscito a trovare per conoscere la cittadinanza attuale/principale, e quindi forzo artificiosamente SUN e TKM a RUS. Questo in futuro potrebbe portare a errori di attribuzione.
  • La data di inizio e fine della Expedition 50 sono diverse in WikiData (sbagliate) e nella pagina Wikipedia (corrette)

Wikidata
image

Wikipedia
image

3) Problemi aperti

  • incongruenza Expedition 50
  • gestione degli increments (data di arrivo e partenza astronauti/cosmonauti ≠ data ufficiale di inzio/fine Expedition)
  • gli incrementi, che sono ben visibili nelle pagine Wikipedia, in realtà non sono resi allo stesso modo nella pagina WikiData. In particolare, laddove la Expedition è divisa in due “parti” in Wikipedia (con tanto di navette relative), questa divisione non è derivabile in alcun modo in WikiData (nemmeno inseguendo il coniglio nella pagina del singolo astronauta/cosmonauta, che ha si un elenco di missioni cui ha partecipato ma è impossibile sapere se è salito con la navicella X o Y)
6 Mi Piace

@Vespiacic mi sono registrato su wikidata e ho sistemato personalmente le date di inzio/fine expedition 50 usando come riferimenti le cerimonie di cambio del comando, che segnano la fine di una expedition e la successiva.
Devo capire come inserire una referenza (linkerei i comunicati stampa di NASA) ma almeno questa è a posto.

Per gestire i dati mancanti/futuri si potrebbe usare due JSON separati (per ognuno di quelli previsti) da compilare manualmente uno con una priorità minore rispetto a quelli ottenuti da WikiData e l’altro con priorità maggiore. In questo modo si potrebbero inserire le informazioni che su Wiki non sono ancora disponibili o forzare quelle che non si possono correggere.

1 Mi Piace

Sì è un ottimo compromesso.

Ho corretto i dati di Expedition 50 su Wikidata (yay!) e per Expedition 60 e 61 ho arrangiato rendendole tutte lunghe 6 mesi e facendo in modo che la fine dell’Expedition n sia anche l’inizio della n+1.

Ma concordo che la soluzione migliore è adottare la strategia dei due file (con relativa gestione dell’eventuale conflitto)

2 Mi Piace

Non parlando il jsonese o il wikidatese posso solo dire: ammazza che lavoraccio! :flushed::grin:

2 Mi Piace

Benvenuto nell’universo Wiki :slight_smile:
Adottare i due file è una soluzione comune, ad esempio anche it.wikipedia e wikidata lo fanno, come hai notato tu per la expedition 50: se c’è scritto a mano qualcosa su it.wiki sovrascrive quello di wikidata. Quando i dati sono uguali (c’è un log), solitamente un utente o un bot cancella il dato che sovrascrive. L’idea è che una comunità più ampia aggiorna più facilmente un dato a meno che nella comunità più piccola non ci sia un gruppo di utenti esperti in un settore di nicchia.

Un altro problema che mi sono dimenticato di menzionare è che essendo wikipedia un enciclopedia, le date future su wikidata sono proibite (non è un fatto enciclopedico ma una programmazione). Lo sarebbero anche su it.wiki, ma ci sono meno controlli in quanto la comunità è più piccola, e di solito dopo un anno il fatto diventa enciclopedico.

Se non vuoi fare molta manutenzione manuale in futuro, suggerisco di aggiornare FPIP con le date da wikidata delle missioni in corso se sono “recenti”, cioè se la differenza tra la data inserita e la data odierna rientrano in 7-10, vuol dire che qualche utente ha letto dell’evento e registrato il dato su wikidata.

Se tutte le sojuz fossero documentate come la Sojuz TMA-9, ti aiuterebbe a inseguire il coniglio? C’è in particolare l’evento significante docking con location ISS e pure il modulo dove docka. Se questo aiuta, mi cimento ad aggiornare (nel corso dei prossimi mesi :smiley:) le missioni Sojuz.

1 Mi Piace

Coincide con il piano dei “due file” che avevo in mente.
Se una Expedition manca della data di inizio e/o di fine, allora non userò il dato di WikiData ma quello di un eventuale file secondario che in teoria dovremmo creare e manutenere qui :slight_smile:

Queste informazioni sono tutte righe aggiuntive nell’FPIP, che intendo implementare pian piano.
Se qualcuno aggiorna il lato WikiData, sarà un piacere usare quei dati. :wink: