Data Dictionary Formats

Feature CSVW Data Package JSON Schema PostgreSQL XSD
Primary key
"primaryKey": "𝓍"
"primaryKey": ["𝓍", "𝓎"]
"primaryKey": "𝓍"
"primaryKey": ["𝓍", "𝓎"]
primary key ("𝓍")
primary key ("𝓍", "𝓎")
Foreign keys
"foreignKeys": [{
  "columnReference": ["𝓍"],
  "reference": {
    "resource": "https://𝓎",
    "columnReference": ["𝓏"]
  }
}]
"foreignKeys": [{
  "fields": ["𝓍"],
  "reference": {
    "resource": "𝓎",
    "fields": ["𝓏"]
  }
}]
foreign key ("𝓍")
references "𝓎"("𝓏")
Fields and names
"columns": [
  {"name": "𝒇", },
  
]
"fields": [
  {"name": "𝒇", },
  
]
"properties": {
  "𝒇": {},
  
}
create table "𝑻" (
  "𝒇" ,
  
);
<xs:element name="𝒇" />
Field title
"titles": "𝓍"
"titles": ["𝓍", "𝓎"]
"titles": {
  "en": "𝓍",
  "fr": ["𝓎", "𝓏"]
}
"title": "𝓍"
"title": "𝓍"
Field description
"dc:description": "𝓍"
"description": "𝓍"
comment on column "𝑻"."𝒇"
is '𝓍';
<xs:annotation>
  <xs:documentation>
    𝓍
  </xs:documentation>
</xs:annotation>
Required string field
"datatype": "string",
"required": true
"type": "string",
"constraints": {
  "required": true
}
"type": "string"
 text not null
<xs:element  type="xs:string"/>
Optional boolean field
"datatype": "boolean"
"type": "boolean"
"type": ["boolean", "null"]
 boolean
<xs:element  type="xs:boolean"
 minOccurs="0"/>
Optional ISO Date field
"datatype": {
  "base": "date",
  "format": "yyyy-M-d"
}
"type": "date"
"type": ["string", "null"],
"format": "date"
 date
Controlled list field
"categories": [𝓍, 𝓎, 𝓏]
"categories": [
  {"value": 𝓍, "label": "𝑿"},
  {"value": 𝓎, "label": "𝒀"},
  {"value": 𝓏, "label": "𝒁"},
]
"enum": [𝓍, 𝓎, 𝓏]
check ("𝑻"."𝒇" in (𝓍, 𝓎, 𝓏))
<xs:simpleType name="𝒕">
  <xs:restriction base="…">
    <xs:enumeration value="𝓍"/>
    <xs:enumeration value="𝓎"/>
    <xs:enumeration value="𝓏"/>
  </xs:restriction>
</xs:simpleType>
<xs:element  type="𝒕">
Field examples
"example": 𝓍
"examples": [𝓍]
"examples": [𝓍, 𝓎]