Skip to content
Snippets Groups Projects
Commit 1fc8574f authored by Jonas Müller-Laackman's avatar Jonas Müller-Laackman
Browse files

add latest schema

parent 7e3aa9ee
No related branches found
No related tags found
No related merge requests found
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
[![Generic badge](https://img.shields.io/badge/IndexSchema-v0.1.1-blue.svg)](#indexschema) [![Generic badge](https://img.shields.io/badge/IndexSchema-v0.1.1-blue.svg)](#indexschema)
[![Generic badge](https://img.shields.io/badge/ProjectsSchema-v0.1.4-blue.svg)](#projectsschema) [![Generic badge](https://img.shields.io/badge/ProjectsSchema-v0.1.5-blue.svg)](#projectsschema)
[![Generic badge](https://img.shields.io/badge/ResourcesSchema-v0.1.0-blue.svg)](#resourcesschema) [![Generic badge](https://img.shields.io/badge/ResourcesSchema-v0.1.0-blue.svg)](#resourcesschema)
# Closing the Gap in Non-Latin Script Data # Closing the Gap in Non-Latin Script Data
...@@ -31,6 +31,12 @@ The schema underlies continuous development. Existing entries are going to be au ...@@ -31,6 +31,12 @@ The schema underlies continuous development. Existing entries are going to be au
Feel free to discuss the schema in the GitHub issues. Feel free to discuss the schema in the GitHub issues.
As for now, the easiest way to contribute to our database is to just send us your JSON file, so we can implement it to the store.
### <a id="indexschema"></a>JSON Schema for Projects (`v0.1.5`)
See `TEMPLATES/project.json` for a template and `SCHEMATA/project.schema.json` for a comprehensive schema of the latest version.
### <a id="indexschema"></a>JSON Schema for Project Index / UUID Dictionary (`v0.1.1`) ### <a id="indexschema"></a>JSON Schema for Project Index / UUID Dictionary (`v0.1.1`)
```javascript ```javascript
...@@ -44,249 +50,3 @@ Feel free to discuss the schema in the GitHub issues. ...@@ -44,249 +50,3 @@ Feel free to discuss the schema in the GitHub issues.
... ...
} }
``` ```
### <a id="projectsschema"></a>JSON Schema for Projects (`v0.1.4`)
The JSON-file is to be put in a folder with a simplified, machine-readable name of the project's title and added to the project-index.
```javascript
{
"schema_version": "0.1.4",
"record_metadata": {
// Universally Unique Identifier for each project
"uuid": "",
// YYYY-MM-DD
"record_created": "",
// Name of the record's creator: Surname, Forename
"record_created_by": "",
// Array of modifications
"record_modified": [
{
// YYYY-MM-DD
"record_modified_on": "",
// Name of the record's last editor: Surname, Forename
"record_modified_by": ""
}
]
},
"project": {
// Official title of the project
"title": "",
// Abbreviation if applicable
"abbr": "",
// Type of the project: organisation | project
"type": "",
// Array of Authority file URIs
"ref": [
""
],
// Array of active terms in format: YYYY-MM-DD
"date": [
{
"from": "",
"to": ""
}
],
// Array of project websites
"websites": [
""
],
// Description of the project
"project_desc": "",
// Array of Locations
"places": [
{
"place_name": {
// Name of the place
"text": "",
// Array of Authority file URIs
"ref": [
""
]
}
}
],
// Array of languages used in the project's presentation (website, flyer, ...) in ISO-639-2
"lang": [
""
],
"topic_relations": {
// If no information is available: null, otherwise: true | false
"nls": true, // Is the project related to Non-Latin Scripts?
"dh": true, // Is the project related to Digital Humanities?
"meta": true, // Is the project a meta project?
"rdm": true, // Is the project related to Research Data Management?
"infrastructure": true // Is the project related to infrastructure?
},
"parents": [
// For each parent-project
// 1. if organisation and no UUID is given:
{
"type": "organisation",
"org_name": {
// name of the organisation
"text": "",
// Array of Authority file URIs
"ref": [
""
]
},
// Array of Websites
"websites": [
""
],
// Array of Locations
"places":[
{
"place_name": {
// Name of the place
"text": "",
// Array of Authority file URIs
"ref": [
""
]
}
}
],
// __Optional__ notation for deeper relation hierarchies
"siblings": [],
"parents": [],
"children": []
},
// 2. if project and no UUID is given:
{
"type": "project",
// name of the project
"title": "",
// Array of Authority file URIs
"ref": [
""
],
// Array of Websites
"websites": [
""
],
// Array of Locations
"places":[
{
"place_name": {
// Name of the place
"text": "",
// Array of Authority file URIs
"ref": [
""
]
}
}
],
// __Optional__ notation for deeper relation hierarchies
"siblings": [],
"parents": [],
"children": []
},
// 3. if project and has a UUID:
{
"type": "project",
// Official title of the project
"title": "",
// UUID of the project
"uuid": ""
},
// 4. if organisation and has a UUID:
{
"type": "organisation",
"org_name": {
// name of the organisation
"text": "",
// Array of Authority file URIs
"ref": [
""
]
},
"uuid": ""
}
],
// Children are handled the same way as parents
"children": [],
// Siblings (e.g. partner projects) are handled the same way as parents
"siblings": [],
// Array of relevant contacts
"contacts": [
{
"pers_name": {
// Name of the contact
"text": "",
// Array of Authority file URIs
"ref": [
""
]
},
// Role of the contact:
// 0 = Management (e.g. PI, Coordinator, ...)
// 1 = Employee (e.g. Research Assistant, ...)
// 2 = Student Employee (e.g Student Assistant, ...)
// 3 = Contractor or Honorar staff
"role": 0,
// Array of institutional and/or personal websites
"websites": [
""
]
}
],
"research_data": {
// Array of languages of the research data in ISO-639-2
"lang": [
""
]
// More information on research data to be added in a later version
},
// Stack: To be added in a later version
"stack": {},
// Policies: To be added in a later version
"policies": {},
// Array of keywords for the project, including all relevant languages in ISO-639-2
"keywords": [
""
],
// Comment on the entry, the project or field for any information that doesn't fit anywhere else
"comment": ""
}
}
```
### <a id="resourcesschema"></a>JSON Schema for Resources (`v0.1.1`)
```javascript
{
// Valid main values for parent entries in field "type" can be extended by colon notation, e.g. "language:query:xml". For children, main value may vary, e.g. "framework".
"type": "other|language|db|reference|authority|org|literature|journal",
// Title of entry.
"label": "",
// Link to documentation or website.
"ref": "",
// Comment or description.
"comment": "",
// Tags to describe the item and make it easier to find. Empty if none given, but it is highly advised to provide at least a couple of tags.
"tags": [
"#tag",
],
// __Optional__: Provide relation between frameworks and their languages. Array of Objects with the same schema as parent.
"frameworks": [],
// Credit for collecting.
"collected_by": {
// Name of collector.
"name": "",
// Reference link, e.g. URI or URL to website or Orcid-Profile.
"ref": ""
},
// __Optional__: Credit for editing.
"edited_by": {
// Name of editor.
"name": "",
// Reference link, e.g. URI or URL to website or Orcid-Profile.
"ref": ""
}
}
```
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
"schema_version": { "schema_version": {
"description": "Version of the used JSON schema", "description": "Version of the used JSON schema",
"type": "string", "type": "string",
"default": "0.1.4" "default": "0.1.5"
}, },
"record_metadata": { "record_metadata": {
"description": "Metadata of the record file", "description": "Metadata of the record file",
...@@ -292,7 +292,67 @@ ...@@ -292,7 +292,67 @@
} }
}, },
"stack": { "stack": {
"description": "To be added in a later version" "type": "object",
"description": "Information on the stack used by the project",
"properties": {
"database": {
"type": "array",
"description": "List of database systems in use",
"items": {
"type": "string"
}
},
"backend": {
"type": "array",
"description": "List of backend technologies in use",
"items": {
"type": "string"
}
},
"frontend": {
"type": "array",
"description": "List of frontend technologies in use",
"items": {
"type": "string"
}
},
"languages": {
"type": "array",
"description": "List of programming, script and descriptive languages in use",
"items": {
"type": "string"
}
},
"tools": {
"type": "array",
"description": "List of tools that are used by the project",
"items": {
"type": "object",
"required": [
"label", "self_developed", "ref"
],
"properties": {
"label": {
"type": "string",
"description": "Name of the tool"
},
"self_developed": {
"type": "boolean",
"description": "Is the tool developed by the project itself?"
},
"ref": {
"type": "string",
"description": "Refs and URLs to the tool and codebase",
"$ref": "#/definitions/uri"
},
"purpose": {
"type": "string",
"description": "Description of the purpose in the context of the project"
}
}
}
}
}
}, },
"keywords": { "keywords": {
"description": "List of keywords to describe the project, including all relevant languages in ISO-639-2", "description": "List of keywords to describe the project, including all relevant languages in ISO-639-2",
......
{ {
"schema_version": "0.1.3", "schema_version": "0.1.5",
"record_metadata": { "record_metadata": {
"uuid": "", "uuid": "",
"record_created": "", "record_created": "",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment