Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Definire un profilo per i CSV #1

Open
ioggstream opened this issue Dec 17, 2021 · 5 comments
Open

Definire un profilo per i CSV #1

ioggstream opened this issue Dec 17, 2021 · 5 comments

Comments

@ioggstream
Copy link
Contributor

ioggstream commented Dec 17, 2021

Mi aspetto

  • definire un profilo CSV

Note

@ioggstream
Copy link
Contributor Author

ioggstream commented Dec 17, 2021

Possiamo stabilire che chi processa i CSV DEVE supportare questo profilo:

  • tutti i campi vanno quotati con "
  • il separatore è ,
  • i commenti iniziano con # e possono essere saltati
  • la riga con l'header è obbligatoria
  • i file devono essere encodati in UTF-8

In termini di https://www.w3.org/TR/tabular-data-primer/#well-known-location il descrittore potrebbe essere

@context: "http://www.w3.org/ns/csvw"
dialect:
  delimiter: ","
  quoteChar: '"'
  commentPrefix: "#"
  header: true

@ronytw @giorgialodi @mfortini

@ronytw
Copy link

ronytw commented Dec 17, 2021

Mi sembra che la logica del descrittore sia quella di rendere flessibili i parametri di cui parli, poiché sono dichiarati nel descrittore e quindi chi consuma il file sa cosa trova nel file.
Mi viene da dire che se dici che chi sottomette CSV DEVE seguire quelle linee guida, non hai bisogno del descrittore. Intendo bene?

@ronytw
Copy link

ronytw commented Dec 17, 2021

Secondo me un approccio potrebbe essere:

  • Queste sono le assunzioni che facciamo sul file (tutti i campi tra doppi apici, etc. etc.), tra cui l'idea che la prima colonna contenga l'identificatore in mancanza di altre informazioni
  • Supportiamo i descrittori (che restano non obbligatori), per cui si possono ridefinire i parametri di cui sopra, entro certi limiti (e si specificano i limiti). Tra le altre cose, si può indicare qual è la chiave.

@ioggstream
Copy link
Contributor Author

  • Queste sono le assunzioni che facciamo sul file (tutti i campi tra doppi apici, etc. etc.), tra cui l'idea che la prima colonna contenga l'identificatore in mancanza di altre informazioni

Ok. L'idea era anche quella di descriverli usando il formalismo w3c. Il goal è che anche chi "legge" i csv dovrà processarli di conseguenza.

  • Supportiamo i descrittori (che restano non obbligatori), per cui si possono ridefinire i parametri di cui sopra, entro certi limiti (e si specificano i limiti). Tra le altre cose, si può indicare qual è la chiave.

Per MVP d'accordo descrittori non obbligatori. In futuro ci servirà un modo per mappare i campi su jsonld. Per le codelist è facile. Per tassonomie, pur avendo l'identificativo, non saprei come fare... va letto bene il doc del w3c.

@ioggstream
Copy link
Contributor Author

Dopo una chiacchierata con uno degli editor del profilo CSVW l'idea più semplice è quella di usare frictionless data per la validazione sintattica, ed usare REST API Linked Data keywords per aggiungere informazioni semantiche.

cc: @mfortini @giorgialodi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants