diff --git a/README.md b/README.md
index 82d6ca72..1b963beb 100644
--- a/README.md
+++ b/README.md
@@ -43,7 +43,7 @@ The DLx project recommends JSON because it has become the data interchange forma
},
"morphemes": [
{
- "form": {
+ "transcription": {
"spa": "hola",
"ipa": "ola"
},
@@ -63,7 +63,7 @@ The DLx project recommends JSON because it has become the data interchange forma
},
"morphemes": [
{
- "form": {
+ "transcription": {
"spa": "me",
"ipa": "me"
},
@@ -83,7 +83,7 @@ The DLx project recommends JSON because it has become the data interchange forma
},
"morphemes": [
{
- "form": {
+ "transcription": {
"spa": "llam",
"ipa": "jam"
},
@@ -92,7 +92,7 @@ The DLx project recommends JSON because it has become the data interchange forma
}
},
{
- "form": {
+ "transcription": {
"spa": "o",
"ipa": "o"
},
@@ -112,7 +112,7 @@ The DLx project recommends JSON because it has become the data interchange forma
},
"morphemes": [
{
- "form": {
+ "transcription": {
"spa": "Daniel",
"ipa": "dænjəl"
},
diff --git a/docs/index.html b/docs/index.html
index 2fa7d9ad..27e47b71 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -244,7 +244,7 @@
The Access Rights object provides information for archives on who should be allowed to access the current resource. Some access protocols used by language archives are already supported, and a custom option is available as well. Additional access protocols may also be added by simply adding an attribute with the name of the relevant archive.
+
The Access Rights object provides information for archives on who should be allowed to access the current resource. Some access protocols used by language archives are already supported, and custom protocols may be used as, e.g. online: false or permission: 'researcher only', etc..
DLx uses the term language broadly to refer to any speech variety - whether a language, dialect, idiolect, or even a historical Lexicon. The DLx Language object groups together all the information about the language, including writing systems, its phonological inventory, and metadata (e.g. names and language codes).
+
DLx uses the term language broadly to refer to any speech variety - whether a language, dialect, idiolect, or even a historical variety. The DLx Language object groups together all the information about the language, including writing systems, its phonological inventory, and metadata (e.g. names and language codes).
@@ -510,6 +510,11 @@
Date Created: "dateCreated"
+
+
Description
+
The date and optionally time that this Language object was created.
A transcription of this morpheme token. Should be a transcription of this particular token/allomorph, rather than an abstract representation of the morpheme. Do not include any leading or trailing tokens such as hyphens or equal signs.
A transcription of this morpheme token. Should be a transcription of this particular token/allomorph, rather than an abstract representation of the morpheme. Do not include any leading or trailing tokens such as hyphens or equal signs.
A list of allophones of this phoneme, following the same format as for phoneme objects.
+
A list of allophones of this phoneme, following the same format as for Phoneme objects.
@@ -512,7 +512,7 @@
Allowed Values (enum)
-
IPA Transcription: "IPA"
+
IPA Transcription: "ipa"
@@ -928,13 +928,18 @@
Reference
-
rounding: "rounding"
+
Rounding: "rounding"
+
+
Description
+
A description of the roundedness of a vowel. Only one type of roundedness may be listed. Rounded vowels may be listed as simply rounded, or more specifically as protruded or compressed.
+
+
@@ -956,6 +961,15 @@
rounding: "rounding"
+
+
Allowed Values (enum)
+
+
"compressed"
+
"protruded"
+
"rounded"
+
"unrounded"
+
+
@@ -1000,7 +1014,7 @@
Dipthong Target 1: "target1"
Description
-
For diphthongs or triphthongs, this should be a phoneme object representing the features of the first target in the pronunciation of the diphthong/triphthong.
+
For diphthongs or triphthongs, this should be a Phoneme object representing the features of the first target in the pronunciation of the diphthong/triphthong.
@@ -1023,7 +1037,7 @@
Dipthong Target 2: "target2"
Description
-
For diphthongs or thriphthongs, this should be a phoneme object representing the features of the second target in the pronunciation of the diphthong/triphthong.
+
For diphthongs or thriphthongs, this should be a Phoneme object representing the features of the second target in the pronunciation of the diphthong/triphthong.
@@ -1046,7 +1060,7 @@
Dipthong Target 3: "target3"
Description
-
For triphthongs, this should be a phoneme object representing the features of the third target in the pronunciation of the triphthong.
+
For triphthongs, this should be a Phoneme object representing the features of the third target in the pronunciation of the triphthong.
diff --git a/package.json b/package.json
index 22de0351..ec3edf4a 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@digitallinguistics/spec",
- "version": "0.12.1",
+ "version": "0.13.0",
"description": "The DLx format for representing linguistic data in JSON",
"keywords": [
"DLx",
@@ -29,8 +29,9 @@
},
"main": "schemas",
"scripts": {
- "build": "npm run docs & node build/storage.js",
+ "build": "npm run docs & npm run upload",
"docs": "jschemer schemas -o docs -r README.md -i index.js",
- "test": "jasmine JASMINE_CONFIG_PATH=test/jasmine.json"
+ "test": "jasmine JASMINE_CONFIG_PATH=test/jasmine.json",
+ "upload": "node build/storage.js"
}
}
diff --git a/schemas/Access.json b/schemas/Access.json
index 5d83a629..2bc4084b 100644
--- a/schemas/Access.json
+++ b/schemas/Access.json
@@ -1,9 +1,11 @@
{
+
"$schema": "http://json-schema.org/schema#",
- "id": "http://cdn.digitallinguistics.io/schemas/Access-1.0.0.json",
+ "id": "http://cdn.digitallinguistics.io/schemas/Access-2.0.0.json",
+
"title": "Access Rights",
"type": "object",
- "description": "The Access Rights object provides information for archives on who should be allowed to access the current resource. Some access protocols used by language archives are already supported, and a custom option is available as well. Additional access protocols may also be added by simply adding an attribute with the name of the relevant archive.",
+ "description": "The Access Rights object provides information for archives on who should be allowed to access the current resource. Some access protocols used by language archives are already supported, and custom protocols may be used as, e.g. `online: false` or `permission: 'researcher only'`, etc..",
"additionalProperties": {
"type": "string"
@@ -17,12 +19,6 @@
"$ref": "http://cdn.digitallinguistics.io/schemas/MultiLangString.json"
},
- "custom": {
- "title": "Custom Access Rights",
- "description": "Users can use their own access schema/protocol by adding a `custom` attribute to the Access Rights object.",
- "type": "string"
- },
-
"AILLA": {
"title": "AILLA Access Level",
"description": "For users who are depositing their materials at The Archive of the Indigenous Languages of Latin America (AAILA) in Texas, an `AILLA` attribute may be added, and its value set to one of the access levels set forth by the archive.",
diff --git a/schemas/Language.json b/schemas/Language.json
index 1edfbf7d..4e15bcf4 100644
--- a/schemas/Language.json
+++ b/schemas/Language.json
@@ -1,11 +1,11 @@
{
"$schema": "http://json-schema.org/schema#",
- "id": "http://cdn.digitallinguistics.io/schemas/Language-1.1.0.json",
+ "id": "http://cdn.digitallinguistics.io/schemas/Language-1.1.1.json",
"title": "Language",
"type": "object",
- "description": "DLx uses the term *language* broadly to refer to any speech variety - whether a language, dialect, idiolect, or even a historical Lexicon. The DLx `Language` object groups together all the information about the language, including writing systems, its phonological inventory, and metadata (e.g. names and language codes).",
+ "description": "DLx uses the term *language* broadly to refer to any speech variety - whether a language, dialect, idiolect, or even a historical variety. The DLx `Language` object groups together all the information about the language, including writing systems, its phonological inventory, and metadata (e.g. names and language codes).",
"required": ["name"],
@@ -32,11 +32,15 @@
},
"codes": {
+
"title": "Language Codes",
"type": "object",
"description": "An object containing any ISO 639-3 and Glottolog language codes for this Language.",
+
"required": ["iso", "glottolog"],
+
"additionalProperties": false,
+
"properties": {
"iso": {
@@ -68,11 +72,13 @@
"dateCreated": {
"title": "Date Created",
+ "description": "The date and optionally time that this Language object was created.",
"$ref": "http://cdn.digitallinguistics.io/schemas/DateCreated.json"
},
"dateModified": {
"title": "Date Modified",
+ "description": "The date an optionally time that this Language object was last modified.",
"$ref": "http://cdn.digitallinguistics.io/schemas/DateModified.json"
},
@@ -116,20 +122,10 @@
"url": {
"title": "URL",
+ "description": "A URL where the JSON data for this language can be found.",
"$ref": "http://cdn.digitallinguistics.io/schemas/Url.json"
}
- },
-
- "default": {
- "abbreviation": "",
- "codes": {
- "iso": [],
- "glottolog": []
- },
- "name": "",
- "phonemes": [],
- "orthographies": []
}
}
diff --git a/schemas/Location.json b/schemas/Location.json
index 4d97cd32..073affff 100644
--- a/schemas/Location.json
+++ b/schemas/Location.json
@@ -1,6 +1,6 @@
{
"$schema": "http://json-schema.org/schema#",
- "id": "http://cdn.digitallinguistics.io/schemas/Location-1.0.1.json",
+ "id": "http://cdn.digitallinguistics.io/schemas/Location-2.0.0.json",
"title": "Location",
"type": "object",
"description": "A location, optionally with accompanying geographic coordinate data. Each location should also be a valid GeoJSON geometry object.",
@@ -8,84 +8,80 @@
"name"
],
- "allOf": [
+ "properties": {
- {
- "title": "GeoJSON Geometry Object",
- "$ref": "http://json.schemastore.org/geojson#"
+ "abbreviation": {
+ "title": "Abbreviation",
+ "description": "An abbreviation for this Location.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Abbreviation.json"
},
- {
- "properties": {
-
- "abbreviation": {
- "title": "Abbreviation",
- "description": "An abbreviation for this Location.",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Abbreviation.json"
- },
-
- "access": {
- "title": "Access Rights",
- "description": "Since locations sometimes contain personal information like addresses, it is important to consider the proper access management policy for them.",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Access.json"
- },
+ "access": {
+ "title": "Access Rights",
+ "description": "Since locations sometimes contain personal information like addresses, it is important to consider the proper access management policy for them.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Access.json"
+ },
- "address": {
- "title": "Address",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Address.json"
- },
+ "address": {
+ "title": "Address",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Address.json"
+ },
- "dateCreated": {
- "title": "Date Created",
- "$ref": "http://cdn.digitallinguistics.io/schemas/DateCreated.json"
- },
+ "dateCreated": {
+ "title": "Date Created",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/DateCreated.json"
+ },
- "dateModified": {
- "title": "Date Modified",
- "$ref": "http://cdn.digitallinguistics.io/schemas/DateModified.json"
- },
+ "dateModified": {
+ "title": "Date Modified",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/DateModified.json"
+ },
- "name": {
- "title": "Name",
- "description": "A name for this location, e.g. `Susan's House` or `Valley High School`, or `Shenandoah River`.",
- "$ref": "http://cdn.digitallinguistics.io/schemas/MultiLangString.json"
- },
+ "geoJSON": {
+ "title": "GeoJSON Geometry Object",
+ "description": "A GeoJSON object describing this Location. Must adhere to the GeoJSON format: http://geojson.org/.",
+ "$ref": "http://json.schemastore.org/geojson#"
+ },
- "notes": {
- "title": "Notes",
- "type": "array",
- "description": "A collection of notes about this Location.",
- "uniqueItems": true,
- "items": {
- "title": "Note",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Note.json"
- }
- },
+ "name": {
+ "title": "Name",
+ "description": "A name for this location, e.g. `Susan's House` or `Valley High School`, or `Shenandoah River`.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/MultiLangString.json"
+ },
- "references": {
- "title": "Bibliographic References",
- "type": "array",
- "description": "A collection of bibliographic references about this Location.",
- "uniqueItems": true,
- "items": {
- "title": "Reference",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Reference.json"
- }
- },
+ "notes": {
+ "title": "Notes",
+ "type": "array",
+ "description": "A collection of notes about this Location.",
+ "uniqueItems": true,
+ "items": {
+ "title": "Note",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Note.json"
+ }
+ },
- "tags": {
- "title": "Tags",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Tags.json"
- },
+ "references": {
+ "title": "Bibliographic References",
+ "type": "array",
+ "description": "A collection of bibliographic references about this Location.",
+ "uniqueItems": true,
+ "items": {
+ "title": "Reference",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Reference.json"
+ }
+ },
- "url": {
- "title": "URL",
- "description": "The URL where information about this location can be retrieved.",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Url.json"
- }
+ "tags": {
+ "title": "Tags",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Tags.json"
+ },
- }
+ "url": {
+ "title": "URL",
+ "description": "The URL where information about this location can be retrieved.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Url.json"
}
- ]
+ }
+
}
diff --git a/schemas/Morpheme.json b/schemas/Morpheme.json
index 8ff286a4..ace34059 100644
--- a/schemas/Morpheme.json
+++ b/schemas/Morpheme.json
@@ -8,7 +8,7 @@
"description": "A *morpheme token* is a particular instance of a morpheme in a text. In DLx, the primary function of the Morpheme object is to provide a concise, short description of each token of a morpheme in a corpus - its form, its gloss, and a reference to an item in a lexicon where more information can be found.",
"required": [
- "form",
+ "transcription",
"gloss"
],
@@ -16,12 +16,6 @@
"properties": {
- "form": {
- "title": "Form",
- "description": "A transcription of this morpheme token. Should be a transcription of this particular token/allomorph, rather than an abstract representation of the morpheme. Do not include any leading or trailing tokens such as hyphens or equal signs.",
- "$ref": "http://cdn.digitallinguistics.io/schemas/MultiLangString.json"
- },
-
"gloss": {
"title": "Gloss",
"description": "A gloss for this morpheme, optionally in multiple languages.",
@@ -50,6 +44,12 @@
"title": "Tags",
"description": "A set of tags for this morpheme token.",
"$ref": "http://cdn.digitallinguistics.io/schemas/Tags.json"
+ },
+
+ "transcription": {
+ "title": "Transcription",
+ "description": "A transcription of this morpheme token. Should be a transcription of this particular token/allomorph, rather than an abstract representation of the morpheme. Do not include any leading or trailing tokens such as hyphens or equal signs.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/MultiLangString.json"
}
},
diff --git a/schemas/Orthography.json b/schemas/Orthography.json
index 2b70d3ba..5a0e5123 100644
--- a/schemas/Orthography.json
+++ b/schemas/Orthography.json
@@ -26,8 +26,8 @@
"graphemes": {
"title": "Graphemes",
"type": "array",
- "uniqueItems": true,
"description": "A collection of graphemes, i.e. units of writing within a writing system, for this Orthography. Each grapheme is an attribute, and the value of that attribute is an object containing information about it. Punctuation characters should not be included in this collection (see the `punctuation` attribute instead).",
+ "uniqueItems": true,
"items": {
"title": "Grapheme",
@@ -40,8 +40,8 @@
"allographs": {
"title": "Allographs",
"type": "array",
- "uniqueItems": true,
"description": "A list of all the allographs (graphical / writing variants) of the current grapheme. For example, `t` in an English orthography would have the allograph `T`.",
+ "uniqueItems": true,
"items": {
"title": "Allograph",
"type": "string"
@@ -96,8 +96,8 @@
"punctuation": {
"title": "Punctuation",
"type": "array",
- "uniqueItems": true,
"description": "A list of all the punctuation characters in this orthography, including white space and non-breaking characters.",
+ "uniqueItems": true,
"items": {
"title": "Punctuation Character",
"type": "string"
diff --git a/schemas/Phoneme.json b/schemas/Phoneme.json
index bf5835cb..30718a99 100644
--- a/schemas/Phoneme.json
+++ b/schemas/Phoneme.json
@@ -1,13 +1,13 @@
{
"$schema": "http://json-schema.org/schema#",
- "id": "http://cdn.digitallinguistics.io/schemas/Phoneme-1.0.1.json",
+ "id": "http://cdn.digitallinguistics.io/schemas/Phoneme-2.0.0.json",
"title": "Phoneme",
"type": "object",
"description": "An object representing a single phoneme in a language, and its allophones.",
- "required": ["IPA"],
+ "required": ["ipa"],
"additionalProperties": true,
@@ -29,7 +29,7 @@
"title": "Allophones",
"type": "array",
"uniqueItems": true,
- "description": "A list of allophones of this phoneme, following the same format as for phoneme objects.",
+ "description": "A list of allophones of this phoneme, following the same format as for Phoneme objects.",
"items": {
"title": "Allophone",
"$ref": "#"
@@ -122,7 +122,7 @@
]
},
- "IPA": {
+ "ipa": {
"title": "IPA Transcription",
"type": "string",
"description": "The IPA representation of this Phoneme."
@@ -203,7 +203,16 @@
}
},
- "rounding": {},
+ "rounding": {
+ "title": "Rounding",
+ "description": "A description of the roundedness of a vowel. Only one type of roundedness may be listed. Rounded vowels may be listed as simply `rounded`, or more specifically as `protruded` or `compressed`.",
+ "enum": [
+ "compressed",
+ "protruded",
+ "rounded",
+ "unrounded"
+ ]
+ },
"tags": {
"title": "Tags",
@@ -212,19 +221,19 @@
"target1": {
"title": "Dipthong Target 1",
- "description": "For diphthongs or triphthongs, this should be a phoneme object representing the features of the first target in the pronunciation of the diphthong/triphthong.",
+ "description": "For diphthongs or triphthongs, this should be a Phoneme object representing the features of the first target in the pronunciation of the diphthong/triphthong.",
"$ref": "#"
},
"target2": {
"title": "Dipthong Target 2",
- "description": "For diphthongs or thriphthongs, this should be a phoneme object representing the features of the second target in the pronunciation of the diphthong/triphthong.",
+ "description": "For diphthongs or thriphthongs, this should be a Phoneme object representing the features of the second target in the pronunciation of the diphthong/triphthong.",
"$ref": "#"
},
"target3": {
"title": "Dipthong Target 3",
- "description": "For triphthongs, this should be a phoneme object representing the features of the third target in the pronunciation of the triphthong.",
+ "description": "For triphthongs, this should be a Phoneme object representing the features of the third target in the pronunciation of the triphthong.",
"$ref": "#"
},