From 34052e80867f59e9616dce83dff7ac36d447300e Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Wed, 8 Oct 2025 18:05:53 +0200 Subject: [PATCH 1/7] csvw: Add more bib and update editor infos --- csvw/config.js | 44 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/csvw/config.js b/csvw/config.js index f84b3a0..8f212ce 100644 --- a/csvw/config.js +++ b/csvw/config.js @@ -39,12 +39,12 @@ var respecConfig = { companyURL: "https://skemu.com" }, { - name: "Dylan Van Assche", + name: "Sitt Min Oo", company: "Ghent University – imec – IDLab", - url: "https://dylanvanassche.be", - orcid: "0000-0002-7195-9935", + url: "https://data.knows.idlab.ugent.be/person/minoo/#me", + orcid: "0000-0001-9157-7507", companyURL: "https://knows.idlab.ugent.be/" - }, + } ], edDraftURI: "https://w3id.org/rml/io-registry/csvw/spec", editors: [ @@ -62,19 +62,47 @@ var respecConfig = { orcid: "0009-0000-2598-1894", companyURL: "https://skemu.com" }, + { + name: "Sitt Min Oo", + company: "Ghent University – imec – IDLab", + url: "https://data.knows.idlab.ugent.be/person/minoo/#me", + orcid: "0000-0001-9157-7507", + companyURL: "https://knows.idlab.ugent.be/" + } + ], + formerEditors: [ { name: "Dylan Van Assche", company: "Ghent University – imec – IDLab", url: "https://dylanvanassche.be", orcid: "0000-0002-7195-9935", companyURL: "https://knows.idlab.ugent.be/" - }, - ], - formerEditors: [ + } ], github: "https://github.com/kg-construct/rml-io-registry", license: "w3c-software-doc", localBiblio: { + "Turtle": { + title: "RDF 1.1 Turtle", + href: "https://www.w3.org/TR/turtle/", + status: "W3C Recommendation", + publisher: "W3C", + date: "25 February 2014", + }, + "CSVW-Namespace": { + title: "CSVW Namespace Vocabulary Terms", + href: "https://www.w3.org/ns/csvw", + status: "W3C Document", + publisher: "W3C", + date: "06 June 2017", + }, + "CSV": { + title: "Common Format and MIME Type for Comma-Separated Values (CSV) Files", + href: "https://www.ietf.org/rfc/rfc4180.txt", + status: "Internet Standard", + publisher: "IETF", + date: "October 2005", + }, "RML-Core": { title: "RML-Core", href: "https://w3id.org/rml/core/spec", @@ -91,7 +119,7 @@ var respecConfig = { }, }, otherLinks: [], - shortName: "RML-Ref-JSON-Path", + shortName: "RML-IO-Registry", specStatus: "CG-DRAFT", // W3C config copyrightStart: "2024", From 1ffca7e9193d05b48f0c7506bfc6c3edb358d491 Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Wed, 8 Oct 2025 18:07:01 +0200 Subject: [PATCH 2/7] csvw: Update the section to conform with the CSVW namespace vocab and also add a section on handling header-less CSV files fixes #8 --- csvw/section/natural-rdf-mapping.md | 8 +-- csvw/section/overview.md | 17 ++++++ csvw/section/reference-formulation.md | 84 ++++++++++++++++++++++++--- 3 files changed, 96 insertions(+), 13 deletions(-) create mode 100644 csvw/section/overview.md diff --git a/csvw/section/natural-rdf-mapping.md b/csvw/section/natural-rdf-mapping.md index 24288b1..8d578ed 100644 --- a/csvw/section/natural-rdf-mapping.md +++ b/csvw/section/natural-rdf-mapping.md @@ -3,16 +3,16 @@ CSV does not provide any native data types, therefore there is no natural RDF mapping of CSV values upon XSD data types. CSVW allows to specify for each column the data type in a `csvw:Table`: -``` + + The `csvw:datatype` must be used for the natural mapping of datatypes in RDF from CSV values. diff --git a/csvw/section/overview.md b/csvw/section/overview.md new file mode 100644 index 0000000..775e9ec --- /dev/null +++ b/csvw/section/overview.md @@ -0,0 +1,17 @@ +## Document Conventions {#document-convention} + +The following namespace prefixes are used throughout the rest of the document unless otherwise stated. + +| Prefix | Namespace | +| ------- | --------------------------------- | +| `rml:` | http://w3id.org/rml/ | +| `csvw:` | https://www.w3.org/ns/csvw# | +| `xsd:` | http://www.w3.org/2001/XMLSchema# | +| `ex:` | http://example.org/ | +| `:` | http://example.org/ | + +The examples are contained in color-coded boxes. We use the Turtle syntax [[Turtle]] to write RDF. + + diff --git a/csvw/section/reference-formulation.md b/csvw/section/reference-formulation.md index c4808da..f3c5087 100644 --- a/csvw/section/reference-formulation.md +++ b/csvw/section/reference-formulation.md @@ -6,6 +6,7 @@ A CSVW reference formulation (`rml:CSVWReferenceFormulation`) is a reference formulation identified with the IRI `rml:CSVW`. It has no specific properties. + ## Iterator The iterator for a logical source with the [=CSVW reference formulation=] is always row-based over a table. @@ -20,15 +21,80 @@ An expression for expression is evaluated against a logical iteration which is a [=CSV value=]. The result of evaluating the expression is a [=CSV row=], which MUST be transformed to a list of [=CSV values=] that forms the expression evaluation result. The order of the [=CSV row=] MUST be preserved in the expression evaluation result. -## CSV derivates -CSVW allows to specify how a CSV should be parsed and read in terms of NULL values, separator, encoding, etc. -These CSVW properties must be used by the engine to correctly read the CSV file. +## CSVW properties +CSVW provides metadata which helps in parsing the CSV in terms of NULL values, separator, encoding, etc. +These CSVW properties must be used by the engine to correctly parse the CSV file. +[[CSVW-Namespace]] vocabulary can be used to provide more metadata to help +with parsing the CSV file. + + +### No headers +CSVW enables parsing CSV files without a header row. +Parsing CSV files with `1..N` columns with `csv:header` set to `false` will +produce a table with the column names "1" to "N" respectively. + -``` +Provided with the following input CSV file with 4 columns: + + +and the following RML mapping containing the CSVW reference formulation definitions for +the aforementioned CSV file: + + + +It is the same as working with the following CSV table where the headers are +named "1", "2", "3", and "4": + + + + +### Default properties +While the default reference formulation identifier (`rml:CSVW`) specifies the +use of the CSVW reference formulation, it does not by itself describe how to +parse a given CSV file. +To ensure consistent behaviour across implementations, a default set of CSVW +properties and corresponding values is defined. +These defaults provide a minimal, functional CSVW configuration suitable for +parsing standard CSV files in the absence of explicit definition of +CSVW properties. + + + From c39eb4dafc96c0a2186df1876f4417d071603982 Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Thu, 9 Oct 2025 18:41:11 +0200 Subject: [PATCH 3/7] fix: Proper example code blocks formatting --- csvw/config.js | 7 +++ csvw/index.html | 95 ++++++++++++++++++----------- csvw/section/natural-rdf-mapping.md | 10 +-- csvw/section/overview.md | 4 +- 4 files changed, 75 insertions(+), 41 deletions(-) diff --git a/csvw/config.js b/csvw/config.js index 8f212ce..ce342db 100644 --- a/csvw/config.js +++ b/csvw/config.js @@ -82,6 +82,13 @@ var respecConfig = { github: "https://github.com/kg-construct/rml-io-registry", license: "w3c-software-doc", localBiblio: { + "Metadata-Tabular":{ + title: "Metadata Vocabulary for Tabular Data", + href: "https://www.w3.org/TR/tabular-metadata/", + status: "W3C Recommendation", + publisher: "W3C", + date: "17 December 2015", + }, "Turtle": { title: "RDF 1.1 Turtle", href: "https://www.w3.org/TR/turtle/", diff --git a/csvw/index.html b/csvw/index.html index c814236..aa0f15d 100644 --- a/csvw/index.html +++ b/csvw/index.html @@ -7,17 +7,25 @@ diff --git a/csvw/section/natural-rdf-mapping.md b/csvw/section/natural-rdf-mapping.md index 8d578ed..9ab72f3 100644 --- a/csvw/section/natural-rdf-mapping.md +++ b/csvw/section/natural-rdf-mapping.md @@ -1,18 +1,18 @@ # Natural RDF mapping of CSV values CSV does not provide any native data types, therefore there is no natural RDF mapping of CSV values upon XSD data types. -CSVW allows to specify for each column the data type in a `csvw:Table`: +CSVW allows specifying the data type for each column in a `csvw:Table` using +`csvw:tableSchema` : - - + The `csvw:datatype` must be used for the natural mapping of datatypes in RDF from CSV values. diff --git a/csvw/section/overview.md b/csvw/section/overview.md index 775e9ec..0ae835c 100644 --- a/csvw/section/overview.md +++ b/csvw/section/overview.md @@ -12,6 +12,6 @@ The following namespace prefixes are used throughout the rest of the document un The examples are contained in color-coded boxes. We use the Turtle syntax [[Turtle]] to write RDF. - + From a9974cd2da45790d49a3672f95e1f011be1b6301 Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Thu, 9 Oct 2025 18:41:48 +0200 Subject: [PATCH 4/7] fix: Removed default value examples and redirect the user to the official site with default values for CSVW --- csvw/section/reference-formulation.md | 50 ++++++++++++--------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/csvw/section/reference-formulation.md b/csvw/section/reference-formulation.md index f3c5087..44e455a 100644 --- a/csvw/section/reference-formulation.md +++ b/csvw/section/reference-formulation.md @@ -16,17 +16,17 @@ The [=CSV row=] that is the result of evaluating the expression for expression maps associated with a logical source with the [=CSV reference formulation=] SHOULD be expressed as [=CSV column=] names of a [=CSV row=]. +An expression for expression maps associated with a logical source with the CSV reference formulation SHOULD be expressed as [=CSV column=] names of a [=CSV row=]. An expression is evaluated against a logical iteration which is a [=CSV value=]. The result of evaluating the expression is a [=CSV row=], which MUST be transformed to a list of [=CSV values=] that forms the expression evaluation result. The order of the [=CSV row=] MUST be preserved in the expression evaluation result. -## CSVW properties +## CSVW metadata CSVW provides metadata which helps in parsing the CSV in terms of NULL values, separator, encoding, etc. -These CSVW properties must be used by the engine to correctly parse the CSV file. -[[CSVW-Namespace]] vocabulary can be used to provide more metadata to help -with parsing the CSV file. +These CSVW metadata must be used by the engine to correctly parse the CSV file. +[[CSVW-Namespace]] vocabulary is used by this spec to define the metadata that +helps with parsing the CSV file. ### No headers @@ -36,30 +36,30 @@ produce a table with the column names "1" to "N" respectively. Provided with the following input CSV file with 4 columns: - + and the following RML mapping containing the CSVW reference formulation definitions for the aforementioned CSV file: - + It is the same as working with the following CSV table where the headers are named "1", "2", "3", and "4": - + @@ -75,26 +75,22 @@ named "1", "2", "3", and "4": While the default reference formulation identifier (`rml:CSVW`) specifies the use of the CSVW reference formulation, it does not by itself describe how to parse a given CSV file. -To ensure consistent behaviour across implementations, a default set of CSVW -properties and corresponding values is defined. + +Thus, a default set of CSVW properties and corresponding values is defined +to ensure consistent behaviour across implementations. These defaults provide a minimal, functional CSVW configuration suitable for parsing standard CSV files in the absence of explicit definition of CSVW properties. - - + From 3a11711da1fefbeedf40788c43059c1a49d18f91 Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Thu, 9 Oct 2025 19:04:22 +0200 Subject: [PATCH 5/7] csvw: Update abstract --- csvw/section/abstract.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/csvw/section/abstract.md b/csvw/section/abstract.md index be1ad5e..7ec816a 100644 --- a/csvw/section/abstract.md +++ b/csvw/section/abstract.md @@ -1,3 +1,9 @@ # Abstract -This document provides an overview of the CSVW reference formulation and its natural RDF mappings. The CSVW reference formulation describes how to access and reference data within CSV data sources by column name. The natural RDF mappings define the process of converting CSV data types into their corresponding RDF literals, ensuring compatibility and interoperability with RDF standards. +This document provides an overview of the CSVW reference formulation, +the vocabulary used to define it, and its natural RDF mappings. +The CSVW reference formulation utilizes CSVW metadata +to describes how to access and reference data within CSV data sources. +The natural RDF mappings define the process of converting CSV data types +into their corresponding RDF literals, +ensuring compatibility and interoperability with RDF standards. From 9de50f402c7a6509268d7a87a39864ef9dddef3a Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Thu, 9 Oct 2025 19:05:08 +0200 Subject: [PATCH 6/7] csvw: Remove redundant abstract header --- csvw/section/abstract.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/csvw/section/abstract.md b/csvw/section/abstract.md index 7ec816a..97fae07 100644 --- a/csvw/section/abstract.md +++ b/csvw/section/abstract.md @@ -1,5 +1,3 @@ -# Abstract - This document provides an overview of the CSVW reference formulation, the vocabulary used to define it, and its natural RDF mappings. The CSVW reference formulation utilizes CSVW metadata From 50c8a3c203ee2d461e08053914221762362f2a67 Mon Sep 17 00:00:00 2001 From: Sitt Min Oo Date: Thu, 9 Oct 2025 22:24:01 +0200 Subject: [PATCH 7/7] csvw: Add overview with document conventions --- csvw/index.html | 2 ++ csvw/section/overview.md | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/csvw/index.html b/csvw/index.html index aa0f15d..89bdeb3 100644 --- a/csvw/index.html +++ b/csvw/index.html @@ -114,6 +114,8 @@
+
+
diff --git a/csvw/section/overview.md b/csvw/section/overview.md index 0ae835c..0699c93 100644 --- a/csvw/section/overview.md +++ b/csvw/section/overview.md @@ -1,4 +1,4 @@ -## Document Conventions {#document-convention} +# Document Conventions {#document-convention} The following namespace prefixes are used throughout the rest of the document unless otherwise stated. @@ -12,6 +12,10 @@ The following namespace prefixes are used throughout the rest of the document un The examples are contained in color-coded boxes. We use the Turtle syntax [[Turtle]] to write RDF. +
+# This box contains an example input data
+
+
 # This box contains an example mapping