Skip to content

Commit

Permalink
Add DATS
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti committed Jan 30, 2025
1 parent fc31a7d commit f0a88ea
Show file tree
Hide file tree
Showing 40 changed files with 3,438 additions and 0 deletions.
1 change: 1 addition & 0 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,4 @@ geojson-1-0-2 https://github.com/geojson/schema v1.0.2
geojson-1-0-1 https://github.com/geojson/schema v1.0.1
geojson-1-0-0 https://github.com/geojson/schema v1.0.0
hca-metadata-5-0-0 https://github.com/HumanCellAtlas/metadata-schema 5.0.0
dats-1-0-0 https://github.com/datatagsuite/schema 1.0.0
10 changes: 10 additions & 0 deletions configuration.json
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,12 @@
"humancellatlas/metadata": {
"title": "Human Cell Atlas Metadata Schema",
"github": "humancellatlas/metadata-schema"
},
"dats": {
"title": "Data Tag Suite (DATS)",
"description": "A data model for describing datasets",
"github": "datatagsuite",
"website": "https://datatagsuite.github.io/docs/html"
}
},
"schemas": {
Expand Down Expand Up @@ -345,6 +351,10 @@
"humancellatlas/metadata/v5.0.0": {
"base": "https://schema.humancellatlas.org",
"path": "./vendor/hca-metadata-5-0-0/json_schema"
},
"dats/v1.0.0": {
"base": "https://w3id.org/dats/schema",
"path": "./vendor/dats-1-0-0"
}
}
}
2 changes: 2 additions & 0 deletions vendor/dats-1-0-0.mask
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
README.md
proposed_extensions_to_DATS.md
23 changes: 23 additions & 0 deletions vendor/dats-1-0-0/ConsentInformationAndLicense.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
### Proposed solution for dealing with Consent Information, Licenses and their relationship

This document describes the proposed changes to the DATS schemas to deal with the
description of consent information and how this impacts in the license information.

#### Creation of a consent_info_schema.json

The proposal is to create a new entity for encapsulating the consent information associated
with entities in a dataset, such as a subject (represented with an object compliant with the
material_schema.json) and a study group (e.g. to indicate a dbGAP consent group).

Thus, it is possible to represent the consent information for patients and for groups of patients.

The consent information points to the derived license, which contains information about data use conditions.

This solution is an alternative of including the consent information directly in the license,
following a separation of concerns between consent and data use conditions.

The relationship between material and study groups to the license comes through the consent information.

#### Extension of the license_schema.json:

