%%{ init: { 'flowchart': { 'curve': 'monotoneX' } } }%%
flowchart LR
Concept["skos:Concept"]
Issue["ibis:Issue"]
Agent["prov:Agent"]
Position["ibis:Position"]
%% <ibis>
from pymongo import MongoClient | |
client = MongoClient() | |
aggregation = [ | |
{ | |
"$set": { | |
"collection_date.has_date_value": { | |
"$dateFromString": { | |
"dateString": "$collection_date.has_raw_value", | |
}, |
%%{ init: { 'flowchart': { 'curve': 'monotoneX' } } }%%
flowchart LR
Concept["skos:Concept"]
Issue["ibis:Issue"]
Agent["prov:Agent"]
Position["ibis:Position"]
State["pm:State"]
Goal["pm:Goal"]
%%{ init: { 'flowchart': { 'curve': 'monotoneX' } } }%%
flowchart LR
Concept["skos:Concept"]
Issue["ibis:Issue"]
Agent["prov:Agent"]
Position["ibis:Position"]
ConceptScheme["skos:ConceptScheme"]
Argument["ibis:Argument"]
erDiagram
Process ||--|| Material : outputs
Material ||--o{ Measurement : subjectTo
Ingredient }o--|| Material : from
Ingredient }o--|| Process : inputTo
Record }o--|| RecordType : has
RecordType }o--o| Template : mayBe
RecordType }o--o| Spec : mayBe
RecordType }o--o| Run : mayBe
flowchart TD
%% t1(["terminator (process start/end)"])
%% s1["(process) step"]
%% d1{decision}
%% b1[("(data)base")]
%% m1[\manual step/]
%% o1[/"(input/output) object"/]
%% p1[[predefined step]]
classDef literal fill:#dff;,stroke:#bbb
{ | |
"access_methods": [{"access_url": {"url": "https://gist.githubusercontent.com/dwinston/05a176b69744a3dfc52a1c8b07590867/raw/c58d8039544378d7ca20b9a80c87abcc983e4f76/readsqc-in-example.json"}}], | |
"checksums": [{"type": "sha256", "checksum": "9e1d75d48d3e90bfec0b4608b8c1755eab88e51e69003dd1329b46086bbd3f68"}], | |
"created_time": "2022-09-27T14:16:00-04:00", | |
"size": 1009 | |
} |
{"data_object_set": [{ | |
"id" : "jgi:534819030d87850d7aea2a16", | |
"name" : "7846.2.85463.CGTACG.fastq.gz", | |
"description" : "Raw sequencer read data", | |
"file_size_bytes" : 11031180705, | |
"type" : "nmdc:DataObject" | |
} | |
], | |
"read_QC_analysis_activity_set": [{ | |
"id" : "nmdc:498a1b67f0b35bc4f059a5de7d5ddb49", |
My intended identifier design was nmdc:<shoulder><generated_id>
where shoulder
is an opaque namespace granted to a minting (sub)organization to avoid ID clashes in case they are bringing existing (not generated) IDs into the mix, and it helps keep IDs short for a minting org that doesn't mint a lot.
Unfortunately, it seems folks really really want to infer semantics from an ID rather than the discipline of resolving it and fetching metadata. So we've had a mushy compromise where the shoulders are kinda memorable, like "mga0" is for metagenome annotations.
I propose, given insistence on the desire for by-eye ID typing, we re-set the scheme as nmdc:
, where type_code is an alphabetical code that is part of a recognized and controlled set, like how "Gb" is "GOLD biosample" (e.g., https://identifiers.org/gold:Gb0110680) and "Gs" is "GOLD study" (e.g., [https://identifiers.org/gold:Gs0103573](https://identifiers.org/gold:Gs0103573
diff --git a/src/schema/basic_slots.yaml b/src/schema/basic_slots.yaml | |
index 17c8bf3..1fa4bda 100644 | |
--- a/src/schema/basic_slots.yaml | |
+++ b/src/schema/basic_slots.yaml | |
@@ -29,7 +29,7 @@ slots: | |
description: >- | |
A unique identifier for a thing. | |
Must be either a CURIE shorthand for a URI or a complete URI | |
- #required: false # for now we setting this to false until we develop an id template | |
+ #required: false # for now we are setting this to false until we develop an id template |