Skip to content

Commit 4db126c

Browse files
authored
Merge pull request #2 from NFDI4Energy/develop
Create first complete version of the ERSmeta schema (V0.7)
2 parents cf5a550 + 900d5ca commit 4db126c

13 files changed

+2057
-6
lines changed

CITATION.cff

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# This CITATION.cff file was generated with cffinit.
2+
# Visit https://bit.ly/cffinit to generate yours today!
3+
4+
cff-version: 1.2.0
5+
title: ERSmeta
6+
message: Please cite this metadata schema by using these metadata.
7+
type: software
8+
authors:
9+
- given-names: Stephan
10+
family-names: Ferenz
11+
email: stephan.ferenz@uol.de
12+
affiliation: Carl von Ossietzky Universität Oldenburg
13+
orcid: 'https://orcid.org/0000-0001-9523-7227'
14+
repository-code: 'https://github.com/NFDI4Energy/ERSmeta'
15+
url: 'https://nfdi4energy.github.io/ERSmeta/'
16+
abstract: >-
17+
ERSmeta is a metadata schema designed to facilitate the
18+
discovery, sharing, and reuse of energy research software.
19+
The schema provides a standardized way to describe the
20+
metadata associated with energy research software,
21+
including its purpose, functionality, and usage.
22+
keywords:
23+
- metadata schema
24+
- energy research software
25+
license: CC0-1.0

