rdf-tabular 0.4.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +24 -5
  3. data/VERSION +1 -1
  4. data/etc/csvw.jsonld +135 -50
  5. data/lib/rdf/tabular/csvw.rb +215 -181
  6. data/lib/rdf/tabular/format.rb +8 -6
  7. data/lib/rdf/tabular/literal.rb +1 -1
  8. data/lib/rdf/tabular/metadata.rb +61 -80
  9. data/lib/rdf/tabular/reader.rb +18 -15
  10. data/lib/rdf/tabular/uax35.rb +143 -38
  11. data/spec/data/countries-minimal.json +38 -0
  12. data/spec/data/countries-minimal.ttl +36 -0
  13. data/spec/data/countries-standard.json +86 -0
  14. data/spec/data/countries-standard.ttl +75 -0
  15. data/spec/data/countries.csv +4 -0
  16. data/spec/data/countries.csv-minimal.json +16 -0
  17. data/spec/data/countries.csv-minimal.ttl +19 -0
  18. data/spec/data/countries.csv-standard.json +33 -0
  19. data/spec/data/countries.csv-standard.ttl +44 -0
  20. data/spec/data/countries.html +88 -0
  21. data/spec/data/countries.json +53 -0
  22. data/spec/data/countries_embed-minimal.json +38 -0
  23. data/spec/data/countries_embed-minimal.ttl +36 -0
  24. data/spec/data/countries_embed-standard.json +86 -0
  25. data/spec/data/countries_embed-standard.ttl +75 -0
  26. data/spec/data/countries_embed.html +88 -0
  27. data/spec/data/countries_html-minimal.json +38 -0
  28. data/spec/data/countries_html-minimal.ttl +36 -0
  29. data/spec/data/countries_html-standard.json +86 -0
  30. data/spec/data/countries_html-standard.ttl +75 -0
  31. data/spec/data/country-codes-and-names-minimal.json +19 -0
  32. data/spec/data/country-codes-and-names-minimal.ttl +22 -0
  33. data/spec/data/country-codes-and-names-standard.json +47 -0
  34. data/spec/data/country-codes-and-names-standard.ttl +45 -0
  35. data/spec/data/country-codes-and-names.csv +5 -0
  36. data/spec/data/country_slice.csv +4 -0
  37. data/spec/data/junior-roles.csv +3 -0
  38. data/spec/data/junior-roles.json +54 -0
  39. data/spec/data/roles-minimal.json +32 -0
  40. data/spec/data/roles-minimal.ttl +36 -0
  41. data/spec/data/roles-standard.json +56 -0
  42. data/spec/data/roles-standard.ttl +66 -0
  43. data/spec/data/roles.json +23 -0
  44. data/spec/data/senior-roles.csv +3 -0
  45. data/spec/data/senior-roles.json +52 -0
  46. data/spec/data/test232-metadata.json +10 -0
  47. data/spec/data/test232.csv +3 -0
  48. data/spec/data/tree-ops-atd.json +1 -0
  49. data/spec/data/tree-ops-ext-minimal.json +42 -0
  50. data/spec/data/tree-ops-ext-minimal.ttl +34 -0
  51. data/spec/data/tree-ops-ext-standard.json +93 -0
  52. data/spec/data/tree-ops-ext-standard.ttl +82 -0
  53. data/spec/data/tree-ops-ext.csv +4 -0
  54. data/spec/data/tree-ops-ext.json +81 -0
  55. data/spec/data/tree-ops-minimal.json +18 -0
  56. data/spec/data/tree-ops-minimal.ttl +14 -0
  57. data/spec/data/tree-ops-standard.json +44 -0
  58. data/spec/data/tree-ops-standard.ttl +44 -0
  59. data/spec/data/tree-ops-virtual-minimal.json +32 -0
  60. data/spec/data/tree-ops-virtual-minimal.ttl +25 -0
  61. data/spec/data/tree-ops-virtual-standard.json +49 -0
  62. data/spec/data/tree-ops-virtual-standard.ttl +49 -0
  63. data/spec/data/tree-ops-virtual.json +48 -0
  64. data/spec/data/tree-ops.csv +3 -0
  65. data/spec/data/tree-ops.csv-metadata.json +43 -0
  66. data/spec/data/tree-ops.html +54 -0
  67. data/spec/data/tree-ops.tsv +3 -0
  68. data/spec/format_spec.rb +5 -4
  69. data/spec/metadata_spec.rb +10 -16
  70. data/spec/suite_helper.rb +2 -2
  71. data/spec/suite_spec.rb +5 -6
  72. data/spec/uax35_spec.rb +239 -0
  73. metadata +149 -36
  74. data/lib/rdf/tabular/json.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e84b41fe3c25549c84acc75984afc3c2fdd320b2
4
- data.tar.gz: fe3b1a0987bb7cc28e3ef9f8f7ed11617a2e6d8e
2
+ SHA256:
3
+ metadata.gz: 0d840e057cd2f7f01a882004f99001f8cd1465592d1e2a50245f4d129ba3d16f
4
+ data.tar.gz: 7e719cc19261cd4a282d320cd94a79c0d32188418275f59b468b80f724b8a942
5
5
  SHA512:
6
- metadata.gz: 1c867b3e2abc2b5800b0f53367a1aadb6406471911f275878f9b79ecd00a8d3f7f19a47cdc58c8a7614575be8d993aebc8a3ac893bf04220b907d66833c33106
7
- data.tar.gz: 7e47390a977454aad3f15765501e56acf587f2aa829deec58bcc6b3857c3bec59e0ac9c136fee57994b6fe9a2ab2fa4d5251527cc18dcd05509600979756ca30
6
+ metadata.gz: d7e6027430e8da553654e349ecad2903a730ff75d94a22b96c14406ec97c11333fedfe643e245b4aa695ac7b2fce49a3b285a5539d1bb604bf94a1170a2e126d
7
+ data.tar.gz: 8efb5950cbdfdd4f3e65aec2848c395110d1f29f74ffaf25e22333983a8e27ac1261ea92cde7961280d22af7d210899e9d40d9c12affe4ab58fabb3ecd6732d5
data/README.md CHANGED
@@ -229,9 +229,28 @@ It can also generate JSON output (not complete JSON-LD, but compatible with it),
229
229
 
230
230
  ## Tutorials
231
231
 
