Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initiate development of oemetadata v2.0.0 and introduction of new tools #105

Merged
merged 37 commits into from
Jul 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
5749d8f
add full example for proposal in #97
jh-RLI Dec 5, 2022
b738988
Update oem_16_ressource.json
wingechr Dec 5, 2022
289c890
Update oem_16_bundle.json
wingechr Dec 5, 2022
e84f304
Update oem_16_bundle.json
wingechr Dec 5, 2022
3d8c4db
Merge branch 'develop' into feature/draft_updated_oem_ressourse_and_d…
jh-RLI Apr 11, 2023
f1cead4
remove outdated folders
jh-RLI Apr 11, 2023
ace8e72
add draft v200 metadata files
jh-RLI Apr 11, 2023
7549b54
add datatype field
jh-RLI Apr 11, 2023
13317ad
started draft schema
wingechr Apr 12, 2023
a13e551
WIP: auto generate example json from examples in schema
wingechr Apr 17, 2023
9b9d3f3
update template
jh-RLI Apr 3, 2024
da73680
Merge branch 'develop' of https://github.com/OpenEnergyPlatform/oemet…
jh-RLI May 29, 2024
3d82832
Merge branch 'develop' into feature/draft_updated_oem_ressourse_and_d…
jh-RLI May 29, 2024
1b7a94c
add scripts to resolve the schema from its parts and create a example…
jh-RLI Jun 3, 2024
fbbb936
setup v200 release directory (currently in draft) and tests #144
jh-RLI Jun 5, 2024
8eae47c
update changelog #144 #143
jh-RLI Jun 5, 2024
61751fc
specify the schema.json structure. use $ref elements to link the sche…
jh-RLI Jun 5, 2024
d9df1f3
add schema modules (retrieved from schema.json) that are not aggregat…
jh-RLI Jun 5, 2024
aca7f3c
add schema module that specifies new metadata fields for the top leve…
jh-RLI Jun 5, 2024
2901b7c
Implement scripts to generate the schema / example ... move scripts t…
jh-RLI Jun 5, 2024
6e59569
Add schema build approach for current latest version (prepare for rel…
jh-RLI Jun 5, 2024
a438df6
add placeholder for example & template json files (populate later usi…
jh-RLI Jun 5, 2024
b3e04d9
add schema module that aggregates all fields that provide general inf…
jh-RLI Jun 5, 2024
ff31c72
Add schema module that provide fields for json ld (link to the energy…
jh-RLI Jun 5, 2024
b361900
Add schema module that provide fields to describe a single resource (…
jh-RLI Jun 5, 2024
5818cf0
add demonstrator example & schema
jh-RLI Jun 5, 2024
6fda5f7
update example for v2.0.0 #138
jh-RLI Jun 18, 2024
867ef9d
Add keys under 'trace' #138
christian-rli Jun 18, 2024
99732ed
add tooling to generate schema & example json files (example generati…
jh-RLI Jul 16, 2024
d56f399
provide generated schema.json
jh-RLI Jul 16, 2024
bef2de9
Merge branch 'feature/draft_updated_oem_ressourse_and_datapackge' of …
jh-RLI Jul 16, 2024
463e454
add draft script to generate template from schema
jh-RLI Jul 16, 2024
c62b017
update result file path and rename script
jh-RLI Jul 16, 2024
472cae6
enhance schema resolve / generator script
jh-RLI Jul 16, 2024
7421293
update schema & example and add template json files
jh-RLI Jul 16, 2024
239687c
increase allowed line len
jh-RLI Jul 16, 2024
2927dd2
remove line len check
jh-RLI Jul 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,22 @@ Here is a template for new release sections

### Added

- Added oemetadata version 2.0.0: [#???](https://github.com/OpenEnergyPlatform/oemetadata/pull/)
- This includes restructured oemetadata: We now store metadata for each resource that is described in the oemetdata. A resource describes a files (CSV) or database table. Before it was not possible to add metadata to each resource. This change also alines the oemetadata specification with the requirements form frictionless datapackage v1.

- Introduce a schema build system: [#???](https://github.com/OpenEnergyPlatform/oemetadata/pull/)
- The build files (schema & script) are maintained for each version (starting form v1.6.0) within the new directory called "metadata/v200/build_source"
- The schema is rather long and complex. We split the long schema.json into modules. The modules are assembled in a json file that specifies the structure of the final schema.json and it is called schema_structure.json.
- We use json schema $ref elements to reference the schema modules and we provide code to resolve the reference´s and generate the complete schema.json.

- Add code to generate a example.json based on the schema.json. We read the example values for each of the fields specified in the schema and generate the example. [#???](https://github.com/OpenEnergyPlatform/oemetadata/pull/)

### Changed

- Remove comment field as it holds information on how to fill out the metadata and therefore should not be part of the actual oemetadata but the documentation. [#???](https://github.com/OpenEnergyPlatform/oemetadata/pull/)

### Removed

-

## [1.6.0] - Release - Introduce badges in json schema - 2023-05-30
Expand All @@ -44,11 +57,13 @@ Here is a template for new release sections
- Add CITATION.cff with list of authors [(#111)](https://github.com/OpenEnergyPlatform/oemetadata/pull/111)

### Changed

- Separate examples from descripton and put into its own key-value pair [PR#117]
- Add issue and PR templates [(#116)](https://github.com/OpenEnergyPlatform/oemetadata/pull/116)
- Update context field [PR#114]

### Removed

-

## [1.5.2] - Release - Fix missing json files in pypi package, Improve context.jsonld - 2022-11-18
Expand All @@ -59,18 +74,21 @@ Here is a template for new release sections
### Added

### Changed

- Update context.json in latest & v151 to ensure ontologically annotated metadata can be sparqled #99

## [1.5.1] - Release - Ontology-Ready - 2022-02-21

### Added

- Use [GitHub projects](https://github.com/OpenEnergyPlatform/oemetadata/projects) to organise releases
- Add new example table to show connection to OEO
- Add test for latest directory to CI [PR#74]
- Add tests for v151 [PR#81]
- Add release version directory for oem-v151

### Changed

- Update ``subject`` to work with OEO
- Rename and update ``isAbout`` to work with OEO
- Rename and update ``valueReference`` to work with OEO
Expand All @@ -82,35 +100,41 @@ Here is a template for new release sections
## [1.5.0] - Release - Get Some Semantics - 2021-11-18

### Added

- Add keys for linked data compatibility: ``@context``, ``@id``, ``subject``, ``is_about``, ``value_reference``
- Add context.json file
- Add context.json file
- Add licence information to README.md

### Changed

- Clarify instructions for dealing with non-applicable keys (null) and missing values ("todo")
- Make key 13.2 ``timeseries`` a list
- Relocate development information from README.md to CONTRIBUTING.md
- Relocate development information from README.md to CONTRIBUTING.md
- Update all .json files to v1.5.0
- Reintroduce automated tests (CI) by switching form travis-ci to github actions [PR#63]
- Updated schema.json for v1.5.0 now includes the new key ``title`` which describes the title of the curent field [PR#56] adapted from [PR#43]

### Removed

- Delete future directory

## [1.4.1] Minor Release - Repo Upgrade - 2021-01-18

### Added

- Add directory for v1.4.1
- Add tests for v1.4.1
- Add current section to Changelog, documenting all changes in current branch and stage for release
- Extend black options, COMMAND tox -v now shows exactly what code must be reformatted

### Changed

- Rename repository from "metadata" to "oemetadata"

## [1.4.0] Release - It'll be a standard - 2021-01-11

### Added

- Add ``timeseries`` to ``temporal``
- Add ``context`` object for project information
- Add ``object`` to ``contributors`` to decide between data and metadata
Expand All @@ -126,6 +150,7 @@ Here is a template for new release sections
- Add ``_comment``

### Changed

- Rename ``url`` to ``path`` according to datapackage standard

## [1.0.1] Initial Release - Hello OEMetadata - 2019-11-07
Expand All @@ -137,4 +162,3 @@ Here is a template for new release sections
- Python implementation and tests for schema, example, template of v1.3.0
- Python implementation and tests for schema, example, template of v1.4.0
- Implementation of metaschema (draft07) and test of metaschema

42 changes: 42 additions & 0 deletions metadata/latest/build_source/main_schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/OpenEnergyPlatform/oemetadata/master/oemetadata/latest/schema.json",
"description": "Open Energy Plaftorm (OEP) metadata schema latest",
"type": "object",
"properties": {
"jsonLd": {
"$ref": "json_ld.json#"
},
"general": {
"$ref": "general.json#"
},
"context": {
"$ref": "context.json#"
},
"spatial": {
"$ref": "spatial.json#"
},
"temporal": {
"$ref": "temporal.json#"
},
"sources": {
"$ref": "sources.json#"
},
"licenses": {
"$ref": "licences.json#"
},
"contribution": {
"$ref": "contribution.json#"
},
"resources": {
"$ref": "resources.json#"
},
"review": {
"$ref": "review.json#"
},
"meta": {
"$ref": "meta.json#"
}
},
"additionalProperties": true
}
100 changes: 100 additions & 0 deletions metadata/latest/build_source/schemas/context.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "general.json#metadata/v200_draft/schemas/context.json",
"type": "object",
"properties": {
"context": {
"description": "An Object that describes the general setting, evironment or project leading to the creation or maintenance of this dataset. In science this can be the research project.",
"type": "object",
"properties": {
"homepage": {
"description": "URL of project.",
"example": "https://openenergy-platform.org/",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Homepage",
"format": "uri"
},
"documentation": {
"description": "A URL of the project's documentation.",
"example": "https://openenergy-platform.org/about/",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Documentation"
},
"sourceCode": {
"description": "A URL of the projects source code.",
"example": "https://github.com/OpenEnergyPlatform",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Source Code"
},
"contact": {
"description": "A reference to the creator or maintainer of the data set. This can be an email address or a GitHub handle.",
"example": "[email protected]",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "E-Mail Contact",
"format": "email"
},
"grantNo": {
"description": "An identifying grant number. In case of a publicly funded project, this number is assigned by the funding agency.",
"example": "01AB2345",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Grant no"
},
"fundingAgency": {
"description": "In a funded project this is the funding agency, which can be a governmental or a company.",
"example": "Bundesministerium für Wirtschaft und Klimaschutz",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Funding agency"
},
"fundingAgencyLogo": {
"description": "A URL to the logo or image of the funding agency.",
"example": "https://commons.wikimedia.org/wiki/File:BMWi_Logo_2021.svg#/media/File:BMWi_Logo_2021.svg",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Funding agency logo",
"format": "uri"
},
"publisherLogo": {
"description": "A URL to the logo of the agency publishing the data.",
"example": "https://reiner-lemoine-institut.de//wp-content/uploads/2015/09/rlilogo.png",
"type": [
"string",
"null"
],
"badge": "Gold",
"title": "Publisher logo",
"format": "uri"
}
},
"badge": "Gold",
"title": "Context",
"additionalProperties": false
}
}
}
74 changes: 74 additions & 0 deletions metadata/latest/build_source/schemas/contribution.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "general.json#metadata/v200_draft/schemas/contribution.json",
"type": "object",
"properties": {
"contributors": {
"description": "The people or organizations who contributed to this data package. List of objects.",
"type": "array",
"items": {
"description": "A person or organizations who contributed to this data package. Each object refers to one contributor. Every contributor must have a title and property. A path, email, role and organization properties are optional extras.",
"type": "object",
"properties": {
"title": {
"description": "Name/title of the contributor (name for a person, name or title for an organization).",
"example": "John Doe",
"type": [
"string",
"null"
],
"badge": "Bronze",
"title": "Title"
},
"email": {
"description": "E-mail address of the contributor.",
"example": "[email protected]",
"type": [
"string",
"null"
],
"badge": "Bronze",
"title": "Email",
"format": "email"
},
"date": {
"description": "Date of the contribution. If the contribution took more than a day, use the date of the final contribiution. Date Format is ISO 8601.",
"example": "2016-06-16",
"type": [
"string",
"null"
],
"badge": "Bronze",
"title": "Date",
"format": "date"
},
"object": {
"description": "Target of contribution. Which part of the package was supplied/changed.",
"example": "data and metadata",
"type": [
"string",
"null"
],
"badge": "Bronze",
"title": "Object"
},
"comment": {
"description": "Free text comment on what has been done.",
"example": "Fix typo in the title.",
"type": [
"string",
"null"
],
"badge": "Bronze",
"title": "Comment"
}
},
"badge": "Bronze",
"title": "Contributors",
"additionalProperties": false
},
"badge": "Bronze",
"title": "Contributors"
}
}
}
Loading
Loading