diff --git a/oemetadata/v2/v21/build_source/schema_structure.json b/oemetadata/v2/v21/build_source/schema_structure.json index 43f6c6d6..cd8eda8f 100644 --- a/oemetadata/v2/v21/build_source/schema_structure.json +++ b/oemetadata/v2/v21/build_source/schema_structure.json @@ -22,6 +22,12 @@ "moduleEnergySystems": { "$ref": "module_energy_systems.json#" }, + "moduleMeasurementData": { + "$ref": "module_measurement_data.json#" + }, + "moduleDataTransformationSoftware": { + "$ref": "module_software.json#" + }, "datasetLicenses": { "$ref": "licenses_dataset.json#" }, diff --git a/oemetadata/v2/v21/build_source/schemas/general.json b/oemetadata/v2/v21/build_source/schemas/general.json index 0ffc751b..24782c61 100644 --- a/oemetadata/v2/v21/build_source/schemas/general.json +++ b/oemetadata/v2/v21/build_source/schemas/general.json @@ -36,7 +36,7 @@ "null" ], "examples": [ - "example.csv" + "oemetadata_table_example" ], "badge": "Iron", "title": "Name" @@ -53,24 +53,6 @@ "badge": "Silver", "title": "Title" }, - "topics": { - "description": "An array of predefined topics that correspond to the database schemas of the OEP.", - "type": "array", - "items": { - "description": "The topics are used to group the data in the database.", - "type": [ - "string", - "null" - ], - "examples": [ - "model_draft" - ], - "badge": "Bronze", - "title": "Topic" - }, - "badge": "Bronze", - "title": "Topics" - }, "description": { "description": "A description of the table. It should be usable as summary information for the table that is described by the metadata.", "type": [ @@ -95,6 +77,24 @@ "badge": "Bronze", "title": "Publication Date", "format": "date" + }, + "topics": { + "description": "An array of predefined topics that correspond to the database schemas of the OEP.", + "type": "array", + "items": { + "description": "The topics are used to group the data in the database.", + "type": [ + "string", + "null" + ], + "examples": [ + "model_draft" + ], + "badge": "Bronze", + "title": "Topic" + }, + "badge": "Bronze", + "title": "Topics" } }, "required": [ diff --git a/oemetadata/v2/v21/build_source/schemas/licenses_dataset.json b/oemetadata/v2/v21/build_source/schemas/licenses_dataset.json index 29791a94..da2d5a70 100644 --- a/oemetadata/v2/v21/build_source/schemas/licenses_dataset.json +++ b/oemetadata/v2/v21/build_source/schemas/licenses_dataset.json @@ -84,10 +84,10 @@ } }, "badge": "Bronze", - "title": "License" + "title": "Dataset License" }, "badge": "Bronze", - "title": "Licenses" + "title": "Dataset Licenses" } } } diff --git a/oemetadata/v2/v21/build_source/schemas/module_energy_systems.json b/oemetadata/v2/v21/build_source/schemas/module_energy_systems.json index b2d8a93a..8acebf7e 100644 --- a/oemetadata/v2/v21/build_source/schemas/module_energy_systems.json +++ b/oemetadata/v2/v21/build_source/schemas/module_energy_systems.json @@ -8,7 +8,7 @@ "type": "object", "properties": { "supplyTechnologies": { - "description": "A supply technology describes how specific technical components and processes are combined to generate or provide energy", + "description": "A supply technology describes how specific technical components and processes are combined to generate or provide energy.", "type": "array", "items": { "type": "object", @@ -22,8 +22,8 @@ "examples": [ "energy transformation" ], - "badge": "Platinum", - "title": "Subject Name" + "badge": "Module", + "title": "Supply Technologies Subject Name" }, "@id": { "description": "A unique identifier (URI/IRI) of the ontology class.", @@ -34,16 +34,16 @@ "examples": [ "https://openenergyplatform.org/ontology/oeo/OEO_00020003" ], - "badge": "Platinum", - "title": "Subject Identifier", + "badge": "Module", + "title": "Supply Technologies Subject Identifier", "format": "uri" } }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Supply Technologies Subject" }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Supply Technologies" }, "storageTechnologies": { "description": "An energy storage technology describes how energy storage components and energy carriers are combined to charge, store, and discharge energy for temporary use.", @@ -60,8 +60,8 @@ "examples": [ "energy storage technology" ], - "badge": "Platinum", - "title": "Subject Name" + "badge": "Module", + "title": "Storage Technologies Subject Name" }, "@id": { "description": "A unique identifier (URI/IRI) of the ontology class.", @@ -72,16 +72,16 @@ "examples": [ "https://openenergyplatform.org/ontology/oeo/OEO_00020366" ], - "badge": "Platinum", - "title": "Subject Identifier", + "badge": "Module", + "title": "Storage Technologies Subject Identifier", "format": "uri" } }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Storage Technologies Subject" }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Storage Technologies" }, "supplyGrid": { "description": "A supply grid is a system of interconnected technical components that together enable the distribution and delivery of energy.", @@ -98,8 +98,8 @@ "examples": [ "supply grid" ], - "badge": "Platinum", - "title": "Subject Name" + "badge": "Module", + "title": "Supply Grid Subject Name" }, "@id": { "description": "A unique identifier (URI/IRI) of the ontology class.", @@ -110,16 +110,16 @@ "examples": [ "https://openenergyplatform.org/ontology/oeo/OEO_00000200" ], - "badge": "Platinum", - "title": "Subject Identifier", + "badge": "Module", + "title": "Supply Grid Subject Identifier", "format": "uri" } }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Supply Grid Subject" }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Supply Grid" }, "finalEnergyCarrier": { "description": "A final energy carrier is an energy carrier that is delivered to and directly used by end users without further transformation.", @@ -136,8 +136,8 @@ "examples": [ "final energy carrier" ], - "badge": "Platinum", - "title": "Subject Name" + "badge": "Module", + "title": "Final Energy Carrier Subject Name" }, "@id": { "description": "A unique identifier (URI/IRI) of the ontology class.", @@ -148,16 +148,16 @@ "examples": [ "https://openenergyplatform.org/ontology/oeo/OEO_00140080" ], - "badge": "Platinum", - "title": "Subject Identifier", + "badge": "Module", + "title": "Final Energy Carrier Subject Identifier", "format": "uri" } }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Final Energy Carrier Subject" }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Final Energy Carrier" }, "demandSectors": { "description": "An energy demand sector is a sector of the energy system that groups together energy consumers with similar usage characteristics.", @@ -174,8 +174,8 @@ "examples": [ "energy demand sector" ], - "badge": "Platinum", - "title": "Subject Name" + "badge": "Module", + "title": "Demand Sectors Subject Name" }, "@id": { "description": "A unique identifier (URI/IRI) of the ontology class.", @@ -186,16 +186,16 @@ "examples": [ "https://openenergyplatform.org/ontology/oeo/OEO_00000128" ], - "badge": "Platinum", - "title": "Subject Identifier", + "badge": "Module", + "title": "Demand Sectors Subject Identifier", "format": "uri" } }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Demand Sectors Subject" }, - "badge": "Platinum", - "title": "Subject" + "badge": "Module", + "title": "Demand Sectors" }, "moduleDescription": { "description": "A description of the module. It should be usable as summary information for the module that is described by the metadata.", @@ -206,12 +206,12 @@ "examples": [ "Example module for an energy system dataset" ], - "badge": "Gold", - "title": "Context Title" + "badge": "Module", + "title": "Energy Systems Module Description" } }, - "badge": "Gold", - "title": "Context" + "badge": "Module", + "title": "Energy Systems Module" } } } diff --git a/oemetadata/v2/v21/build_source/schemas/module_measurement_data.json b/oemetadata/v2/v21/build_source/schemas/module_measurement_data.json new file mode 100644 index 00000000..62776cc5 --- /dev/null +++ b/oemetadata/v2/v21/build_source/schemas/module_measurement_data.json @@ -0,0 +1,93 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/OpenEnergyPlatform/oemetadata/production/oemetadata/v2/v21/build_source/schemas/module_measurement_data.json", + "type": "object", + "properties": { + "moduleMeasurementData": { + "description": "An Object that describes the instruments used in the measurement.", + "type": "array", + "items": { + "type": "object", + "properties": { + "instrumentIdentifier": { + "description": "Unique string that identifies the instrument instance.", + "type": [ + "string", + "null" + ], + "examples": [ + "http://hdl.handle.net/21.11157/a9250866-bbec-4542-86b3-a5f78c0c6922" + ], + "badge": "Module", + "title": "Instrument Identifier" + }, + "instrumentPath": { + "description": "A landing page that the identifier resolves to.", + "type": [ + "string", + "null" + ], + "examples": [ + "https://sms.atmohub.kit.edu/devices/961" + ], + "badge": "Module", + "title": "Instrument Path", + "format": "uri" + }, + "instrumentName": { + "description": "Name by which the instrument instance is known.", + "type": [ + "string", + "null" + ], + "examples": [ + "MFC_001000_02 - Merck KGaA - FC-2926V - DH9806004" + ], + "badge": "Module", + "title": "Instrument Name" + }, + "instrumentOwner": { + "description": "Institution(s) responsible for the management of the instrument. This may include the legal owner, the operator, or an institute providing access to the instrument.", + "type": [ + "string", + "null" + ], + "examples": [ + "Karlsruhe Institute of Technology (KIT)" + ], + "badge": "Module", + "title": "Instrument Owner" + }, + "manufacturerName": { + "description": "Full name of the manufacturer.", + "type": [ + "string", + "null" + ], + "examples": [ + "Merck KGaA" + ], + "badge": "Module", + "title": "Manufacturer Name" + }, + "moduleDescription": { + "description": "A description of the module. It should be usable as summary information for the module that is described by the metadata.", + "type": [ + "string", + "null" + ], + "examples": [ + "Example instrument of PIDINST schema." + ], + "badge": "Module", + "title": "Module Description" + } + }, + "badge": "Module", + "title": "Instrument" + }, + "badge": "Module", + "title": "Measurement Data Module" + } + } +} diff --git a/oemetadata/v2/v21/build_source/schemas/module_software.json b/oemetadata/v2/v21/build_source/schemas/module_software.json new file mode 100644 index 00000000..ebab49f4 --- /dev/null +++ b/oemetadata/v2/v21/build_source/schemas/module_software.json @@ -0,0 +1,92 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://raw.githubusercontent.com/OpenEnergyPlatform/oemetadata/production/oemetadata/v2/v21/build_source/schemas/module_software.json", + "type": "object", + "properties": { + "moduleDataTransformationSoftware": { + "description": "An Object that describes the instruments used in the measurement.", + "type": "array", + "items": { + "type": "object", + "properties": { + "softwareName": { + "description": "Name of the software.", + "type": [ + "string", + "null" + ], + "examples": [ + "open-mastr" + ], + "badge": "Module", + "title": "Software Name" + }, + "softwarePath": { + "description": "A link or identifier to download or access the software.", + "type": [ + "string", + "null" + ], + "examples": [ + "https://github.com/OpenEnergyPlatform/open-MaStR" + ], + "badge": "Module", + "title": "Software Path" + }, + "softwareVersion": { + "description": "The version of the software instance.", + "type": [ + "string", + "null" + ], + "examples": [ + "0.17.1" + ], + "badge": "Module", + "title": "Software Version" + }, + "softwareType": { + "description": "Type of software application.", + "type": [ + "string", + "null" + ], + "examples": [ + "Library" + ], + "badge": "Module", + "title": "Software Type (ERSmeta)" + }, + "programmingLanguage": { + "description": "Type of software application.", + "type": [ + "string", + "null" + ], + "examples": [ + "Python" + ], + "badge": "Module", + "title": "Software Type (ERSmeta)" + }, + "moduleDescription": { + "description": "A description of the module. It should be usable as summary information for the module that is described by the metadata.", + "type": [ + "string", + "null" + ], + "examples": [ + "Example data transformation software." + ], + "badge": "Module", + "title": "Module Description" + } + }, + "badge": "Module", + "title": "Software" + }, + "badge": "Module", + "title": "Data Transformation Software Module" + } + } +} diff --git a/oemetadata/v2/v21/build_source/scripts/create_example.py b/oemetadata/v2/v21/build_source/scripts/create_example.py index 07bd6fd2..2476a3e1 100644 --- a/oemetadata/v2/v21/build_source/scripts/create_example.py +++ b/oemetadata/v2/v21/build_source/scripts/create_example.py @@ -336,4 +336,6 @@ def remove_modules_from_example(module_keys: list): test_oemetadata_schema_should_validate_oemetadata_example(json_data) copy_example_with_modules(EXAMPLE_PATH, EXAMPLE_MODULES_PATH) - remove_modules_from_example(module_keys=["moduleEnergySystems"]) + remove_modules_from_example( + module_keys=["moduleEnergySystems", "moduleMeasurementData"] + ) diff --git a/oemetadata/v2/v21/build_source/scripts/example/fields.json b/oemetadata/v2/v21/build_source/scripts/example/fields.json index 00b325a7..a5efe7f9 100644 --- a/oemetadata/v2/v21/build_source/scripts/example/fields.json +++ b/oemetadata/v2/v21/build_source/scripts/example/fields.json @@ -161,7 +161,7 @@ }, { "name": "comment", - "description": "", + "description": "Comment", "type": "string", "nullable": true, "unit": null, diff --git a/oemetadata/v2/v21/example.json b/oemetadata/v2/v21/example.json index 2f693135..997fdd9e 100644 --- a/oemetadata/v2/v21/example.json +++ b/oemetadata/v2/v21/example.json @@ -73,6 +73,16 @@ "comment": "Date of metadata creation" } ], + "moduleDataTransformationSoftware": [ + { + "softwareName": "open-mastr", + "softwarePath": "https://github.com/OpenEnergyPlatform/open-MaStR", + "softwareVersion": "0.17.1", + "softwareType": "Library", + "programmingLanguage": "Python", + "moduleDescription": "Example data transformation software." + } + ], "datasetLicenses": [ { "name": "ODbL-1.0", @@ -91,13 +101,13 @@ { "@id": "https://databus.openenergyplatform.org/oeplatform/supply/wri_global_power_plant_database/2022-11-07/wri_global_power_plant_database_variant=data.csv", "path": "example.csv", - "name": "example.csv", + "name": "oemetadata_table_example", "title": "OEMetadata Table Example", + "description": "Example metadata and table used to illustrate the OEMetadata structure and features.", + "publicationDate": "2024-10-15", "topics": [ "model_draft" ], - "description": "Example metadata and table used to illustrate the OEMetadata structure and features.", - "publicationDate": "2024-10-15", "subject": [ { "name": "energy", @@ -348,7 +358,7 @@ }, { "name": "comment", - "description": "", + "description": "Comment", "type": "string", "nullable": true, "unit": null, diff --git a/oemetadata/v2/v21/example_modules.json b/oemetadata/v2/v21/example_modules.json index 500d6c61..42eeb157 100644 --- a/oemetadata/v2/v21/example_modules.json +++ b/oemetadata/v2/v21/example_modules.json @@ -4,9 +4,11 @@ "name": "oep_oemetadata", "title": "OEP OEMetadata Dataset", "description": "A dataset for the OEMetadata examples.", - "topics": [ - "model_draft" - ], + "extent": { + "name": "Europe", + "@id": "https://www.wikidata.org/wiki/Q458" + }, + "referenceDate": "2020-01-01", "languages": [ "en-GB", "de-DE" @@ -104,6 +106,26 @@ ], "moduleDescription": "Example module for an energy system dataset" }, + "moduleMeasurementData": [ + { + "instrumentIdentifier": "http://hdl.handle.net/21.11157/a9250866-bbec-4542-86b3-a5f78c0c6922", + "instrumentPath": "https://sms.atmohub.kit.edu/devices/961", + "instrumentName": "MFC_001000_02 - Merck KGaA - FC-2926V - DH9806004", + "instrumentOwner": "Karlsruhe Institute of Technology (KIT)", + "manufacturerName": "Merck KGaA", + "moduleDescription": "Example instrument of PIDINST schema." + } + ], + "moduleDataTransformationSoftware": [ + { + "softwareName": "open-mastr", + "softwarePath": "https://github.com/OpenEnergyPlatform/open-MaStR", + "softwareVersion": "0.17.1", + "softwareType": "Library", + "programmingLanguage": "Python", + "moduleDescription": "Example data transformation software." + } + ], "datasetLicenses": [ { "name": "ODbL-1.0", @@ -115,17 +137,20 @@ } ], "review": { - "path": "https://openenergyplatform.org/dataedit/view/model_draft/oep_table_example/open_peer_review/", + "path": "https://openenergyplatform.org/database/", "badge": "Platinum" }, "resources": [ { "@id": "https://databus.openenergyplatform.org/oeplatform/supply/wri_global_power_plant_database/2022-11-07/wri_global_power_plant_database_variant=data.csv", "path": "example.csv", - "name": "example.csv", + "name": "oemetadata_table_example", "title": "OEMetadata Table Example", "description": "Example metadata and table used to illustrate the OEMetadata structure and features.", "publicationDate": "2024-10-15", + "topics": [ + "model_draft" + ], "subject": [ { "name": "energy", @@ -376,7 +401,7 @@ }, { "name": "comment", - "description": "", + "description": "Comment", "type": "string", "nullable": true, "unit": null, @@ -419,7 +444,7 @@ "decimalSeparator": "." }, "review": { - "path": "https://openenergyplatform.org/dataedit/view/model_draft/oep_table_example/open_peer_review/", + "path": "https://openenergyplatform.org/database/", "badge": "Platinum" } } diff --git a/oemetadata/v2/v21/metadata_key_description.md b/oemetadata/v2/v21/metadata_key_description.md index 150f2d44..a8b85cd8 100644 --- a/oemetadata/v2/v21/metadata_key_description.md +++ b/oemetadata/v2/v21/metadata_key_description.md @@ -32,24 +32,25 @@ If a value is not yet available, use: `ToDo`. ## Overview ### Dataset - General Keys -|