Skip to content

Commit

Permalink
First Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Ramy committed May 21, 2024
0 parents commit 8224c09
Show file tree
Hide file tree
Showing 15 changed files with 4,470 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/vendor
.idea/

155 changes: 155 additions & 0 deletions CodeMeta/codeMeta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"author": [
{
"@type": "Person",
"@id": "https://orcid.org/8504-3549",
"email": "[email protected]",
"givenName": "Ludwig",
"familyName": "Beethoven",
"affiliation": {
"@type": "Organization",
"name": "MIT"
}
},
{
"@type": "Person",
"@id": "https://orcid.org/1825-0097",
"email": "[email protected]",
"givenName": "Antonio",
"familyName": "Vivaldi",
"affiliation": {
"@type": "Organization",
"name": "Nasa"
}
}
],
"dateCreated": "2023-06-06",
"description": "Software for Numerical Computation",
"name": "Matlab Reinforcement Learning Toolbox",
"license": "https://spdx.org/licenses/blessing.html",
"programmingLanguage": [
"php",
"c++"
],
"downloadUrl": "https://download.com",
"releaseNotes": "A release for Deep Reinforcement Learning",
"version": "1.5.1",
"relatedLink": [
"https://relatedLink1.com",
"https://relatedLink2.com"
],
"funder": [
{
"@type": "Organization",
"@id": "https://cern1.ch",
"funding": "EU-Horizon",
"name": "LZI-Funded"
},
{
"@type": "Organization",
"@id": "https://cern2.ch",
"funding": "NASA 2023",
"name": "MIT"
}
],
"isPartOf": "https://nodejs.org",
"hasPart": "https://nextjs.org",
"codeRepository": "https://github.com/openssl/openssl",
"datePublished": "2023-06-07",
"identifier": "http://dx.doi.org/10.1093/ajae/aaq063",
"dateModified": "2023-06-30",
"buildInstructions": "https://build-instructions.com",
"softwareVersion": "1.5",
"publisher": {
"@type": "Organization",
"name": "Schloss Dagstuhl - Leibniz-Zentrum für Informatik",
"url": "https://dagstuhl.com"
},
"readme": "https://readMe-file-url.co.uk",
"installUrl": "https://uk.mathworks.com/products/reinforcement-learning",
"contributor": [
{
"@type": "Person",
"@id": "https://orcid.org/1825-0097",
"givenName": "Johann",
"familyName": "Straus",
"affiliation": {
"@type": "Organization",
"name": "Vienna"
},
"email": "[email protected]"
},
{
"@type": "Person",
"givenName": "George",
"familyName": "Handel",
"email": "[email protected]",
"affiliation": {
"@type": "Organization",
"name": "London"
},
"@id": "https://orcid.org/1925-0091"
}
],
"developmentStatus": "active",
"applicationCategory": [
"Astronomy",
"Machine Learning"
],
"keywords": [
"Andromeda",
"Milky way",
"Cyber Physical Systems"
],
"runtimePlatform": [
".Net",
"JVM",
"Cygwin"
],
"operatingSystem": [
"Debian",
"Windows"
],
"fileFormat": [
"application/sql",
"application/mathematica"
],
"fileSize": [
"1.5GB",
"1.7KB"
],
"encoding": [
"DataDownload",
"Media"
],
"softwareRequirements": [
"Node.js 14.0.1",
"python 3.7"
],
"referencePublication": [
"https://doi.org/10.1016/j.procs.2012.04.202",
"https://doi.org/10.1016/j.procs.2012.04.203"
],
"issueTracker": "https://github.com/RamyTestAccount/D2",
"contIntegration": "https://docs.google.com/spreadsheets/d/1-IAI1L09-n",
"maintainer": {
"@type": "Person",
"@id": "https://orcid.org/1824-0098",
"familyName": "Tchaikovsky",
"givenName": "Pyotr",
"email": "[email protected]",
"affiliation": {
"@type": "Organization",
"name": "Saint Petersburg"
}
},
"storageRequirements": "12",
"memoryRequirements": [
"4",
"6"
],
"processorRequirements": "MIPS",
"softwareHelp": "https://software.help.com"
}
159 changes: 159 additions & 0 deletions CodeMeta/conversionsValidations.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
<?php

