ga4gh.org
Data Model & Schema Consensus Study Group
Kathy Reinold et al.
ga4gh.org
Introduction
ga4gh.org
Code of Ethics and Community Conduct
Help us create an inclusive environment
The following will NOT be tolerated:
ga4gh.org
Intro to DaMaSC
Kathy Reinold
ga4gh.org
DaMaSC Charter
ga4gh.org
Story Thus Far
ga4gh.org
Agreed
ga4gh.org
Activities in 2024
ga4gh.org
Aim of Today’s Meeting
ga4gh.org
Interoperability Challenges
ga4gh.org
Interoperability Challenges
Use Cases
ga4gh.org
Technical Interoperability Challenges
Alex Wagner (Kathy Reinold)
ga4gh.org
Expediting Experimental Metadata Effort
David Bujold
ga4gh.org
Expediting Experimental Metadata Effort
David Bujold
What problems are we trying to solve?
ga4gh.org
Expediting Experimental Metadata Effort
What we’d like from DaMaSC
David Bujold
ga4gh.org
Beacon perspective
Beacon v2 is a complex product:
Multiple components, with variations
Multiple types of requests and corresponding responses
A rich schema definition is required
Beacons being part of a network is a core asset of Beacon
We need to check (validate) the conformance of requests and responses to the schemas on the fly (at query time)
Jordi Rambla De Argila
ga4gh.org
Beacon perspective
We have links (dependencies?) to other GA4GH products
It leads into a composite response
Should be coherent at different levels to make it intuitive, easy, palatable to implementers
How to integrate them seamlessly if different schema solutions are being used?
How to integrate them elegantly if different style books are used?
Is a schema repository solving these issues?
Not actually ;-) it solves other issues
Jordi Rambla De Argila
ga4gh.org
ga4gh.org
Data Connect: Overview
ga4gh.org
Data Connect: What we have
subject_id | dob | bp |
aa001 | 1990-04 | 130/84 |
aa002 | 1970-06 | 125/83 |
{
"data": [
{ "subject_id": "aa001", "dob": "1990-04", "bp": "130/84" },
{ "subject_id": "aa002", "dob": "1970-06", "bp": "125/83" }
]
}
ga4gh.org
Data Connect: What we have
subject_id | dob | bp |
aa001 | 1990-04 | Systolic: 130 Diastolic: 84 |
aa002 | 1970-06 | Systolic: 125 Diastolic: 83 |
{
"data": [
{ "subject_id": "aa001", "dob": "1990-04", "bp": { "sys": 130, "dia": 84 },
{ "subject_id": "aa002", "dob": "1970-06", "bp": { "sys": 125, "dia": 83 }
]
}
ga4gh.org
Data Connect: What we have
subject_id | dob | bp |
aa001 | 1990-04 | 130/84 |
aa002 | 1970-06 | 125/83 |
{
"data_model": {
"$id": "https://example.com/table/subjects/info",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Information about subjects at study intake time",
"properties": {
"subject_id": {
"description": "Unique identifier for a subject in this study",
"type": "string"
},
"dob": {
"description": "Subject's year and month of birth",
"type": "string"
},
"bp": {
"description": "Subject's blood pressure (systolic/diastolic in mmHg)",
"type": "string"
},
}
"data": [
{ "subject_id": "aa001", "dob": "1990-04", "bp": "130/84" },
{ "subject_id": "aa002", "dob": "1970-06", "bp": "125/83" }
]
}
ga4gh.org
Data Connect: What we have
subject_id | dob | bp |
aa001 | 1990-04 | 130/84 |
aa002 | 1970-06 | 125/83 |
{
"data_model": {
"$id": "https://example.com/table/subjects/info",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Information about subjects at study intake time",
"properties": {
"subject_id": {
"$ref": "https://example.org/study_schema#subject_identifier"
},
"dob": {
"$ref": "https://example.org/study_schema#subject_dob_my"
},
"bp": {
"$ref": "https://example.org/study_schema#blood_pressure"
},
}
"data": [
{ "subject_id": "aa001", "dob": "1990-04", "bp": "130/84" },
{ "subject_id": "aa002", "dob": "1970-06", "bp": "125/83" }
]
}
ga4gh.org
Data Connect: What we have
https://example.org/study_schema
subject_identifier
$id: https://example.org/study_schema#subject_identifier
subject_dob_my
$id: https://example.org/study_schema#subject_dob_my
Dataset 1
Dataset 2
Subjects table
Symptoms table
Subjects table
Symptoms table
Data Connect adds semantic meaning to $ref elements, specifying that any two schema properties that refer to the same URI are referring to the same concept.
ga4gh.org
Data Connect: Multiple levels of sharing schemas
Harmonized data following a common model
Unharmonized data as is, with model/schema
Provide the schema
Harmonized data
Link to the model
Data available, queryable and mergeable via a common API.
Usable by data detectives. Data out in the open where the issues can be seen and the community can work on.
Tabular data with column names
Provide CSV, TSV,
JSON etc.
Data meaning described for use by a scientist.
Instant federation.
Benefit
Requirement
Entry point
ga4gh.org
Data Connect: What we’d want
ga4gh.org
Improve Interoperability w Data Representation Standards
Michael Baudis
ga4gh.org
Improve Interoperability w Data Representation Standards
Michael Baudis
ga4gh.org
Improve Interoperability w Data Representation Standards
ga4gh.org
Improve Interoperability w Data Representation Standards
TASC-led community effort?!
ga4gh.org
Brainstorming
ga4gh.org
Ideas?
ga4gh.org
Discussion
ga4gh.org
Topics
ga4gh.org
Schema Registry
ga4gh.org
Data Representation Standards
ga4gh.org
Strategy for describing data
ga4gh.org
Driver Projects
ga4gh.org
Discussion
ga4gh.org
Wrap Up
ga4gh.org
Wrap up
Kathy Reinold
ga4gh.org
ga4gh.org