How to publish CSV on the Web or why standards are important ODI Friday lecture 26.11.2015 J. Umbrich, S. Neumaier.

Slides:



Advertisements
Ähnliche Präsentationen
Ich beschreibe mein Haus!
Advertisements

Verbs Used Impersonally With Dative Deutsch I/II Fr. Spampinato.
Can you think of some KEY phrases which would be useful in multiple contexts? Take 2 minutes with a partner and come up with as many as you can!
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
You need to use your mouse to see this presentation © Heidi Behrens.
modern historisch multikulturell interessant klein groβ
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
CALPER Publications From Handouts to Pedagogical Materials.
Universität StuttgartInstitut für Wasserbau, Lehrstuhl für Hydrologie und Geohydrologie Copulas (1) András Bárdossy IWS Universität Stuttgart.
Der formelle Imperativ – the Imperative
Kapitel 4 Alles für die Schule Lernziel: Formation of Plural.
Die Fragen Wörter Wer? Was? Wann?.
Nominative & Accusative Basic Rules for Relative Pronouns in German:
Literary Machines, zusammengestellt für ::COLLABOR:: von H. Mittendorfer Literary MACHINES 1980 bis 1987, by Theodor Holm NELSON ISBN
Deutsch 1 Lesson 6 den 30. April  What do all German nouns have in common? Revision.
What is a “CASE”? in English: pronouns, certain interrogatives
Possessive Adjectives How to show belonging… The information contained in this document may not be duplicated or distributed without the permission of.
Physik multimedial Lehr- und Lernmodule für das Studium der Physik als Nebenfach Julika Mimkes: Links to e-learning content for.
What is a “CASE”? in English: pronouns, certain interrogatives
Ordering Food A Guide. Im Restaurant An actual restaurant is the chance to use more formal ordering. “Ich hätte gern eine Pizza.” “Ich möchte eine Cola.”
Need: paper, coloured pens, glue, dwarf templates, dictionaries, adjective handout, judges hand out, blue tack For gallery – give students blue tack and.
type / function / form type of words:
COMMANDS imperative There are three command forms: formal familiar singular familiar plural.
COMMANDS imperative 1. you (formal): Sie 2. you (familiar plural): ihr
You need to use your mouse to see this presentation © Heidi Behrens.
Unterwegs.
Gregor Graf Oracle Portal (Part of the Oracle Application Server 9i) Gregor Graf (2001,2002)
© Crown copyright 2011, Department for Education These materials have been designed to be reproduced for internal circulation, research and teaching or.
As you have already learned, GENDER plays an important role in the German language. As you have already learned, GENDER plays an important role in the.
You need to use your mouse to see this presentation © Heidi Behrens.
Imperfekt (Simple Past) Irregular or strong verbs
Kapitel 2 Grammar INDEX 1.Subjects & Verbs 2.Conjugation of Verbs 3.Subject Verb Agreement 4.Person and Number 5.Present Tense 6.Word Order: Position of.
Memorisation techniques
Kapitel 8 Grammar INDEX 1.Command Forms: The Du-Command Form & Ihr- Command 2.Sentences & Clauses.
Kapitel 9 Grammar INDEX 1.Formal Sie- Command 2.There Is/There Are 3.Negation: Nicht/Klein.
Großvater Großmutter Großvater Großmutter Tante/Onkel Vater Mutter.
What’s the odd one out and why? TeeBananenBier Orangensaft WasserMilsch KaffeeFisch PizzaSalatSchokoladeSandwich SchokoladeOrangenZitronenApfel PizzaFischOrangeChips.
On the case of German has 4 cases NOMINATIVE ACCUSATIVE GENITIVE DATIVE.
German “ da - compounds ” Provided by deutschdrang. com for individual and classroom use only. May not be reproduced for any other purposes.
Die Vergangenheit Das Perfekt unregelmäßige Verben.
Essay structure Example: Die fetten Jahre sind vorbei: Was passiert auf der Almhütte? Welche Bedeutung hat sie für jede der vier Personen? Intro: One or.
LLP DE-COMENIUS-CMP Dieses Projekt wurde mit Unterstützung der Europäischen Kommission finanziert. Die Verantwortung für den Inhalt dieser.
Interrogatives and Verbs
Sentence Structure Questions
FREE ICONS POWERPOINT TEMPLATE.
Freizeit Thema 5 Kapitel 1 (1)
you: ihr ( familiar plural ) you: du ( familiar singular)
Sentence Structure Connectives
Jetzt machen Venues aufmachen!!! Geh zu
Jetzt machen Venues aufmachen!!! Geh zu
Synonyms are two or more words belonging to the same part of speech and possessing one or more identical or nearly identical denotational meanings, interchangeable.
IETF 80 Prague DISPATCH WG
Die andere Vergangenheitsform
Metadata - Catalogues and Digitised works
You need to use your mouse to see this presentation
THE PERFECT TENSE IN GERMAN
THE PAST TENSE (Part 3) VERBS WHICH TAKE SEIN
Wie viel Uhr ist es? Telling Time.
„Förderwolke“ A Cloud-based exchange platform for the qualitative enhancement and improvement of inclusive education Dipl. Reha-Päd. Hanna Linke scientific.
type / function / form type of words:
THE PAST TENSE (Part 3) VERBS WHICH TAKE SEIN
The Conversational Past
The Conversational Past
Explanations and Classwork Practice
School supplies.
- moodle – a internet based learning platform
Objectives Say what kind of house you live in
You need to use your mouse to see this presentation
 Präsentation transkript:

