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. -Address +[Address][8] A postal address. @@ -186,65 +186,75 @@

Non-Linguistic Schemas

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 -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 +[DateCreated][10] The date a database resource was created (not the date the item was recorded). -DateModified +[DateModified][11] The date a database resource was last modified. -DateRecorded +[DateRecorded][12] The date a database resource (usually a text) was recorded. -LexemeReference +[LexemeReference][13] An object that contains a reference to any item in a lexicon. -Location +[Location][17] A location with optional geographic coordinates. -Media +[Media][5] Information and metadata about a media file (e.g. WAV, PDF, or JPEG files, etc.). -MultiLangString +[MultiLangString][14] An object containing a string in multiple orthographies. Usually this is a transcription of some linguistic data. -Note +[Note][6] Most DLx resources allow you to add notes in different languages, of different types. -Person +[Person][7] Information about a person, e.g. speaker, linguist, editor, translator, etc. -Reference +[Reference][15] A bibliographic reference. -Tags +[Tags][9] A collection of tags on the given resource. Particularly useful for tagging instances of a phenomenon in your corpora. -Url +[Url][16] A URL. +

[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 +[8]: http://developer.digitallinguistics.io/spec/schemas/Address.html +[9]: http://developer.digitallinguistics.io/spec/schemas/Tags.html +[10]: http://developer.digitallinguistics.io/spec/schemas/DateCreated.html +[11]: http://developer.digitallinguistics.io/spec/schemas/DateModified.html +[12]: http://developer.digitallinguistics.io/spec/schemas/DateRecorded.html +[13]: http://developer.digitallinguistics.io/spec/schemas/LexemeReference.html +[14]: http://developer.digitallinguistics.io/spec/schemas/MultiLangString.html +[15]: http://developer.digitallinguistics.io/spec/schemas/Reference.html +[16]: http://developer.digitallinguistics.io/spec/schemas/Url.html +[17]: http://developer.digitallinguistics.io/spec/schemas/Location.html

diff --git a/docs/schemas/Abbreviation.html b/docs/schemas/Abbreviation.html index c38c9dda..0528d47a 100644 --- a/docs/schemas/Abbreviation.html +++ b/docs/schemas/Abbreviation.html @@ -75,7 +75,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Access.html b/docs/schemas/Access.html index b5500728..d311fb0c 100644 --- a/docs/schemas/Access.html +++ b/docs/schemas/Access.html @@ -279,7 +279,7 @@

Allowed Values (enum)

Home

Schemas

diff --git a/docs/schemas/Address.html b/docs/schemas/Address.html index e5cfa292..9106a2ba 100644 --- a/docs/schemas/Address.html +++ b/docs/schemas/Address.html @@ -460,7 +460,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Bundle.html b/docs/schemas/Bundle.html index 4ea8ee15..3fe23b34 100644 --- a/docs/schemas/Bundle.html +++ b/docs/schemas/Bundle.html @@ -624,7 +624,7 @@

URL: "url"

Home

Schemas

diff --git a/docs/schemas/Contributor.html b/docs/schemas/Contributor.html index 8b07e1bb..ce0fb0f0 100644 --- a/docs/schemas/Contributor.html +++ b/docs/schemas/Contributor.html @@ -274,7 +274,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/DateCreated.html b/docs/schemas/DateCreated.html index efc10018..930fcc19 100644 --- a/docs/schemas/DateCreated.html +++ b/docs/schemas/DateCreated.html @@ -75,7 +75,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/DateModified.html b/docs/schemas/DateModified.html index 8b33ca9e..0edf60cc 100644 --- a/docs/schemas/DateModified.html +++ b/docs/schemas/DateModified.html @@ -75,7 +75,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/DateRecorded.html b/docs/schemas/DateRecorded.html index 7fa8b51d..8f6eee1a 100644 --- a/docs/schemas/DateRecorded.html +++ b/docs/schemas/DateRecorded.html @@ -75,7 +75,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Language.html b/docs/schemas/Language.html index f307aa72..5052c765 100644 --- a/docs/schemas/Language.html +++ b/docs/schemas/Language.html @@ -689,7 +689,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Lexeme.html b/docs/schemas/Lexeme.html index 37f8189b..aaf51f07 100644 --- a/docs/schemas/Lexeme.html +++ b/docs/schemas/Lexeme.html @@ -2711,7 +2711,7 @@

Default Value

Home

Schemas

diff --git a/docs/schemas/LexemeReference.html b/docs/schemas/LexemeReference.html index 8bf6eb67..e59f2ef4 100644 --- a/docs/schemas/LexemeReference.html +++ b/docs/schemas/LexemeReference.html @@ -312,7 +312,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Lexicon.html b/docs/schemas/Lexicon.html index 119dbfd0..94b572cf 100644 --- a/docs/schemas/Lexicon.html +++ b/docs/schemas/Lexicon.html @@ -636,7 +636,7 @@

Default Value

Home

Schemas

diff --git a/docs/schemas/Location.html b/docs/schemas/Location.html index 0a6df1fa..d489a3a8 100644 --- a/docs/schemas/Location.html +++ b/docs/schemas/Location.html @@ -435,7 +435,7 @@

Description

Home

Schemas

diff --git a/docs/schemas/Media.html b/docs/schemas/Media.html index d9cdabe5..2e398bd6 100644 --- a/docs/schemas/Media.html +++ b/docs/schemas/Media.html @@ -56,7 +56,6 @@

Description

Required Properties

@@ -220,12 +219,40 @@

Date Created: "dateCreated"

+
+

Description

+

The date that this metadata object was originally created. Not the date the media file was created. For that, see the dateRecorded property.

+

+

Must be an instance of the DateCreated schema.

+ + +
  • +
    + +
    + + +

    Date Modified: "dateModified"

    +
    + + +
    +

    Description

    +

    The date and optionally time that this metadata was last modified. Not the date that the media file was modified.

    +

    +
    + +

    Must be an instance of the DateModified schema.

    + + +
    +
  • @@ -238,6 +265,11 @@

    Date Recorded: "dateRecorded"

    +
    +

    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.

    +

    +

    Must be an instance of the DateRecorded schema.

    @@ -478,7 +510,7 @@

    Languages: "languages"

    Description

    -

    A collection of the languages that are used in this media file.

    +

    An array of the languages that are used in this media file, as abbreviations

    @@ -522,12 +554,12 @@

    Items

    -

    Language

    +

    Language (Abbreviation)

    -

    Must be an instance of the Language schema.

    +

    Must be an instance of the Abbreviation schema.

    @@ -752,7 +784,7 @@

    Description

    -

    Persons in File: "persons"

    +

    Persons in File: "people"

    @@ -946,7 +978,7 @@

    Description

    Home

    Schemas

    diff --git a/docs/schemas/Morpheme.html b/docs/schemas/Morpheme.html index 54dfebbb..8559e5e9 100644 --- a/docs/schemas/Morpheme.html +++ b/docs/schemas/Morpheme.html @@ -268,7 +268,7 @@

    Default Value

    Home

    Schemas

    diff --git a/docs/schemas/MultiLangString.html b/docs/schemas/MultiLangString.html index f2851558..2236c521 100644 --- a/docs/schemas/MultiLangString.html +++ b/docs/schemas/MultiLangString.html @@ -140,7 +140,7 @@

    Description

    Home

    Schemas

    diff --git a/docs/schemas/Note.html b/docs/schemas/Note.html index e00e4345..17311edc 100644 --- a/docs/schemas/Note.html +++ b/docs/schemas/Note.html @@ -333,7 +333,7 @@

    Allowed Values (enum)

    Home

    Schemas

    diff --git a/docs/schemas/Orthography.html b/docs/schemas/Orthography.html index a251dafc..c2a97dfe 100644 --- a/docs/schemas/Orthography.html +++ b/docs/schemas/Orthography.html @@ -774,7 +774,7 @@

    Tags: "tags"

    Home

    Schemas

    diff --git a/docs/schemas/Person.html b/docs/schemas/Person.html index f187171e..19ab926b 100644 --- a/docs/schemas/Person.html +++ b/docs/schemas/Person.html @@ -25,12 +25,12 @@

    Person

    Validate against: http://json-schema.org/schema#

    -

    Schema ID: http://cdn.digitallinguistics.io/schemas/Person-1.0.1.json

    +

    Schema ID: http://cdn.digitallinguistics.io/schemas/Person-1.1.0.json

    Description

    -

    An object providing information about a Person.

    +

    An object providing information about a Person

    @@ -438,7 +438,7 @@

    Languages Spoken: "languages"

    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.

    +

    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.

    +

    +
    + +

    Type: array

    + + + + + + + + + + + + + + + + + + + + + + + + + +

    + Unique items: true +

    + +
    + +

    Items

    + + +
    + +
    + + +

    Role

    +
    + + + + + +
    +

    Description

    +

    The role that this person has in the context of the associated data, e.g. speaker or transcriber.

    +

    +
    + +

    Type: string

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    @@ -1170,7 +1286,7 @@

    URL: "url"

    Home

    Schemas

    diff --git a/docs/schemas/Phoneme.html b/docs/schemas/Phoneme.html index 7ee5178c..f171a7b0 100644 --- a/docs/schemas/Phoneme.html +++ b/docs/schemas/Phoneme.html @@ -1209,7 +1209,7 @@

    Allowed Values (enum)

    Home

    Schemas

    diff --git a/docs/schemas/Phrase.html b/docs/schemas/Phrase.html index e72c5257..df9729b8 100644 --- a/docs/schemas/Phrase.html +++ b/docs/schemas/Phrase.html @@ -750,7 +750,7 @@

    Word

    Home

    Schemas

    diff --git a/docs/schemas/Reference.html b/docs/schemas/Reference.html index 890b041f..0bea500c 100644 --- a/docs/schemas/Reference.html +++ b/docs/schemas/Reference.html @@ -1300,7 +1300,7 @@

    Description

    Home

    Schemas

    diff --git a/docs/schemas/Tags.html b/docs/schemas/Tags.html index 931abb92..9444f883 100644 --- a/docs/schemas/Tags.html +++ b/docs/schemas/Tags.html @@ -273,7 +273,7 @@

    Validates Against (oneOf)

    Home

    Schemas

    diff --git a/docs/schemas/Text.html b/docs/schemas/Text.html index bd4aabfa..6088701f 100644 --- a/docs/schemas/Text.html +++ b/docs/schemas/Text.html @@ -749,7 +749,7 @@

    URL: "url"

    Home

    Schemas

    diff --git a/docs/schemas/Url.html b/docs/schemas/Url.html index 38f16e11..4656c884 100644 --- a/docs/schemas/Url.html +++ b/docs/schemas/Url.html @@ -75,7 +75,7 @@

    Description

    Home

    Schemas

    diff --git a/docs/schemas/Word.html b/docs/schemas/Word.html index 79346586..9d9f2e45 100644 --- a/docs/schemas/Word.html +++ b/docs/schemas/Word.html @@ -760,7 +760,7 @@

    Description

    Home

    Schemas

    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'),