From 0c632defa5dd436ec98e367e74f02505bb66e862 Mon Sep 17 00:00:00 2001 From: Florian Rhiem Date: Tue, 20 Aug 2024 10:00:47 +0200 Subject: [PATCH] Update SampleDB example for SampleDB 0.29.1 --- examples/SampleDB/README.md | 723 ++++++++++++++++++++++++-- examples/SampleDB/sampledb_export.eln | Bin 34270 -> 56199 bytes 2 files changed, 672 insertions(+), 51 deletions(-) diff --git a/examples/SampleDB/README.md b/examples/SampleDB/README.md index d6ae82b..541a547 100644 --- a/examples/SampleDB/README.md +++ b/examples/SampleDB/README.md @@ -22,32 +22,33 @@ Each export contains one or more SampleDB objects, identified by their ID, with ## Concepts used -| SampleDB concepts | JSON property | JSON object | -|------------------------------|---------------|----------------| -| object | hasPart | ./ | -| object name | name | object | -| object creation time | dateCreated | object | -| object modification time | dateModified | object | -| object url | url | object | -| object creator | author | object | -| object tags | keywords | object | -| object references | mentions | object | -| object ID | identifier | object | -| action type | genre | object | -| comments | comment | object | -| files | hasPart | object | -| object version | hasPart | object | -| object version data | hasPart | object version | -| object version schema | hasPart | object version | -| object version creation time | dateCreated | object version | -| object version creator | author | object version | -| object version url | url | object version | -| comment author | author | comment | -| comment creation time | dateCreated | comment | -| comment content | text | comment | -| file name | name | file | -| file uploader | author | file | -| file upload time | dateCreated | file | +| SampleDB concepts | JSON property | JSON object | +|------------------------------|-------------------|----------------| +| object | hasPart | ./ | +| object name | name | object | +| object creation time | dateCreated | object | +| object modification time | dateModified | object | +| object url | url | object | +| object creator | author | object | +| object metadata | variableMeasured | object | +| object tags | keywords | object | +| object references | mentions | object | +| object ID | identifier | object | +| action type | genre | object | +| comments | comment | object | +| files | hasPart | object | +| object version | hasPart | object | +| object version data | hasPart | object version | +| object version schema | hasPart | object version | +| object version creation time | dateCreated | object version | +| object version creator | author | object version | +| object version url | url | object version | +| comment author | author | comment | +| comment creation time | dateCreated | comment | +| comment content | text | comment | +| file name | name | file | +| file uploader | author | file | +| file upload time | dateCreated | file | ## SampleDB examples @@ -70,7 +71,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "@id": "SampleDB" }, "version": "1.0", - "dateCreated": "2024-01-09T11:51:15.502380" + "dateCreated": "2024-08-20T07:55:48.764238" }, { "@id": "./", @@ -100,14 +101,43 @@ Each export contains one or more SampleDB objects, identified by their ID, with "identifier": "7", "name": "Measurement", "description": "Object #7", - "dateCreated": "2024-01-09T11:50:17.474030", - "dateModified": "2024-01-09T11:50:17.474030", - "author": { + "dateCreated": "2024-08-20T07:46:40.566495", + "dateModified": "2024-08-20T07:46:40.566495", + "author": [ + { + "@id": "./users/3" + } + ], + "creator": { "@id": "./users/3" }, "url": "http://localhost:5000/objects/7", - "genre": "measurement", - "keywords": "example_tag, other_tag, tag3", + "variableMeasured": [ + { + "value": "Measurement", + "@type": "PropertyValue", + "propertyID": "name", + "name": "Object Name" + }, + { + "value": "./objects/1", + "@type": "PropertyValue", + "propertyID": "sample", + "name": "Sample" + }, + { + "value": "This is a test.\nThis **is** a *second* line.\n\nThis line follows an empty line.", + "@type": "PropertyValue", + "propertyID": "comment", + "name": "Comment" + }, + { + "value": "2024-08-20T07:46:40.000000", + "@type": "PropertyValue", + "propertyID": "datetime", + "name": "Measurement Date/Time" + } + ], "mentions": [ { "@id": "./objects/1" @@ -121,18 +151,51 @@ Each export contains one or more SampleDB objects, identified by their ID, with { "@id": "./objects/7/files.json" } - ] + ], + "genre": "measurement", + "keywords": "example_tag, other_tag, tag3" }, { "@id": "./objects/7/version/0", "@type": "Dataset", "name": "Measurement", "description": "Object #7 version #0", - "dateCreated": "2024-01-09T11:50:17.474030", - "author": { + "dateCreated": "2024-08-20T07:46:40.566495", + "creator": { "@id": "./users/3" }, + "author": [ + { + "@id": "./users/3" + } + ], "url": "http://localhost:5000/objects/7/versions/0", + "variableMeasured": [ + { + "value": "Measurement", + "@type": "PropertyValue", + "propertyID": "name", + "name": "Object Name" + }, + { + "value": "./objects/1", + "@type": "PropertyValue", + "propertyID": "sample", + "name": "Sample" + }, + { + "value": "This is a test.\nThis **is** a *second* line.\n\nThis line follows an empty line.", + "@type": "PropertyValue", + "propertyID": "comment", + "name": "Comment" + }, + { + "value": "2024-08-20T07:46:40.000000", + "@type": "PropertyValue", + "propertyID": "datetime", + "name": "Measurement Date/Time" + } + ], "hasPart": [ { "@id": "./objects/7/version/0/schema.json" @@ -148,8 +211,8 @@ Each export contains one or more SampleDB objects, identified by their ID, with "description": "Schema for Object #7 version #0", "name": "schema.json", "encodingFormat": "application/json", - "contentSize": 659, - "sha256": "5021dfb058f6e922a98e46742d39134133f08bfd1020fcc3632a4ce96b53a25d" + "contentSize": 784, + "sha256": "17dbb2aba3461cba3031823aaf3a8def73405a0606bb19b8d690cd0870b80ac7" }, { "@id": "./objects/7/version/0/data.json", @@ -157,8 +220,8 @@ Each export contains one or more SampleDB objects, identified by their ID, with "description": "Data for Object #7 version #0", "name": "data.json", "encodingFormat": "application/json", - "contentSize": 463, - "sha256": "d7dd3f955e4a4dd91d7ef78ccc684d4b7c2ce4ae32aa37f805aa6cc32502284b" + "contentSize": 551, + "sha256": "cb357fa8e55c71d4931c5a30925cd302a349c045b7b3d91aa196633669e10cda" }, { "@id": "./objects/7/files.json", @@ -175,13 +238,291 @@ Each export contains one or more SampleDB objects, identified by their ID, with "identifier": "1", "name": "OMBE-1", "description": "Object #1", - "dateCreated": "2024-01-09T11:50:17.123065", - "dateModified": "2024-01-09T11:50:17.123065", - "author": { + "dateCreated": "2024-08-20T07:46:40.184975", + "dateModified": "2024-08-20T07:46:40.184975", + "author": [ + { + "@id": "./users/2" + } + ], + "creator": { "@id": "./users/2" }, "url": "http://localhost:5000/objects/1", - "genre": "sample", + "variableMeasured": [ + { + "value": "OMBE-1", + "@type": "PropertyValue", + "propertyID": "name", + "name": "Sample Name" + }, + { + "value": "2017-02-24T11:56:00.000000", + "@type": "PropertyValue", + "propertyID": "created", + "name": "Creation Datetime" + }, + { + "value": false, + "@type": "PropertyValue", + "propertyID": "checkbox", + "name": "Checkbox" + }, + { + "value": "Option B", + "@type": "PropertyValue", + "propertyID": "dropdown", + "name": "Dropdown" + }, + { + "value": "GaAs", + "@type": "PropertyValue", + "propertyID": "substrate", + "name": "Substrate" + }, + { + "value": "Seed Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/name", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/elements/0/name", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.09999999999999999, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/elements/0/rate", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 5.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/thickness", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/oxygen_flow", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/substrate_temperature", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/0/repetitions", + "name": "Multilayers \u2192 0 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Buffer Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/name", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Ag", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/elements/0/name", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 1.0, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/elements/0/rate", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 1500.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/thickness", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/oxygen_flow", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/substrate_temperature", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/1/repetitions", + "name": "Multilayers \u2192 1 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/elements/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.01, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/elements/0/rate", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 150.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/thickness", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/oxygen_flow", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 99.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/substrate_temperature", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Film Name" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/elements/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.049999999999999996, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/elements/0/rate", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 10.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/thickness", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/oxygen_flow", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/substrate_temperature", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 10.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/2/repetitions", + "name": "Multilayers \u2192 2 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Pd Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/name", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/elements/0/name", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.09999999999999999, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/elements/0/rate", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 150.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/thickness", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/oxygen_flow", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 99.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/substrate_temperature", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/3/repetitions", + "name": "Multilayers \u2192 3 \u2192 Film Layer Repetitions", + "unitCode": "C62" + } + ], "comment": [ { "@id": "./objects/1/comments/1" @@ -203,18 +544,298 @@ Each export contains one or more SampleDB objects, identified by their ID, with { "@id": "./objects/1/files/1/demo.png" } - ] + ], + "genre": "sample" }, { "@id": "./objects/1/version/0", "@type": "Dataset", "name": "OMBE-1", "description": "Object #1 version #0", - "dateCreated": "2024-01-09T11:50:17.123065", - "author": { + "dateCreated": "2024-08-20T07:46:40.184975", + "creator": { "@id": "./users/2" }, + "author": [ + { + "@id": "./users/2" + } + ], "url": "http://localhost:5000/objects/1/versions/0", + "variableMeasured": [ + { + "value": "OMBE-1", + "@type": "PropertyValue", + "propertyID": "name", + "name": "Sample Name" + }, + { + "value": "2017-02-24T11:56:00.000000", + "@type": "PropertyValue", + "propertyID": "created", + "name": "Creation Datetime" + }, + { + "value": false, + "@type": "PropertyValue", + "propertyID": "checkbox", + "name": "Checkbox" + }, + { + "value": "Option B", + "@type": "PropertyValue", + "propertyID": "dropdown", + "name": "Dropdown" + }, + { + "value": "GaAs", + "@type": "PropertyValue", + "propertyID": "substrate", + "name": "Substrate" + }, + { + "value": "Seed Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/name", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/elements/0/name", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.09999999999999999, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/elements/0/rate", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 5.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/thickness", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/oxygen_flow", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/0/films/0/substrate_temperature", + "name": "Multilayers \u2192 0 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/0/repetitions", + "name": "Multilayers \u2192 0 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Buffer Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/name", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Ag", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/elements/0/name", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 1.0, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/elements/0/rate", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 1500.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/thickness", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/oxygen_flow", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/1/films/0/substrate_temperature", + "name": "Multilayers \u2192 1 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/1/repetitions", + "name": "Multilayers \u2192 1 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/elements/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.01, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/elements/0/rate", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 150.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/thickness", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/oxygen_flow", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 99.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/0/substrate_temperature", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Film Name" + }, + { + "value": "Fe", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/elements/0/name", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.049999999999999996, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/elements/0/rate", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 10.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/thickness", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/oxygen_flow", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Oxygen Flow" + }, + { + "value": 129.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/2/films/1/substrate_temperature", + "name": "Multilayers \u2192 2 \u2192 Films \u2192 1 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 10.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/2/repetitions", + "name": "Multilayers \u2192 2 \u2192 Film Layer Repetitions", + "unitCode": "C62" + }, + { + "value": "Pd Layer", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/name", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Film Name" + }, + { + "value": "Pd", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/elements/0/name", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Element Name" + }, + { + "value": 0.09999999999999999, + "unitText": "\u00c5/s", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/elements/0/rate", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Elements \u2192 0 \u2192 Rate" + }, + { + "value": 150.0, + "unitText": "\u00c5", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/thickness", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Film Thickness", + "unitCode": "A11" + }, + { + "value": 0.0, + "unitText": "sccm", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/oxygen_flow", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Oxygen Flow" + }, + { + "value": 99.99999999999997, + "unitText": "degC", + "@type": "PropertyValue", + "propertyID": "multilayer/3/films/0/substrate_temperature", + "name": "Multilayers \u2192 3 \u2192 Films \u2192 0 \u2192 Substrate Temperature", + "unitCode": "CEL" + }, + { + "value": 1.0, + "unitText": "1", + "@type": "PropertyValue", + "propertyID": "multilayer/3/repetitions", + "name": "Multilayers \u2192 3 \u2192 Film Layer Repetitions", + "unitCode": "C62" + } + ], "hasPart": [ { "@id": "./objects/1/version/0/schema.json" @@ -251,7 +872,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "author": { "@id": "./users/2" }, - "dateCreated": "2024-01-09T11:50:17.186542", + "dateCreated": "2024-08-20T07:46:40.291173", "text": "This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. This comment is very long. \nThis comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. \n\nThis comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. This comment has three paragraphs. " }, { @@ -263,7 +884,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "author": { "@id": "./users/2" }, - "dateCreated": "2024-01-09T11:50:17.195133", + "dateCreated": "2024-08-20T07:46:40.298782", "text": "This is another, shorter comment" }, { @@ -273,7 +894,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "name": "files.json", "encodingFormat": "application/json", "contentSize": 763, - "sha256": "78f19d39db3d10611c8663391e33d7734cade730fb5e78c5d997c2fad60f39f9" + "sha256": "2c1c7f3f46729a368dafb3c9db22d15b8fb08ae7a0014c1ca1437875f270bac0" }, { "@id": "./objects/1/files/0/example.txt", @@ -283,7 +904,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "author": { "@id": "./users/2" }, - "dateCreated": "2024-01-09T11:50:17.204828", + "dateCreated": "2024-08-20T07:46:40.307734", "encodingFormat": "text/plain", "contentSize": 17, "contentUrl": "http://localhost:5000/objects/1/files/0", @@ -297,7 +918,7 @@ Each export contains one or more SampleDB objects, identified by their ID, with "author": { "@id": "./users/2" }, - "dateCreated": "2024-01-09T11:50:17.214566", + "dateCreated": "2024-08-20T07:46:40.317983", "encodingFormat": "image/png", "contentSize": 9952, "contentUrl": "http://localhost:5000/objects/1/files/1", diff --git a/examples/SampleDB/sampledb_export.eln b/examples/SampleDB/sampledb_export.eln index e32df87fb5d5dc0aabb9b06c1009e620098eee19..4f1b0b8885f5fb6536ef750de51a71fd475dd4f0 100644 GIT binary patch literal 56199 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 XcdU%IwnPejyhxtaVMV!p!hiY&f#Y_e