232
- * [CSV on the Web](http://greggkellogg.net/CSV-on-the-Web)
232
+ * [CSV on the Web](http://www.greggkellogg.net/2015/08/csv-on-the-web-presentation/)
233
233
  * [Implementing CSV on the Web](http://greggkellogg.net/2015/04/implementing-csv-on-the-web/)
234
234
 
235
+ ## Command Line
236
+ When the `linkeddata` gem is installed, RDF.rb includes a `rdf` executable which acts as a wrapper to perform a number of different
237
+ operations on RDF files using available readers and writers, including RDF::Tabular. The commands specific to RDF::Tabular is
238
+
239
+ * `tabular-json`: Parse the CSV file and emit data as Tabular JSON
240
+
241
+ To use RDF::Tabular specific features, you must use the `--input-format tabular` option to the `rdf` executable.
242
+
243
+ Other `rdf` commands and options treat CSV as a standard RDF format.
244
+
245
+ Example usage:
246
+
247
+ rdf serialize https://raw.githubusercontent.com/ruby-rdf/rdf-tabular/develop/etc/doap.csv \
248
+ --output-format ttl
249
+ rdf tabular-json --input-format tabular https://raw.githubusercontent.com/ruby-rdf/rdf-tabular/develop/etc/doap.csv
250
+ rdf validate https://raw.githubusercontent.com/ruby-rdf/rdf-tabular/develop/etc/doap.csv --validate
251
+
252
+ Note that the `--validate` option must be used with the `validate` (or other) command to detect parse-time errors in addition to validating any resulting RDF triples.
253
+
235
254
  ## RDF Reader
236
255
  RDF::Tabular also acts as a normal RDF reader, using the standard RDF.rb Reader interface:
237
256
 
@@ -248,9 +267,9 @@ Full documentation available on [RubyDoc](http://rubydoc.info/gems/rdf-tabular/f
248
267
  * {RDF::Tabular::Reader}
249
268
 
250
269
  ## Dependencies
251
- * [Ruby](http://ruby-lang.org/) (>= 2.0)
252
- * [RDF.rb](http://rubygems.org/gems/rdf) (>= 2.0)
253
- * [JSON](https://rubygems.org/gems/json) (>= 1.5)
270
+ * [Ruby](http://ruby-lang.org/) (>= 2.2.2)
271
+ * [RDF.rb](http://rubygems.org/gems/rdf) (~> 3.0)
272
+ * [JSON](https://rubygems.org/gems/json) (>= 2.0)
254
273
 
255
274
  ## Installation
256
275
  The recommended installation method is via [RubyGems](http://rubygems.org/).
@@ -288,4 +307,4 @@ see or the accompanying {file:UNLICENSE} file.
288
307
  [CSV]: http://en.wikipedia.org/wiki/Comma-separated_values
289
308
  [W3C CSVW]: http://www.w3.org/2013/csvw/wiki/Main_Page
290
309
  [URI template]: https://tools.ietf.org/html/rfc6570
291
- [UAX35]: http://www.unicode.org/reports/tr15/
310
+ [UAX35]: http://www.unicode.org/reports/tr15/
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 3.1.0
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "@context": {
3
+ "as": "https://www.w3.org/ns/activitystreams#",
3
4
  "cc": "http://creativecommons.org/ns#",
4
5
  "csvw": "http://www.w3.org/ns/csvw#",
5
6
  "ctag": "http://commontag.org/ns#",
@@ -8,10 +9,13 @@
8
9
  "dcat": "http://www.w3.org/ns/dcat#",
9
10
  "dcterms": "http://purl.org/dc/terms/",
10
11
  "dctypes": "http://purl.org/dc/dcmitype/",
12
+ "dqv": "http://www.w3.org/ns/dqv#",
13
+ "duv": "https://www.w3.org/TR/vocab-duv#",
11
14
  "foaf": "http://xmlns.com/foaf/0.1/",
12
15
  "gr": "http://purl.org/goodrelations/v1#",
13
16
  "grddl": "http://www.w3.org/2003/g/data-view#",
14
17
  "ical": "http://www.w3.org/2002/12/cal/icaltzd#",
18
+ "ldp": "http://www.w3.org/ns/ldp#",
15
19
  "ma": "http://www.w3.org/ns/ma-ont#",
16
20
  "oa": "http://www.w3.org/ns/oa#",
17
21
  "og": "http://ogp.me/ns#",
@@ -105,7 +109,7 @@
105
109
  "Transformation": "csvw:Transformation",
106
110
  "aboutUrl": {
107
111
  "@id": "csvw:aboutUrl",
108
- "@type": "@id"
112
+ "@type": "csvw:uriTemplate"
109
113
  },
110
114
  "base": {
111
115
  "@id": "csvw:base",
@@ -237,7 +241,7 @@
237
241
  },
238
242
  "propertyUrl": {
239
243
  "@id": "csvw:propertyUrl",
240
- "@type": "@id"
244
+ "@type": "csvw:uriTemplate"
241
245
  },
242
246
  "quoteChar": {
243
247
  "@id": "csvw:quoteChar",
@@ -247,6 +251,9 @@
247
251
  "@id": "csvw:reference",
248
252
  "@type": "@id"
249
253
  },
254
+ "referencedRows": {
255
+ "@id": "csvw:referencedRow"
256
+ },
250
257
  "required": {
251
258
  "@id": "csvw:required",
252
259
  "@type": "xsd:boolean"
@@ -260,6 +267,10 @@
260
267
  "@type": "@id",
261
268
  "@container": "@set"
262
269
  },
270
+ "rowTitles": {
271
+ "@id": "csvw:rowTitle",
272
+ "@language": null
273
+ },
263
274
  "rownum": {
264
275
  "@id": "csvw:rownum",
265
276
  "@type": "xsd:integer"
@@ -339,7 +350,7 @@
339
350
  },
340
351
  "valueUrl": {
341
352
  "@id": "csvw:valueUrl",
342
- "@type": "@id"
353
+ "@type": "csvw:uriTemplate"
343
354
  },
344
355
  "virtual": {
345
356
  "@id": "csvw:virtual",
@@ -358,6 +369,9 @@
358
369
  "dc:description": {
359
370
  "@container": "@language"
360
371
  },
372
+ "dc:date": {
373
+ "@type": "xsd:date"
374
+ },
361
375
  "rdfs:comment": {
362
376
  "@container": "@language"
363
377
  },
@@ -370,6 +384,9 @@
370
384
  "rdfs:range": {
371
385
  "@type": "@id"
372
386
  },
387
+ "rdfs:seeAlso": {
388
+ "@type": "@id"
389
+ },
373
390
  "rdfs:subClassOf": {
374
391
  "@type": "@id"
375
392
  },
@@ -390,8 +407,7 @@
390
407
  "@type": "@id"
391
408
  },
392
409
  "owl:versionInfo": {
393
- "@type": "xsd:string",
394
- "@language": null
410
+ "@type": "@id"
395
411
  },
396
412
  "owl:inverseOf": {
397
413
  "@type": "@vocab"
@@ -425,6 +441,14 @@
425
441
  "dc:description": {
426
442
  "en": "This document describes the RDFS vocabulary description used in the Metadata Vocabulary for Tabular Data [[tabular-metadata]] along with the default JSON-LD Context."
427
443
  },
444
+ "dc:date": "2017-05-23",
445
+ "owl:imports": [
446
+ "http://www.w3.org/ns/prov"
447
+ ],
448
+ "owl:versionInfo": "https://github.com/w3c/csvw/commit/94898e9f0b073aa09b3334ded2eb5ab3b87b37a9",
449
+ "rdfs:seeAlso": [
450
+ "http://www.w3.org/TR/tabular-metadata"
451
+ ],
428
452
  "rdfs_classes": [
429
453
  {
430
454
  "@id": "csvw:Cell",
@@ -565,7 +589,7 @@
565
589
  "en": "about URL"
566
590
  },
567
591
  "rdfs:comment": {
568
- "en": "A URI template property that may be used to create a unique identifier for each cell within a row when mapping data to other formats."
592
+ "en": "A URI template property that MAY be used to indicate what a cell contains information about."
569
593
  },
570
594
  "rdfs:domain": {
571
595
  "owl:unionOf": [
@@ -584,7 +608,7 @@
584
608
  "en": "base"
585
609
  },
586
610
  "rdfs:comment": {
587
- "en": "An atomic property that contains a single string: a term defined in the default context representing a built-in datatype URL."
611
+ "en": "An atomic property that contains a single string: a term defined in the default context representing a built-in datatype URL, as listed above."
588
612
  },
589
613
  "rdfs:domain": "csvw:Datatype",
590
614
  "rdfs:range": "xsd:string"
@@ -596,7 +620,7 @@
596
620
  "en": "column reference"
597
621
  },
598
622
  "rdfs:comment": {
599
- "en": "A column reference property that holds either a single reference to a column description object within this schema, or an array of references."
623
+ "en": "A column reference property that holds either a single reference to a column description object within this schema, or an array of references. These form the referencing columns for the foreign key definition."
600
624
  },
601
625
  "rdfs:domain": {
602
626
  "owl:unionOf": [
@@ -613,7 +637,7 @@
613
637
  "en": "column"
614
638
  },
615
639
  "rdfs:comment": {
616
- "en": "An array property of column descriptions as described in section 4.9 Columns."
640
+ "en": "An array property of column descriptions as described in section 5.6 Columns."
617
641
  },
618
642
  "rdfs:domain": "csvw:Schema",
619
643
  "rdfs:range": "csvw:Column"
@@ -625,7 +649,7 @@
625
649
  "en": "comment prefix"
626
650
  },
627
651
  "rdfs:comment": {
628
- "en": "An atomic property that sets the comment prefix flag to the single provided value, which must be a single character string."
652
+ "en": "An atomic property that sets the comment prefix flag to the single provided value, which MUST be a string."
629
653
  },
630
654
  "rdfs:domain": "csvw:Dialect",
631
655
  "rdfs:range": "xsd:string"
@@ -637,7 +661,7 @@
637
661
  "en": "datatype"
638
662
  },
639
663
  "rdfs:comment": {
640
- "en": "An atomic property that contains either a single string that is the main datatype of the values of the cell or a datatype description object."
664
+ "en": "An object property that contains either a single string that is the main datatype of the values of the cell or a datatype description object. If the value of this property is a string, it MUST be one of the built-in datatypes defined in section 5.11.1 Built-in Datatypes or an absolute URL; if it is an object then it describes a more specialised datatype."
641
665
  },
642
666
  "rdfs:domain": {
643
667
  "owl:unionOf": [
@@ -661,7 +685,7 @@
661
685
  "en": "decimal character"
662
686
  },
663
687
  "rdfs:comment": {
664
- "en": "An atomic property containing a single character string whose value is used to represent a decimal point within the number."
688
+ "en": "A string whose value is used to represent a decimal point within the number."
665
689
  },
666
690
  "rdfs:domain": "csvw:NumericFormat",
667
691
  "rdfs:range": "xsd:string"
@@ -703,7 +727,7 @@
703
727
  "en": "delimiter"
704
728
  },
705
729
  "rdfs:comment": {
706
- "en": "An atomic property that sets the delimiter flag to the single provided value, which must be a single character string."
730
+ "en": "An atomic property that sets the delimiter flag to the single provided value, which MUST be a string."
707
731
  },
708
732
  "rdfs:domain": "csvw:Dialect",
709
733
  "rdfs:range": "xsd:string"
@@ -715,7 +739,7 @@
715
739
  "en": "dialect"
716
740
  },
717
741
  "rdfs:comment": {
718
- "en": "Provides hints to processors about how to parse the referenced files for to create tabular data models for an individual table, or all the tables in a group."
742
+ "en": "An object property that provides a single dialect description. If provided, dialect provides hints to processors about how to parse the referenced files to create tabular data models for the tables in the group."
719
743
  },
720
744
  "rdfs:domain": {
721
745
  "owl:unionOf": [
@@ -732,7 +756,7 @@
732
756
  "en": "double quote"
733
757
  },
734
758
  "rdfs:comment": {
735
- "en": "A boolean atomic property that, if `true`, sets the escape character flag to `\"`. If `false`, to `\\\\`."
759
+ "en": "A boolean atomic property that, if `true`, sets the escape character flag to `\"`."
736
760
  },
737
761
  "rdfs:domain": "csvw:Dialect",
738
762
  "rdfs:range": "xsd:boolean"
@@ -744,7 +768,7 @@
744
768
  "en": "encoding"
745
769
  },
746
770
  "rdfs:comment": {
747
- "en": "An atomic property that sets the encoding flag to the single provided string value, which must be a defined [encoding]."
771
+ "en": "An atomic property that sets the encoding flag to the single provided string value, which MUST be a defined in [[encoding]]. The default is \"utf-8\"."
748
772
  },
749
773
  "rdfs:domain": "csvw:Dialect",
750
774
  "rdfs:range": "xsd:string"
@@ -756,9 +780,14 @@
756
780
  "en": "foreign key"
757
781
  },
758
782
  "rdfs:comment": {
759
- "en": "An array property of foreign key definitions that define how the values from specified columns within this table link to rows within this table or other tables."
783
+ "en": "For a Table: a list of foreign keys on the table.\n\nFor a Schema: an array property of foreign key definitions that define how the values from specified columns within this table link to rows within this table or other tables."
784
+ },
785
+ "rdfs:domain": {
786
+ "owl:unionOf": [
787
+ "csvw:Table",
788
+ "csvw:Schema"
789
+ ]
760
790
  },
761
- "rdfs:domain": "csvw:Schema",
762
791
  "rdfs:range": "csvw:ForeignKey"
763
792
  },
764
793
  {
@@ -768,7 +797,7 @@
768
797
  "en": "format"
769
798
  },
770
799
  "rdfs:comment": {
771
- "en": "An atomic property that contains either a single string or an object that defines the format of a value of this type."
800
+ "en": "An atomic property that contains either a single string or an object that defines the format of a value of this type, used when parsing a string value as described in Parsing Cells in [[tabular-data-model]]."
772
801
  },
773
802
  "rdfs:domain": "csvw:Datatype",
774
803
  "rdfs:range": "xsd:string"
@@ -780,7 +809,7 @@
780
809
  "en": "group character"
781
810
  },
782
811
  "rdfs:comment": {
783
- "en": "An atomic property containing a single character string whose value is used to group digits within the number."
812
+ "en": "A string whose value is used to group digits within the number."
784
813
  },
785
814
  "rdfs:domain": "csvw:NumericFormat",
786
815
  "rdfs:range": {
@@ -809,7 +838,7 @@
809
838
  "en": "header row count"
810
839
  },
811
840
  "rdfs:comment": {
812
- "en": "The number of header rows (following the skipped rows) in the file. The default is 1."
841
+ "en": "An numeric atomic property that sets the header row count flag to the single provided value, which must be a non-negative integer."
813
842
  },
814
843
  "rdfs:domain": "csvw:Dialect",
815
844
  "rdfs:range": "xsd:nonNegativeInteger"
@@ -821,7 +850,7 @@
821
850
  "en": "language"
822
851
  },
823
852
  "rdfs:comment": {
824
- "en": "An atomic property giving a single string language code as defined by [BCP47]."
853
+ "en": "An atomic property giving a single string language code as defined by [[BCP47]]."
825
854
  },
826
855
  "rdfs:domain": {
827
856
  "owl:unionOf": [
@@ -849,10 +878,10 @@
849
878
  "@id": "csvw:lineTerminators",
850
879
  "@type": "rdf:Property",
851
880
  "rdfs:label": {
852
- "en": "line terminator"
881
+ "en": "line terminators"
853
882
  },
854
883
  "rdfs:comment": {
855
- "en": "An atomic property that is either an array containing the single provided string value"
884
+ "en": "An atomic property that sets the line terminators flag to either an array containing the single provided string value, or the provided array."
856
885
  },
857
886
  "rdfs:domain": "csvw:Dialect",
858
887
  "rdfs:range": "xsd:string"
@@ -936,7 +965,7 @@
936
965
  "en": "name"
937
966
  },
938
967
  "rdfs:comment": {
939
- "en": "An atomic property that gives a canonical name for the column. This must be a string. Conversion specifications must use this property as the basis for the names of properties/elements/attributes in the results of conversions."
968
+ "en": "An atomic property that gives a single canonical name for the column. The value of this property becomes the name annotation for the described column."
940
969
  },
941
970
  "rdfs:domain": "csvw:Column",
942
971
  "rdfs:range": "xsd:string"
@@ -948,7 +977,7 @@
948
977
  "en": "note"
949
978
  },
950
979
  "rdfs:comment": {
951
- "en": "The value of this property becomes the value of the notes annotation on the resource."
980
+ "en": "An array property that provides an array of objects representing arbitrary annotations on the annotated tabular data model."
952
981
  },
953
982
  "rdfs:domain": {
954
983
  "owl:unionOf": [
@@ -964,7 +993,7 @@
964
993
  "en": "null"
965
994
  },
966
995
  "rdfs:comment": {
967
- "en": "An atomic property giving the string or strings used for null values within the data."
996
+ "en": "An atomic property giving the string or strings used for null values within the data. If the string value of the cell is equal to any one of these values, the cell value is `null`."
968
997
  },
969
998
  "rdfs:domain": {
970
999
  "owl:unionOf": [
@@ -1002,7 +1031,7 @@
1002
1031
  "en": "pattern"
1003
1032
  },
1004
1033
  "rdfs:comment": {
1005
- "en": "An atomic property containing a regular expression string, in the syntax and interpreted as defined by [ECMASCRIPT]."
1034
+ "en": "A regular expression string, in the syntax and interpreted as defined by [[ECMASCRIPT]]."
1006
1035
  },
1007
1036
  "rdfs:domain": "csvw:NumericFormat",
1008
1037
  "rdfs:range": "xsd:string"
@@ -1014,9 +1043,14 @@
1014
1043
  "en": "primary key"
1015
1044
  },
1016
1045
  "rdfs:comment": {
1017
- "en": "A column reference property that holds either a single reference to a column description object or an array of references."
1046
+ "en": "For Schema: A column reference property that holds either a single reference to a column description object or an array of references.\n\nFor Row: a possibly empty list of cells whose values together provide a unique identifier for this row. This is similar to the name of a column."
1047
+ },
1048
+ "rdfs:domain": {
1049
+ "owl:unionOf": [
1050
+ "csvw:Schema",
1051
+ "csvw:Row"
1052
+ ]
1018
1053
  },
1019
- "rdfs:domain": "csvw:Schema",
1020
1054
  "rdfs:range": "xsd:string"
1021
1055
  },
1022
1056
  {
@@ -1026,7 +1060,7 @@
1026
1060
  "en": "property URL"
1027
1061
  },
1028
1062
  "rdfs:comment": {
1029
- "en": "An URI template property that may be used to create a URI for a property if the table is mapped to another format."
1063
+ "en": "An URI template property that MAY be used to create a URI for a property if the table is mapped to another format. "
1030
1064
  },
1031
1065
  "rdfs:domain": {
1032
1066
  "owl:unionOf": [
@@ -1045,7 +1079,7 @@
1045
1079
  "en": "quote char"
1046
1080
  },
1047
1081
  "rdfs:comment": {
1048
- "en": "An atomic property that sets the quote character flag to the single provided value, which must be a single character."
1082
+ "en": "An atomic property that sets the quote character flag to the single provided value, which must be a string or `null`."
1049
1083
  },
1050
1084
  "rdfs:domain": "csvw:Dialect",
1051
1085
  "rdfs:range": "xsd:string"
@@ -1057,11 +1091,22 @@
1057
1091
  "en": "reference"
1058
1092
  },
1059
1093
  "rdfs:comment": {
1060
- "en": "An object property that identifies a referenced table and a set of referenced columns within that table."
1094
+ "en": "An object property that identifies a **referenced table** and a set of **referenced columns** within that table."
1061
1095
  },
1062
1096
  "rdfs:domain": "csvw:ForeignKey",
1063
1097
  "rdfs:range": "csvw:TableReference"
1064
1098
  },
1099
+ {
1100
+ "@id": "csvw:referencedRow",
1101
+ "@type": "rdf:Property",
1102
+ "rdfs:label": {
1103
+ "en": "referenced rows"
1104
+ },
1105
+ "rdfs:comment": {
1106
+ "en": "A possibly empty list of pairs of a foreign key and a row in a table within the same group of tables."
1107
+ },
1108
+ "rdfs:domain": "csvw:Row"
1109
+ },
1065
1110
  {
1066
1111
  "@id": "csvw:required",
1067
1112
  "@type": "rdf:Property",
@@ -1069,9 +1114,16 @@
1069
1114
  "en": "required"
1070
1115
  },
1071
1116
  "rdfs:comment": {
1072
- "en": "A boolean value which indicates whether every cell within the column must have a non-null value."
1117
+ "en": "A boolean atomic property taking a single value which indicates whether the cell must have a non-null value. The default is `false`. "
1118
+ },
1119
+ "rdfs:domain": {
1120
+ "owl:unionOf": [
1121
+ "csvw:TableGroup",
1122
+ "csvw:Table",
1123
+ "csvw:Schema",
1124
+ "csvw:Column"
1125
+ ]
1073
1126
  },
1074
- "rdfs:domain": "csvw:Column",
1075
1127
  "rdfs:range": "xsd:boolean"
1076
1128
  },
1077
1129
  {
@@ -1099,6 +1151,18 @@
1099
1151
  "rdfs:domain": "csvw:Table",
1100
1152
  "rdfs:range": "csvw:Row"
1101
1153
  },
1154
+ {
1155
+ "@id": "csvw:rowTitle",
1156
+ "@type": "rdf:Property",
1157
+ "rdfs:label": {
1158
+ "en": "row titles"
1159
+ },
1160
+ "rdfs:comment": {
1161
+ "en": "A column reference property that holds either a single reference to a column description object or an array of references."
1162
+ },
1163
+ "rdfs:domain": "csvw:Schema",
1164
+ "rdfs:range": "xsd:string"
1165
+ },
1102
1166
  {
1103
1167
  "@id": "csvw:rownum",
1104
1168
  "@type": "rdf:Property",
@@ -1106,7 +1170,7 @@
1106
1170
  "en": "row number"
1107
1171
  },
1108
1172
  "rdfs:comment": {
1109
- "en": "The position of the row amongst the rows of the Annotated Tabl, starting from 1 "
1173
+ "en": "The position of the row amongst the rows of the Annotated Tabl, starting from 1"
1110
1174
  },
1111
1175
  "rdfs:range": "xsd:integer"
1112
1176
  },
@@ -1141,7 +1205,7 @@
1141
1205
  "en": "separator"
1142
1206
  },
1143
1207
  "rdfs:comment": {
1144
- "en": "An atomic property that must have a single string value that is the character used to separate items in the string value of the cell."
1208
+ "en": "An atomic property that MUST have a single string value that is the character used to separate items in the string value of the cell."
1145
1209
  },
1146
1210
  "rdfs:domain": {
1147
1211
  "owl:unionOf": [
@@ -1160,7 +1224,7 @@
1160
1224
  "en": "skip blank rows"
1161
1225
  },
1162
1226
  "rdfs:comment": {
1163
- "en": "An boolean atomic property that sets the skip blank rows flag to the single provided boolean value."
1227
+ "en": "An boolean atomic property that sets the `skip blank rows` flag to the single provided boolean value."
1164
1228
  },
1165
1229
  "rdfs:domain": "csvw:Dialect",
1166
1230
  "rdfs:range": "xsd:boolean"
@@ -1172,7 +1236,7 @@
1172
1236
  "en": "skip columns"
1173
1237
  },
1174
1238
  "rdfs:comment": {
1175
- "en": "An numeric atomic property that sets the skip columns flag to the single provided numeric value, which must be a non-negative integer."
1239
+ "en": "An numeric atomic property that sets the `skip columns` flag to the single provided numeric value, which MUST be a non-negative integer."
1176
1240
  },
1177
1241
  "rdfs:domain": "csvw:Dialect",
1178
1242
  "rdfs:range": "xsd:nonNegativeInteger"
@@ -1184,7 +1248,7 @@
1184
1248
  "en": "skip initial space"
1185
1249
  },
1186
1250
  "rdfs:comment": {
1187
- "en": "A boolean atomic property that, if `true`, sets the trim flag to \"start\". If `false`, to `false`. If the trim property is provided, the skipInitialSpace property is ignored."
1251
+ "en": "A boolean atomic property that, if `true`, sets the trim flag to \"start\". If `false`, to `false`."
1188
1252
  },
1189
1253
  "rdfs:domain": "csvw:Dialect",
1190
1254
  "rdfs:range": "xsd:boolean"
@@ -1196,7 +1260,7 @@
1196
1260
  "en": "skip rows"
1197
1261
  },
1198
1262
  "rdfs:comment": {
1199
- "en": "An numeric atomic property that sets the skip rows flag to the single provided numeric value, which must be a non-negative integer."
1263
+ "en": "An numeric atomic property that sets the `skip rows` flag to the single provided numeric value, which MUST be a non-negative integer."
1200
1264
  },
1201
1265
  "rdfs:domain": "csvw:Dialect",
1202
1266
  "rdfs:range": "xsd:nonNegativeInteger"
@@ -1220,7 +1284,7 @@
1220
1284
  "en": "suppress output"
1221
1285
  },
1222
1286
  "rdfs:comment": {
1223
- "en": "A boolean atomic property. If true, suppresses any output that would be generated when converting a table or cells within a column."
1287
+ "en": "A boolean atomic property. If `true`, suppresses any output that would be generated when converting a table or cells within a column."
1224
1288
  },
1225
1289
  "rdfs:domain": {
1226
1290
  "owl:unionOf": [
@@ -1250,7 +1314,7 @@
1250
1314
  "en": "table direction"
1251
1315
  },
1252
1316
  "rdfs:comment": {
1253
- "en": "One of csvw:rtl csvw:ltr or csvw:default. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction."
1317
+ "en": "One of `rtl`, `ltr` or `auto`. Indicates whether the tables in the group should be displayed with the first column on the right, on the left, or based on the first character in the table that has a specific direction."
1254
1318
  },
1255
1319
  "rdfs:domain": {
1256
1320
  "owl:unionOf": [
@@ -1267,7 +1331,7 @@
1267
1331
  "en": "table schema"
1268
1332
  },
1269
1333
  "rdfs:comment": {
1270
- "en": "An object property that provides a single schema description as described in section 4.8 Schemas, used as the default for all the tables in the group"
1334
+ "en": "An object property that provides a single schema description as described in section 5.5 Schemas, used as the default for all the tables in the group"
1271
1335
  },
1272
1336
  "rdfs:domain": {
1273
1337
  "owl:unionOf": [
@@ -1315,7 +1379,7 @@
1315
1379
  "en": "text direction"
1316
1380
  },
1317
1381
  "rdfs:comment": {
1318
- "en": "An atomic property that must have a single value that is one of csvw:rtl or csvw:ltr (the default)."
1382
+ "en": "An atomic property that must have a single value that is one of `rtl` or `ltr` (the default)."
1319
1383
  },
1320
1384
  "rdfs:domain": {
1321
1385
  "owl:unionOf": [
@@ -1339,7 +1403,8 @@
1339
1403
  "rdfs:domain": {
1340
1404
  "owl:unionOf": [
1341
1405
  "csvw:Transformation",
1342
- "csvw:Column"
1406
+ "csvw:Column",
1407
+ "csvw:Row"
1343
1408
  ]
1344
1409
  }
1345
1410
  },
@@ -1379,7 +1444,7 @@
1379
1444
  "en": "valueUrl"
1380
1445
  },
1381
1446
  "rdfs:comment": {
1382
- "en": "An URI template property that is used to map the values to the cells into URLs."
1447
+ "en": "An URI template property that is used to map the values of cells into URLs."
1383
1448
  },
1384
1449
  "rdfs:domain": {
1385
1450
  "owl:unionOf": [
@@ -1425,10 +1490,30 @@
1425
1490
  "rdfs:comment": {
1426
1491
  "en": ""
1427
1492
  },
1428
- "rdfs:subClassOf": "xsd:anyURI"
1493
+ "rdfs:subClassOf": "xsd:string"
1429
1494
  }
1430
1495
  ],
1431
1496
  "rdfs_instances": [
1497
+ {
1498
+ "@id": "csvw:auto",
1499
+ "@type": "Direction",
1500
+ "rdfs:label": {
1501
+ "en": "auto"
1502
+ },
1503
+ "rdfs:comment": {
1504
+ "en": "Indicates whether the tables in the group should be displayed based on the first character in the table that has a specific direction."
1505
+ }
1506
+ },
1507
+ {
1508
+ "@id": "csvw:inherit",
1509
+ "@type": "Direction",
1510
+ "rdfs:label": {
1511
+ "en": "inherit"
1512
+ },
1513
+ "rdfs:comment": {
1514
+ "en": "For `textDirection`, indicates that the direction is inherited from the `tableDirection` annotation of the `table`."
1515
+ }
1516
+ },
1432
1517
  {
1433
1518
  "@id": "csvw:ltr",
1434
1519
  "@type": "Direction",
@@ -1436,7 +1521,7 @@
1436
1521
  "en": "left to right"
1437
1522
  },
1438
1523
  "rdfs:comment": {
1439
- "en": "Indicates text should be processed left to right."
1524
+ "en": "Indicates whether the tables in the group should be displayed with the first column on the right."
1440
1525
  }
1441
1526
  },
1442
1527
  {
@@ -1446,7 +1531,7 @@
1446
1531
  "en": "right to left"
1447
1532
  },
1448
1533
  "rdfs:comment": {
1449
- "en": "Indiects text should be processed right to left"
1534
+ "en": "Indicates whether the tables in the group should be displayed with the first column on the left."
1450
1535
  }
1451
1536
  },
1452
1537
  {