How to publish CSV on the Web or why standards are important ODI Friday lecture J. Umbrich, S. Neumaier

CSV

Prominent OD Format

or

Example 1

Example 2

Example 3

Example 4

Example 5

Example 6

CSV on the Web: for humans and machines CSV on the Web publishing CSV for humans and machines

What is CSV? (see RFC4180) RFC4180: C OMMA -S EPARATED V ALUES 1.Each record is separated by a line break 2.The last record may or may not have an ending line break 3.There might be an optional header line 4.Within the header and each record, there may be one ore more fields, separated by commas 5.Each field may or may not be enclosed in double quotes 6.Fields containing line break, double quotes, and commas should be enclosed in double quotes 7.If double-quotes are used to enclose fields, then double-quote appearing inside a field must be escaped 8.file extension:.csvmime-type: text/csv

CSV on the Web is more used as Character-Separated Value files! Most CSV parsers cater for this by using heuristics to identify so called CSV-dialects “CSV” in the wild separator, ; \t line-ending\n \r \r\n quote chars“ ‘

“CSV” on data.gv.at mime-types CSV dialects Anaylsing “CSV “ from data.gv.at CSV-related files:1809 Parsable CSV files:1482 detected a header:1294 delimiter: ';’ 1471 ',’ 9 None 2 #comment lines: >1 67

Example 1

Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;; Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;;

Example 1 Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;; Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;; ; as separator

Example 1 Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;; Beilage zum Rechnungsabschluss 2013;;;Nr. 4b; ;;;; NACHWEIS ÜBER DEN SCHULDENDIENST;;;; ;;;; Laut Voranschlag 2013 (inkl. Umbuchungen im Laufe des Jahres) waren für die Abwicklung des Schuldendienstes vorgesehen:;;;; ;;;; für Verzinsung;;€; ,00; Zinsreserve gesamt ;;€; ,00; für Tilgung;;€; ,00; Gesamtvoranschlag;;€; ,00; ;;;; Diesem Kredit steht die Jahresvorschreibung von;;€; ,01; gegenüber, sodass sich beim gesamten Schuldendienst;;;; eine E i n s p a r u n g von ;;€; ,99; ergibt. ;;;; ;;;; ; as separator Not well-formed table empty lines, empty cells headers for column? ; as separator Not well-formed table empty lines, empty cells headers for column?

Example 2

Multiple tables in one file Headers? Multiple tables in one file Headers?

Example 3

Adding computation to the table Meaning of values? Adding computation to the table Meaning of values?

Example 4 All rows have the same length Header available All rows have the same length Header available

Example 4 >>curl -I HTTP/ OK Date: Fri, 27 Nov :35:13 GMT Server: Apache Last-Modified: Fri, 20 Feb :20:48 GMT ETag: "2800c44-2b354-50f80bad05800" Accept-Ranges: bytes Content-Length: Vary: Accept-Encoding Content-Type: text/plain >>curl -I HTTP/ OK Date: Fri, 27 Nov :35:13 GMT Server: Apache Last-Modified: Fri, 20 Feb :20:48 GMT ETag: "2800c44-2b354-50f80bad05800" Accept-Ranges: bytes Content-Length: Vary: Accept-Encoding Content-Type: text/plain HTTP HEADER response

Example 5 All rows have the same length Header available All rows have the same length Header available Comment rows

Example 5: Sex = 1,2,3 ? ? -> Sex = 1,2,3 ? ? ->

Example 6

exhibition_id,city,title,location,datefrom,dateuntil 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , ,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , ,"Wien, Österreich",School of London,Kunst Haus Wien, , ,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , ,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , ,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , ,Prag,Crossings II,Rudolfinum Prag, , ,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , Example 6

exhibition_id,city,title,location,datefrom,dateuntil \n 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , \n 7,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , \n 8,"Wien, Österreich",School of London,Kunst Haus Wien, , \n 10,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , \n 11,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , \n 15,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , \n 17,Prag,Crossings II,Rudolfinum Prag, , \n 32,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , \n Example 6

exhibition_id,city,title,location,datefrom,dateuntil \n 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , \n 7,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , \n 8,"Wien, Österreich",School of London,Kunst Haus Wien, , \n 10,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , \n 11,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , \n 15,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , \n 17,Prag,Crossings II,Rudolfinum Prag, , \n 32,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , \n Example 6

exhibition_id,city,title,location,datefrom,dateuntil \n 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , \n 7,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , \n 8,"Wien, Österreich",School of London,Kunst Haus Wien, , \n 10,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , \n 11,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , \n 15,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , \n 17,Prag,Crossings II,Rudolfinum Prag, , \n 32,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , \n Example 6

exhibition_id,city,title,location,datefrom,dateuntil \n 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , \n 7,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , \n 8,"Wien, Österreich",School of London,Kunst Haus Wien, , \n 10,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , \n 11,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , \n 15,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , \n 17,Prag,Crossings II,Rudolfinum Prag, , \n 32,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , \n Example 6

exhibition_id,city,title,location,datefrom,dateuntil \n 3,Rom,I LOVE POP,"Chiostro del Bramante, Rom", , \n 7,Krems,Zeitlos - Zur Kunstgeschichte der Zeit,Kunsthalle Krems, , \n 8,"Wien, Österreich",School of London,Kunst Haus Wien, , \n 10,Graz,Die Farben Schwarz,"Landesmuseum Joanneum, Graz", , \n 11,Hamburg,Psyche und Kunst,Universitäts-Krankenhaus Eppendorf, , \n 15,Graz,Michael Schuster,Galerie & Edition Artelier Graz, , \n 17,Prag,Crossings II,Rudolfinum Prag, , \n 32,Köln,"""Kunstwelten im Dialog""","Museum Ludwig, Köln", , \n Example 6

» curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json » curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json

Example 6 » curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json » curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json Metadata attached to CSV file Allows for a rich “semantic” description of the table and its data Metadata attached to CSV file Allows for a rich “semantic” description of the table and its data

W3C: CSV on the Web Working Group Metadata about tabular data  Using JSON format Allows for describing :  the CSV dialect, including comments row or multi-header rows, encoding, language, …  data types and value ranges for columns  primary key and relation to other tables  Transformation rules to convert  CSV to RDF  CSV to JSON

W3C CSV on the Web WG

CSVM Properties

Example CSV Metadata » curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json » curl -I HTTP/ OK Date: Thu, 26 Nov :18:47 GMT Server: Apache/ (Debian) Last-Modified: Thu, 26 Nov :03:28 GMT ETag: "6d44-1b fb2450dd" Accept-Ranges: bytes Content-Length: Content-Type: text/csv; charset=utf-8; header=present Link: ;rel=describedBy;type=application/csvm+json

Example CSV Metadata { [" "en"}], "url": " "dc:title": "Exhibitions for objects from the mumok collection", "dcat:keyword": ["art", "museum", "exhibition"], "dc:publisher": { "schema:name": "mumok - museum moderner kunst stiftung ludwig wien", "schema:url": " }, "dc:license": " "dc:modified": " ", "xsd:date"}, ….

Example CSV Metadata "dialect": { "encoding": "utf-8", "lineTerminators": ["\r\n", "\n"], "quoteChar": "\"", "doubleQuote": true, "skipRows": 0, "commentPrefix": "#", "header": true, "headerRowCount": 1, "delimiter": ",", "skipColumns": 0, "skipBlankRows": false, "skipInitialSpace": false, "trim": false },

Example CSV Metadata "tableSchema": { "columns": [{ "name": "exhibition_id", "titles": "Exhibition Identifier", "dc:description": "A unique identifier for the exhibition.", "datatype": "integer", "required": true }, { "name": "city", "titles": "City", "dc:description": "The city in which the exhibition took place (no language defined, mostly in German).", "datatype": "string" }, {

How to publish CSV on the WEB  Don’t publish CSV on the Web for humans  e.g., EXCEL exports  RFC 4180  Encoding  Use UTF-8, don’t mix encodings  File extension:.csv  Content-type: text/csv Optional, but big improvement!  Ideally, publish CSV MetaData along your CSV file  Avoid Acronyms or encodings (e.g., sex=1,2,3)

ADEQUATe Open Data Umfrage Bitte teilnehmen! Das Ziel dieses Fragebogens ist es, Informationen über Open Data Potenziale und Barrieren zu sammeln. Die Umfrage dauert etwa 5 bis 15 Minuten, je nach Ihrer Bereitschaft, auch optionale Fragen zu beantworten.

More information?  Please contact us if you have any further questions or need help/support.  Stay tuned:  !! UI to clean “CSV” files and create/edit metadata  Community/Publisher Workshop ? If requested