diff --git a/README.md b/README.md
index 1b963beb..2a47b411 100644
--- a/README.md
+++ b/README.md
@@ -162,7 +162,6 @@ Schema | Description
[`Access`][2] | Information about who should be allowed to access the current data. Access rights can be specified in many of the formats used by well-known linguistic archives such as ELAR or AILLA.
[`Address`][8] | A postal address.
[`Bundle`][3] | A collection of resources relating to a single event or task, such as all the files relating to a certain elicitation session, or all the field notes from a given day.
-[`Contributor`][4] | Information about a person who contributed to the given resource, and the role they played. For example, most texts will have a contributor with the role of `speaker` specified.
[`DateCreated`][10] | The date a database resource was created (*not* the date the item was recorded).
[`DateModified`][11] | The date a database resource was last modified.
[`DateRecorded`][12] | The date a database resource (usually a text) was recorded.
@@ -179,7 +178,7 @@ Schema | Description
[1]: http://developer.digitallinguistics.io/spec/schemas/Abbreviation.html
[2]: http://developer.digitallinguistics.io/spec/schemas/Access.html
[3]: http://developer.digitallinguistics.io/spec/schemas/Bundle.html
-[4]: http://developer.digitallinguistics.io/spec/schemas/Contributor.html
+[4]:
[5]: http://developer.digitallinguistics.io/spec/schemas/Media.html
[6]: http://developer.digitallinguistics.io/spec/schemas/Note.html
[7]: http://developer.digitallinguistics.io/spec/schemas/Person.html
diff --git a/docs/index.html b/docs/index.html
index 39bac183..6a5f36c9 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -178,7 +178,7 @@
Non-Linguistic Schemas
Information about who should be allowed to access the current data. Access rights can be specified in many of the formats used by well-known linguistic archives such as ELAR or AILLA.
A collection of resources relating to a single event or task, such as all the files relating to a certain elicitation session, or all the field notes from a given day.
Information about a person who contributed to the given resource, and the role they played. For example, most texts will have a contributor with the role of speaker specified.
The date that this media file was recorded or photographed. Or, if the file is a scan of field notes, the date that the scan was made. Not the date that this metadata object was created. For that, see the dateCreated property.
A list of the languages that this person speaks. Each language should be a DLx Language object, optionally with a few additional properties such as ageLearned, etc. Because the DLx Language object consist minimally of just the language name, not all details about the language need to be provided here.
+
A list of the languages that this person speaks. Each item should be a DLx Language object, optionally with a few additional properties such as ageLearned, etc., Because the DLx Language object consist minimally of just the language name, not all details about the language need to be provided here.
@@ -1106,6 +1106,122 @@
Description
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Roles: "roles"
+
+
+
+
+
+
+
+
Description
+
An array of the roles that this person has in the context of the associated data, e.g. speaker or transcriber.
diff --git a/schemas/Media.json b/schemas/Media.json
index 1bc6ead9..e49a52fa 100644
--- a/schemas/Media.json
+++ b/schemas/Media.json
@@ -7,10 +7,7 @@
"type": "object",
"description": "An object containing information about a media file. The file itself should be stored at the URL indicated in the `mediaUrl` field. Media files generally contain primary data. Examples might include audio/video recordings, scans of archival materials, photos taken during fieldwork, or scans of field notes.",
- "required": [
- "filename",
- "format"
- ],
+ "required": ["filename"],
"additionalProperties": true,
@@ -47,11 +44,19 @@
"dateCreated": {
"title": "Date Created",
+ "description": "The date that this metadata object was originally created. *Not* the date the media file was created. For that, see the `dateRecorded` property.",
"$ref": "http://cdn.digitallinguistics.io/schemas/DateCreated.json"
},
+ "dateModified": {
+ "title": "Date Modified",
+ "description": "The date and optionally time that this metadata was last modified. *Not* the date that the media file was modified.",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/DateModified.json"
+ },
+
"dateRecorded": {
"title": "Date Recorded",
+ "description": "The date that this media file was recorded or photographed. Or, if the file is a scan of field notes, the date that the scan was made. *Not* the date that this metadata object was created. For that, see the `dateCreated` property.",
"$ref": "http://cdn.digitallinguistics.io/schemas/DateRecorded.json"
},
@@ -83,11 +88,11 @@
"languages": {
"title": "Languages",
"type": "array",
- "description": "A collection of the languages that are used in this media file.",
+ "description": "An array of the languages that are used in this media file, as abbreviations",
"uniqueItems": true,
"items": {
- "title": "Language",
- "$ref": "http://cdn.digitallinguistics.io/schemas/Language.json"
+ "title": "Language (Abbreviation)",
+ "$ref": "http://cdn.digitallinguistics.io/schemas/Abbreviation.json"
}
},
@@ -126,7 +131,7 @@
"$ref": "http://cdn.digitallinguistics.io/schemas/Url.json"
},
- "persons": {
+ "people": {
"title": "Persons in File",
"type": "array",
"description": "A list of all the people who appear in this file. Often a list of speakers.",
diff --git a/schemas/Person.json b/schemas/Person.json
index 0c57c4c1..b9027ce5 100644
--- a/schemas/Person.json
+++ b/schemas/Person.json
@@ -1,10 +1,11 @@
{
+
"$schema": "http://json-schema.org/schema#",
- "id": "http://cdn.digitallinguistics.io/schemas/Person-1.0.1.json",
+ "id": "http://cdn.digitallinguistics.io/schemas/Person-1.1.0.json",
"title": "Person",
"type": "object",
- "description": "An object providing information about a Person.",
+ "description": "An object providing information about a Person",
"required": [
"familyName",
@@ -70,17 +71,25 @@
},
"languages": {
+
"title": "Languages Spoken",
"type": "array",
+ "description": "A list of the languages that this person speaks. Each item should be a DLx Language object, optionally with a few additional properties such as `ageLearned`, etc., Because the DLx Language object consist minimally of just the language name, not all details about the language need to be provided here.",
+
"uniqueItems": true,
- "description": "A list of the languages that this person speaks. Each language should be a DLx Language object, optionally with a few additional properties such as `ageLearned`, etc. Because the DLx Language object consist minimally of just the language name, not all details about the language need to be provided here.",
+
"items": {
"title": "Language Spoken",
+
"allOf": [
+
{ "$ref": "http://cdn.digitallinguistics.io/schemas/Language.json"},
+
{
+
"additionalProperties": true,
+
"properties": {
"ageLearned": {
@@ -114,9 +123,11 @@
}
}
+
]
}
+
},
"notes": {
@@ -143,6 +154,18 @@
"description": "A pseudonym for this Person."
},
+ "roles": {
+ "title": "Roles",
+ "type": "array",
+ "description": "An array of the roles that this person has in the context of the associated data, e.g. `speaker` or `transcriber`.",
+ "uniqueItems": true,
+ "items": {
+ "title": "Role",
+ "type": "string",
+ "description": "The role that this person has in the context of the associated data, e.g. `speaker` or `transcriber`."
+ }
+ },
+
"tags": {
"title": "Tags",
"$ref": "http://cdn.digitallinguistics.io/schemas/Tags.json"
diff --git a/schemas/index.js b/schemas/index.js
index 8990a031..ae58d959 100644
--- a/schemas/index.js
+++ b/schemas/index.js
@@ -5,7 +5,6 @@ module.exports = {
Access: require('./Access'),
Address: require('./Address'),
Bundle: require('./Bundle'),
- Contributor: require('./Contributor'),
DateCreated: require('./DateCreated'),
DateModified: require('./DateModified'),
DateRecorded: require('./DateRecorded'),