The license schema is extended with the data use conditions. The directionality of
89 changes: 89 additions & 0 deletions vendor/dats-1-0-0/access_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
{
"id": "https://w3id.org/dats/schema/access_schema.json",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "DATS access schema",
"description": "Information about resources that provide the means to obtain an asset (a dataset or other research object).",
"type": "object",
"properties": {
"@context": {
"description": "The JSON-LD context",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array"
}
]
},
"@id": {
"description": "The JSON-LD identifier",
"type": "string",
"format": "uri"
},
"@type": {
"description": "The JSON-LD type",
"type": "string",
"enum": [ "Access" ]
},
"identifier": {
"description": "The identifier of the access entity.",
"$ref": "identifier_info_schema.json#"
},
"alternateIdentifiers": {
"type": "array",
"items": {
"$ref": "alternate_identifier_info_schema.json#"
}
},
"relatedIdentifiers": {
"type": "array",
"items": {
"$ref": "related_identifier_info_schema.json#"
}
},
"landingPage": {
"description": "A web page that contains information about the associated dataset or other research object and a direct link to the object itself.",
"type": "string",
"format": "uri"
},
"accessURL": {
"description": "A URL from which the resource (dataset or other research object) can be retrieved, i.e. a direct link to the object itself.",
"type": "string",
"format": "uri"
},
"types": {
"description": "Method to obtain the resource, ideally specified from a controlled vocabulary or ontology.",
"type": "array",
"items": {
"$ref": "annotation_schema.json#"
}
},
"authorizations": {
"description": "Types of verification that accessing the resource is allowed. Authorization occurs before successful authentication and refers to the process of obtaining approval to use a data set. Ideally specified from a controlled vocabulary or ontology.",
"type": "array",
"items": {
"$ref": "annotation_schema.json#"
}
},
"authentications": {
"description": "Types of verification of the credentials for accessing the resource, it is the identification process at the time of access. ideally specified from a controlled vocabulary or ontology.",
"type": "array",
"items": {
"$ref": "annotation_schema.json#"
}
},
"extraProperties": {
"description": "Extra properties that do not fit in the previous specified attributes. ",
"type": "array",
"items": {
"$ref" : "category_values_pair_schema.json#"
}
}
},
"additionalProperties": false,
"required": [ "landingPage" ]
}
125 changes: 125 additions & 0 deletions vendor/dats-1-0-0/activity_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
{
"id": "https://w3id.org/dats/schema/activity_schema.json",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "DATS activity (or process) schema.",
"description": "A type of process scheduled in a study.",
"type": "object",
"properties": {
"@context": {
"description": "The JSON-LD context",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array"
}
]
},
"@id": {
"description": "The JSON-LD identifier",
"type": "string", "format": "uri" },
"@type": {
"description": "The JSON-LD type",
"type": "string", "enum": [ "Activity" ]
},
"identifier": {
"description": "The identifier of the activity.",
"$ref": "identifier_info_schema.json#"
},
"alternateIdentifiers": {
"description": "Alternate identifiers for the activity.",
"type": "array",
"items": {
"$ref": "alternate_identifier_info_schema.json#"
}
},
"relatedIdentifiers": {
"description": "Related identifiers for the activity.",
"type": "array",
"items": {
"$ref": "related_identifier_info_schema.json#"
}
},
"name": {
"description": "The name of the activity, usually one sentece or short description of the activity.",
"type" : "string"
},
"description" : {
"description": "A textual narrative comprised of one or more statements describing the activity.",
"type" : "string"
},
"startDate": {
"description": "A timestamp to record the starting point of the activity.",
"$ref": "date_info_schema.json#"
},
"endDate": {
"description": "A timestamp to record the end point of the activity.",
"$ref": "date_info_schema.json#"
},
"dates" : {
"description": "Relevant dates for the datasets, a date must be added, e.g. creation date or last modification date should be added.",
"type" : "array",
"items" : {
"$ref" : "date_info_schema.json#"
}
},
"duration": {
"description": "The time during which the activity takes place.",
"type" : "string"
},
"location" : {
"description": "The location where the activity takes place.",
"$ref" : "place_schema.json#"
},
"performedBy" : {
"description": "The person(s) or organisation(s) responsible for executing the process.",
"type" : "array",
"items" : {
"anyOf": [
{"$ref" : "person_schema.json#"},
{"$ref" : "organization_schema.json#"}
]
}
},
"keywords": {
"description": "Tags associated with the activity, which will help in its discovery.",
"type": "array",
"items": {
"$ref" : "annotation_schema.json#"
}
},
"input" : {
"description": "The entities used as input.",
"type": "array",
"items":{
"anyOf": [
{"$ref" : "dataset_schema.json#"},
{"$ref" : "material_schema.json#"}
]
}
},
"output" : {
"description": "The entities resulting from applying the activity.",
"type": "array",
"items":{
"anyOf": [
{"$ref" : "dataset_schema.json#"},
{"$ref" : "material_schema.json#"}
]
}
},
"extraProperties": {
"description": "Extra properties that do not fit in the previous specified attributes. ",
"type": "array",
"items": {
"$ref" : "category_values_pair_schema.json#"
}
}
},
"additionalProperties": false,
"required": [ "name" ]
}
39 changes: 39 additions & 0 deletions vendor/dats-1-0-0/alternate_identifier_info_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"id": "https://w3id.org/dats/schema/alternate_identifier_info_schema.json",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "DATS alternate identifier information schema",
"description": "Information about an alternate identifier (other than the primary).",
"type": "object",
"properties": {
"@context": {
"description": "The JSON-LD context",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array"
}
]
},
"@id": {
"description": "The JSON-LD identifier",
"type": "string", "format": "uri"
},
"@type": {
"description": "The JSON-LD type",
"type": "string", "enum": [ "AlternateIdentifier" ]},
"identifier": {
"description": "An identifier or identifiers other than the primary Identifier applied to the resource being registered. (definition from DataCite)",
"type" : "string"
},
"identifierSource": {
"description": "The identifier source represents information about the organisation/namespace responsible for minting the identifiers. It must be provided if the identifier is provided.",
"type" : "string"
}
},
"additionalProperties": false
}
60 changes: 60 additions & 0 deletions vendor/dats-1-0-0/anatomical_part_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
{
"id": "https://w3id.org/dats/schema/anatomical_part_schema.json",
"$schema": "http://json-schema.org/draft-04/schema",
"title": "DATS anatomical part schema",
"description": "A structure that is part of a multicellular organism.",
"type": "object",
"properties": {
"@context": {
"description": "The JSON-LD context",
"anyOf": [
{
"type": "string"
},
{
"type": "object"
},
{
"type": "array"
}
]
},
"@id": {
"description": "The JSON-LD identifier",
"type": "string", "format": "uri" },
"@type": {
"description": "The JSON-LD type",
"type": "string", "enum": [ "AnatomicalPart" ]},
"identifier": {
"description": "The identifier of the anatomical part.",
"$ref": "identifier_info_schema.json#"
},
"alternateIdentifiers": {
"description": "Alternate identifiers for the anatomical part.",
"type": "array",
"items": {
"$ref": "alternate_identifier_info_schema.json#"
}
},
"relatedIdentifiers": {
"description": "Related identifiers for the anatomical part.",
"type": "array",
"items": {
"$ref": "related_identifier_info_schema.json#"
}
},
"name": {
"description": "The name of the anatomical entity or anatomical part.",
"type" : "string"
},
"extraProperties": {
"description": "Extra properties that do not fit in the previous specified attributes. ",
"type": "array",
"items": {
"$ref" : "category_values_pair_schema.json#"
}
}
},
"additionalProperties": false,
"required" : [ "name" ]
}
Loading

0 comments on commit f0a88ea

Please sign in to comment.