README.md

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,50 @@
1-
# ERSmeta
2-
Metadata schema to describe energy research software
1+
# ERSmeta: A Metadata schema to describe energy research software
2+
3+
ERSmeta is a metadata schema designed to facilitate the discovery, sharing, and reuse of energy research software. The schema provides a standardized way to describe the metadata associated with energy research software, including its purpose, functionality, and usage.
4+
5+
ERSmeta is based on [CodeMeta](https://codemeta.github.io) and also reuses elements from [metadata4ing](http://w3id.org/nfdi4ing/metadata4ing#), [the open energy ontology (OEO)]( http://openenergy-platform.org/ontology/), [the Software Description Ontology](https://w3id.org/okn/o/sd), and [ontosoft](http://ontosoft.org/software#).
6+
7+
## Provided Formats
8+
ERSmeta is provided in two formats:
9+
10+
#### SHACL
11+
A **SHACL formalization** can be found as [turtle file](schema/ERSmeta.ttl). It contains all constrains of the metadata schema.
12+
13+
#### JSON-LD
14+
The metadata schema is also provided as **JSON/JSON-LD**. It consists of the JSON schema and the context file.
15+
The context for JSON-LD can be found in [this file](schema/ersmeta.jsonld). It maps all elements to semantic web items.
16+
17+
The JSON schema can be found in [this file](schema/ersmeta_schema.json). This schema includes less constrains than the SHACL formalization since some constrains can not be formalized in JSON, e.g., the limitation of a value of element to a certain ontology class.
18+
19+
## Documentation
20+
A **general description** of the metadata schema can be found on its [documentation website](https://nfdi4energy.github.io/ERSmeta/). The documentation is automatically build from the SHACL formalization.
21+
Also, a [description of all properties](schema/properties_description.csv) and [a description of all used types (and their properties)](schema/type_descriptions.csv) are provided in this repository. In extension to the SHACL formalization, we add three different priority levels to the elements in the description of all properties: mandatory, recommended, and bonus.
22+
23+
## Crosswalks
24+
We created crosswalks to the following metadata schemas:
25+
* [CodeMeta](https://codemeta.github.io)
26+
* [CFF](https://github.com/citation-file-format/citation-file-format/tree/main)
27+
* [Software Description Ontology](https://knowledgecaptureanddiscovery.github.io/SoftwareDescriptionOntology/release/1.9.0/index-en.html
28+
)
29+
* [DataDesc](https://github.com/FZJ-IEK3-VSA/DataDesc/tree/main)
30+
* [Open Energy Platform Framework Factsheets](https://openenergyplatform.org/factsheets/frameworks/add/)
31+
32+
All crosswalks are available in the [subfolder crosswalks](crosswalks).
33+
34+
35+
## Background
36+
Energy research software is defined as "software used in the scientific discovery process for understanding, analyzing, improving, and designing energy systems" by [Ferenz et al. 2023](https://www.inggrid.org/article/id/3837/).
37+
38+
The metadata schema is based on an [extensive requirement analysis](https://eceasst.org/index.php/eceasst/article/view/2594). In this requirement analysis, interviews with around 30 researchers were performed to gather insides which information are relevant for energy researchers when looking for software.
39+
40+
41+
42+
## How you can help
43+
We welcome help to improve the schema and/or its documentation!
44+
Please open up [issues](https://github.com/NFDI4Energy/ERSmeta/issues) or send us a pull request if you have any updates to our schema or crosswalks!
45+
46+
## License
47+
ERSmeta is released under the [CC0 1.0 Universal](https://spdx.org/licenses/CC0-1.0) license.
48+
49+
## Acknowledgments
50+
The authors would like to thank the German Federal Government, the German State Governments, and the Joint Science Conference (GWK) for their funding and support as part of the [NFDI4Energy consortium](https://nfdi4energy.uol.de/). The work was partly funded by the German Research Foundation (DFG) – 501865131 within the German National Research Data Infrastructure ([NFDI](https://www.nfdi.de)).

crosswalks/CFF.csv

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
ERSmeta URI,ERSmeta Property,ERSmeta Type,ERSmeta Description,CFF Property,CFF Type,CFF Description
2+
https://schema.org/name,name,Text,Name of the software.,title,string,The name of the software or dataset.
3+
https://w3id.org/okn/o/sd#hasShortName,acronym,Text,Abbreviation of the software name.,,,
4+
https://schema.org/identifier,identifier,URL,"The identifier property represents any kind of identifier for any kind of Thing, such as DOI, ISBNs, GTIN codes, UUIDs etc.",identifiers,Array of definitions.identifier objects.,The identifiers of the software or dataset.
5+
https://schema.org/thumbnailUrl,logo,URL,Link to the logo of the software.,,,
6+
https://schema.org/softwareVersion,softwareVersion,Text,Version of the software instance as used by the developers.,version,definitions.version,The version of the software or dataset.
7+
https://schema.org/programmingLanguage,programmingLanguage,https://schema.org/ComputerLanguage,The computer programming language in which the software is written.,,,
8+
https://schema.org/inLanguage,inLanguage,Text,"Language used within the software (e.g. variables, documentation). Standard: IETF (BCP47)",,,
9+
https://schema.org/abstract,abstract,Text,A one-line summary of what the software does.,,,
10+
https://schema.org/description,description,Text,A description of the software. Max 200 words.,abstract,string,A description of the software or dataset.
11+
https://schema.org/keywords,keywords,Text,Keywords or tags used to describe this software.,keywords,array of string,Keywords that describe the work.
12+
https://schema.org/image,graphicalAbstract,URL,Graphical overview on the functionality of the software.,,,
13+
https://schema.org/applicationCategory,domain,DefinedTerm,Research domain for which the software was written.,,,
14+
https://schema.org/applicationSubCategory,category,DefinedTerm,Research category for which the software was written.,,,
15+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:softwareType,softwareType,DefinedTerm,"Type of software application, e.g. 'script'.",,,
16+
http://www.w3.org/ns/prov#hadRole,roleInResearch,DefinedTerm,Kind of tasks that the software tasks over in research.,,,
17+
https://schema.org/url,url,URL,Homepage of the tool. URL of the item.,url,definitions.url,The URL of a landing page/website for the software or dataset.
18+
https://codemeta.github.io/terms/developmentStatus,developmentStatus,DefinedTerm,"Description of development status, e.g. Active, inactive, suspended. See repostatus.org",,,
19+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:developerStructure,developerStructure,DefinedTerm,Structure of the development team.,,,
20+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:cycleOfUpdates,cycleOfUpdates,DefinedTerm,How often is the software updated?,,,
21+
https://codemeta.github.io/terms/issueTracker,issueTracker,URL,Link to software bug reporting or issue tracking system,,,
22+
https://codemeta.github.io/terms/referencePublication,referencePublication,https://schema.org/ScholarlyArticle,Any academic publication which describes the software.,,,
23+
https://w3id.org/okn/o/sd#citation,preferredCitation,https://schema.org/ScholarlyArticle,"A reference to another work that should be cited instead of the software or dataset itself. Note that the principles of  software citation and data citation require that software should be cited on the same basis as any other research product such as a paper or a book. Adding a different preferred citation may result in a violation of the respective primary principle, Importance, when others cite this work.",preferred-citation,definitions.reference object,"A reference to another work that should be cited instead of the software or dataset itself. Note that the principles of software citation and data citation require that software should be cited on the same basis as any other research product such as a paper or a book. Adding a different preferred citation may result in a violation of the respective primary principle, Importance, when others cite this work."
24+
https://schema.org/license,license,https://schema.org/CreativeWork,A license document that applies to this software.,license,definitions.license-enum,"The SPDX license identifier(s) for the license(s) under which the work is made available. When there are multiple licenses, it is assumed their relationship is OR, not AND."
25+
https://schema.org/copyrightHolder,copyrightHolder,https://schema.org/Organization,The party holding the legal copyright to the CreativeWork.,,,
26+
https://schema.org/isAccessibleForFree,isAccessibleForFree,Boolean,A flag to signal that the software is accessible for free.,,,
27+
https://schema.org/estimatedCost,estimatedCost,https://schema.org/MonetaryAmount,"Typical cost for licensing the software, if available.",,,
28+
https://schema.org/dateCreated,dateCreated,Date,The date on which the software was initially created.,,,
29+
https://schema.org/dateModified,dateModified,Date,The date on which the software was most recently modified.,,,
30+
https://schema.org/contributor,contributor,https://schema.org/Person,A person who has contributed to the software.,,,
31+
https://schema.org/author,author,https://schema.org/Person,A person who has authored the software.,authors,array of definitions.person or definitions.entity,The authors of a software or dataset. (See also How to deal with unknown individual authors?)
32+
https://schema.org/maintainer,maintainer,https://schema.org/Person,Individual responsible for maintaining the software.,contact,array of definitions.person or definitions.entity,"The contact person, group, company, etc. for the software or dataset."
33+
https://schema.org/sourceOrganization,sourceOrganization,https://schema.org/Organization,Institution which developed the software.,,,
34+
https://schema.org/countryOfOrigin ,countryOfOrigin,Text,Country where the software was developed. Country codes as defined by ISO 3166-1 alpha-2 should be used.,definitions.country,enum,The ISO 3166-1 alpha-2 country code for a country.
35+
https://schema.org/funding,funding,https://schema.org/Grant,Information on the funding which was used to develop the software.,,,
36+
https://schema.org/downloadUrl ,downloadURL,URL,"If the file can be downloaded, URL to download the binary.",,,
37+
https://schema.org/codeRepository,codeRepository,URL,"Link to the repository where the un-compiled, human readable code and related code is located (SVN, GitHub, CodePlex, institutional GitLab instance, etc.).",repository,definitions.url,The URL of the software or dataset in a repository/archive (when the repository is neither a source code repository nor a build artifact repository).
38+
https://w3id.org/okn/o/sd#hasDocumentation,documentation,URL,Link to the documentation describing the code and is usful for developers.,,,
39+
readme,readme,URL,Link to software readme file.,,,
40+
buildInstructions,buildInstruction,URL,Link to installation instructions/documentation.,,,
41+
http://ontosoft.org/software#hasSoftwareSupport,supportGiven,Boolean,Is support for the software provided?,,,
42+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:requiredTrainingPeriod,requiredTrainingPeriod,Text,How long would a researcher need to be able to use the software?,,,
43+
https://w3id.org/okn/o/sd#hasExample,example,https://nfdi4energy.github.io/ERSmeta/#ersmeta:Example,Code examples for using the software.,,,
44+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:CommunityInteractions,communityInteractions,https://nfdi4energy.github.io/ERSmeta/#ersmeta:CommunityInteraction,Ways how the software developers interact with the software users (community).,,,
45+
http://ontosoft.org/software#usedInPublication,usedInPublication,https://schema.org/ScholarlyArticle,A publication which uses the software for its research.,,,
46+
http://purl.obolibrary.org/obo/RO_0002234,output,https://nfdi4energy.github.io/ERSmeta/#ersmeta:Interface,"Description of the output functions of the software (e.g., APIs)",,,
47+
http://purl.obolibrary.org/obo/RO_0002233,input,https://nfdi4energy.github.io/ERSmeta/#ersmeta:Interface,"Description of the input functions of the software (e.g., APIs)",,,
48+
http://ontosoft.org/software#hasCompatibleSoftware,compatibleSoftware,https://schema.org/SoftwareApplication,A software which can directly be used with the software without further changes.,,,
49+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:compatibleHardware,compatibleHardware,Text,"Hardware which is compatible to this software (e.g., in labs).",,,
50+
http://ontosoft.org/software#hasRelevantDataSources,compatibleData,https://schema.org/Dataset,Data which is compatible to this software.,,,
51+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:usedData,usedData,https://schema.org/Dataset,Data that is directly used by the provided software,,,
52+
https://w3id.org/okn/o/sd#hasPurpose,purpose,Text,A general goal/purpose of the software.,,,
53+
http://w3id.org/nfdi4ing/metadata4ing#implementsMethod,method,Text,An used method in the software.,,,
54+
http://openenergy-platform.org/ontology/oeo/OEO_00000505,coversSector,DefinedTerm,A supported sector of the software. A sector is generically dependent continuant that is a subdivision of a system.,,,
55+
http://openenergy-platform.org/ontology/oeo/OEO_00000521,technology,DefinedTerm,A supported energy technology of the software.,,,
56+
https://w3id.org/okn/o/sd#hasAssumption,assumption,Text,A required assumption of the software.,,,
57+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:useCase,useCase,Text,"Other supported use case, e.g., a research question which can be answered with the software besides the main goal.",,,
58+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:energyComponent,energyComponent,https://nfdi4energy.github.io/ERSmeta/#ersmeta:EnergyComponent,A component of the energy system included in the software.,,,
59+
http://ontosoft.org/software#hasUseLimitations,limitation,Text,A limitation of the software.,,,
60+
https://w3id.org/okn/o/sd#hasParameter,parameter,Text,A relevant internal parameter of the software.,,,
61+
https://schema.org/featureList,featureList,Text,A feature of the software.,,,
62+
http://openenergy-platform.org/ontology/oeo/OEO_00000516 ,hasTemporalResolution,DefinedTerm,Supported temporal resolution of the software. Temporal resolution is the resolution that indicates time-dependent the level of detail.,,,
63+
https://schema.org/temporalCoverage,temporalCoverage,DefinedTerm,"Time scope the software was developed for (e.g. 2010, 2050).",,,
64+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:stationaryVsTransient,stationaryVsTransient,DefinedTerm,Does the software support stationary or transient effects?,,,
65+
http://openenergy-platform.org/ontology/oeo/OEO_00000515 ,hasSpatialResolution,Text,Supported spatial resolution of the software. Spatial resolution is the resolution that indicates the geographical level of detail.,,,
66+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:Dimensions,dimensions,DefinedTerm,Supported dimensions of the software.,,,
67+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:spatialScope,spatialScope,Text,"Geo scope the software was developed for (e.g., microgrid, Germany, Europe).",,,
68+
https://schema.org/spatialCoverage,spatialCoverage,Text,"Regions covered by the model. Leave this blank if the model and data are not limited to a specific region. Examples include: USA, Canada, Germany, western Europe.",,,
69+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:supportedVoltageLevel,supportedVoltageLevel,DefinedTerm,Supported voltage level of the software.,,,
70+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:UseOptimization,usedOptimization,https://nfdi4energy.github.io/ERSmeta/#ersmeta:OptimizationTool,Information on an optimization included in the software.,,,
71+
https://schema.org/review,review,https://schema.org/Review,A review of the software.,,,
72+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:tests,tests,https://nfdi4energy.github.io/ERSmeta/#ersmeta:TestCollection,Information on the tests of the software.,,,
73+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:Validation,validation,https://nfdi4energy.github.io/ERSmeta/#ersmeta:Validation,Information on validations done for the software. Validation refers to whether the software produces results that correspond to real-world properties.,,,
74+
https://schema.org/availableOnDevice,typicalHardware,DefinedTerm,Typical minimal hardware which is required to run the software.,,,
75+
https://schema.org/timeRequired,typicalExcecutionTime,Number,Typical execution time of the software.,,,
76+
https://schema.org/processorRequirements,processorRequirements,Text,Processor architecture required to run the application (e.g. IA64).,,,
77+
https://schema.org/memoryRequirements,memoryRequirements,Text,Minimum memory requirements.,,,
78+
https://schema.org/storageRequirements,storageRequirements,Text,Storage requirements (free space required).,,,
79+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:realtimeCapability,realtimeCapablity,DefinedTerm,What kind of realtime simulations are supported by the software?,,,
80+
https://nfdi4energy.github.io/ERSmeta/#ersmeta:parallelizationCapability,parallelizationCapability,Boolean,Does the software support parallization?,,,
81+
https://schema.org/targetProduct,targetProduct,Text,"Target programming enviroments to which the code applies. If applies to several versions, just the product name can be used.",,,
82+
https://schema.org/operatingSystem,operatingSystem,DefinedTerm,"Operating systems supported (Windows 7, OSX 10.6, Android 1.6).",,,
83+
https://schema.org/softwareRequirements,softwareRequirements,Text,Required software dependencies.,,,
84+
https://schema.org/fileSize,fileSize,Number,"Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB will be assumed.",,,
85+
https://schema.org/schemaVersion,metadataVersion,Text,The type and version number of the metadata.,,,
86+
https://schema.org/sdLicense,sdLicense,https://schema.org/CreativeWork,The license of the provided metadata.,,,
87+
https://schema.org/sdPublisher,sdPublisher,Text,"Indicates the party responsible for generating and publishing the current structured data markup, typically in cases where the structured data is derived automatically from existing published content but published on a different site. For example, student projects and open data initiatives often re-publish existing content with more explicitly structured metadata. The sdPublisher property helps make such practices more explicit.",,,

0 commit comments

Comments
 (0)