/**
* @Author: Ramy-Badr-Ahmed
* @Desc: Codemeta conversions
* @Repo: https://github.com/dagstuhl-publishing/beta-codemeta-crosswalk
*/

return [
"rules" => [
"bibTex" => [
'name' => 'required',
'identifier' => 'required',
'author.*.givenName' => 'required_with:author.*.familyName',
'author.*.familyName' => 'required_with:author.*.givenName',
],
"bibLaTex" => [
'name' => 'required',
'dateCreated' => 'required',
'dateModified' => 'required_with:version',
'publisher.url' => 'required',
'identifier' => 'required',
'author.*.givenName' => 'required',
'author.*.familyName' => 'required',
],
"dataCite" => [
'name' => 'required',
'datePublished' => 'required',
'publisher.name' => 'required',
'identifier' => 'required',
'funder.name' => 'required_with:funder.@id',
'funder.*.name' => 'required_with:funder.*.@id',
'funder.@id' => 'required_with:funder.name',
'funder.*.@id' => 'required_with:funder.*.name',
'author.*.givenName' => 'required',
'author.*.familyName' => 'required',
'contributor.*.givenName' => 'required_with:contributor.*.familyName',
'contributor.*.familyName' => 'required_with:contributor.*.givenName',
'contributor.givenName' => 'required_with:contributor.familyName',
'contributor.familyName' => 'required_with:contributor.givenName',
],
"codeMeta" => [
'publisher' => 'string|required_with:url',
'url' => 'url|nullable',
'downloadUrl' => 'url|nullable',
'installUrl' => 'url|nullable',
'buildInstructions' => 'url|nullable',
'isPartOf' => 'url|nullable',
'hasPart' => 'url|nullable',
'readme' => 'url|nullable',
'codeRepository' => 'url|nullable',
'contIntegration' => 'url|nullable',
'issueTracker' => 'url|nullable',
'referencePublication' => 'url|nullable',
'funder.name' => 'string|required_with:funder.@id,funder.funding',
'funder.*.name' => 'string|required_with:funder.*.@id,funder.*.funding',
'funder.@id' => 'url|nullable',
'funder.*.@id' => 'url|nullable',
'author.*.givenName' => 'string|required',
'author.*.email' => 'email|nullable',
'author.*.@id' => 'url|nullable',
'contributor.*.email' => 'email|nullable',
'contributor.email' => 'email|nullable',
'contributor.*.@id' => 'url|nullable',
'contributor.@id' => 'url|nullable',
'maintainer.*.email' => 'email|nullable',
'maintainer.email' => 'email|nullable',
'maintainer.*.@id' => 'url|nullable',
'maintainer.@id' => 'url|nullable',
]
],
"messages" => [
"bibTex" => [
'name.required' => 'bibTex: The :attribute cannot be empty',
'identifier.required' => 'bibTex: The :attribute cannot be empty',
'author.*.givenName.required_with' => 'bibTex: @:position firstName is required with lastName',
'author.*.familyName.required_with' => 'bibTex: @:position lastName is required with firstName'
],
"bibLaTex" => [
'name.required' => 'bibLaTex: The :attribute cannot be empty',
'dateCreated.required' => 'bibLaTex: Creation date cannot be empty',
'dateModified.required_with' => 'bibLaTex: :attribute cannot be empty with non-empty version',
'publisher.url.required' => 'bibLaTex: Publication URL cannot be empty',
'identifier.required' => 'bibLaTex: The :attribute cannot be empty',
'author.*.givenName.required' => 'bibLaTex: Author :position firstName cannot be empty',
'author.*.familyName.required' => 'bibLaTex: Author :position lastName cannot be empty'
],
"dataCite" => [
'name.required' => 'dataCite: The :attribute cannot be empty',
'datePublished.required' => 'dataCite: Publication date cannot be empty',
'publisher.name.required' => 'dataCite: Publisher cannot be empty',
'identifier.required' => 'dataCite: The :attribute cannot be empty',
'funder.*.name.required_with' => "dataCite :attribute cannot be empty with non-empty URI",
'funder.name.required_with' => "dataCite :attribute cannot be empty with non-empty URI",
'funder.*[email protected]_with' => "dataCite: :attribute cannot be empty with non-empty Funder",
'[email protected]_with' => "dataCite: :attribute cannot be empty with non-empty Funder",
'author.*.givenName.required' => 'dataCite: Author :position firstName cannot be empty',
'author.*.familyName.required' => 'dataCite: Author :position lastName cannot be empty',
'contributor.*.givenName.required_with' => 'dataCite: Contributor :position firstName cannot be empty with non-empty lastName',
'contributor.*.familyName.required_with' => 'dataCite: Contributor :position lastName cannot be empty with non-empty firstName',
'contributor.givenName.required_with' => 'dataCite: Contributor firstName cannot be empty with non-empty lastName',
'contributor.familyName.required_with' => 'dataCite: Contributor lastName cannot be empty with non-empty firstName',
],
"codeMeta" => [
'publisher.required_with' => 'codeMeta: :attribute must be provided if its URL is',
'url.url' => 'codeMeta: Please provide a valid URL',
'installUrl.url' => 'codeMeta: Please provide a valid URL',
'downloadUrl.url' => 'codeMeta: Please provide a valid URL',
'buildInstructions.url' => 'codeMeta: Please provide a valid URL',
'isPartOf.url' => 'codeMeta: Please provide a valid URL',
'hasPart.url' => 'codeMeta: Please provide a valid URL',
'readme.url' => 'codeMeta: Please provide a valid URL',
'codeRepository.url' => 'codeMeta: Please provide a valid URL',
'contIntegration.url' => 'codeMeta: Please provide a valid URL',
'issueTracker.url' => 'codeMeta: Please provide a valid URL',
'referencePublication.url' => 'codeMeta: Please provide a valid URL',
'funder.name.required_with' => "codeMeta: :attribute cannot be empty with non-empty URI/Funding",
'funder.*.name.required_with' => "codeMeta: :attribute cannot be empty with non-empty URI/Funding",
'funder.*[email protected]' => "codeMeta: Funder :position URL is invalid",
'[email protected]' => "codeMeta: Funder URL is invalid",
'author.*.givenName.required' => "codeMeta: Author :position name cannot be empty",
'author.*.email.email' => "codeMeta: Author :position email is invalid",
'author.*[email protected]' => "codeMeta: Author :position URL is invalid",
'contributor.*.email.email' => "codeMeta: Contributor :position email is invalid",
'contributor.email.email' => "codeMeta: Contributor :position email is invalid",
'contributor.*[email protected]' => "codeMeta: Contributor :position URL is invalid",
'[email protected]' => "codeMeta: Contributor :position URL is invalid",
'maintainer.*.email.email' => "codeMeta: Maintainer :position email is invalid",
'maintainer.email.email' => "codeMeta: Maintainer :position email is invalid",
'maintainer.*[email protected]' => "codeMeta: Maintainer :position URL is invalid",
'[email protected]' => "codeMeta: Maintainer :position URL is invalid",
]
],
"attributes" => [
"bibTex" => [
'name' => 'SW Name used for bibTex key',
'identifier' => 'identifier used for bibTex key'
],
"bibLaTex" => [
'name' => 'SW Name used for bibLaTex key',
'identifier' => 'identifier used for bibLaTex key',
'dateModified' => 'Release Date'
],
"dataCite" => [
'name' => 'SW Name used for dataCite titles',
'identifier' => 'identifier used for dataCite identifiers',
'funder.*.name' => 'Funder :position',
'funder.name' => 'Funder Name',
'funder.*.@id' => 'Funder :position URI',
'funder.@id' => 'Funder URI',
],
"codeMeta" => [
'publisher' => 'Publisher name',
'funder.*.name' => 'Funder :position',
'funder.name' => 'Funder Name',
]
]
];

Loading

0 comments on commit 8224c09

Please sign in to comment.