[Context] Add v3.0 properties and context identifier
Closed this issue · 11 comments
Propose the possibility to choose the CodeMeta version and updating with the CodeMeta v3.0 release.
This includes:
-
Add at the top of the interface a multi-options button with v2 and v3 that will affect the generation with the correct vocabulary identifier
-
In the v3.0 view add the new properties of the CodeMeta v3.0 and the semantic changes, which include:
- Rename codemeta:contIntegration to codemeta:continuousIntegration
- Rename codemeta:embargoDate to codemeta:embargoEndDate
- Add codemeta:hasSourceCode
- Add codemeta:isSourceCodeOf
- Remove type restriction to schema:releaseNote
- Add schema:Role, schema:startDate, schema:endDate, and schema:roleName
- Added schema:Review, schema:review, schema:reviewAspect, and schema:reviewBody
-
Validate the file with the correct context (v2.0 or v3.0)
-
Create codemeta.json files with v3.0 context to test
Recommend awaiting for clarifications codemeta/codemeta#236 (comment) before releasing with the new context.
Hi @moranegg, how should we generate codemeta:hasSourceCode
and codemeta:isSourceCodeOf
for codemeta v3?
Based on this, I think hasSourceCode
is supposed to be used with only SoftwareApplication
. However, our generator is only supposed to work for SoftwareSourceCode
.
So I think we just need to take care of isSourceCodeOf
term. But there are no examples in the repository.
Is this sufficient? Or do we need more fields like the hasSourceCode
example?
"isSourceCodeOf": {
"id": "https://codemeta.github.io",
"type": "SoftwareApplication"
}
For the roles, we need author id to connect them with the respective author. But the generator doesn't auto-generate an author id in case author URI isn't provided by the user. What should be done for such cases?
{
"@type": "Role",
"roleName": "Coding",
"startDate": "2000",
"endDate": "2002",
"author": {
"@id": "http://example.org/~jdupont" // not generated at the moment
}
},
Should we generate something like https://example.com/firstName.lastName?email=foo@xyz.com
Remove type restriction to schema:releaseNote
Not required for codemeta generator. It's validation logic is already allowing URLs as well as normal text
Add schema:Review, schema:review, schema:reviewAspect, and schema:reviewBody
Are we sure that we want this in the codemeta generator? Manually entering all this data will be too tedious for the end user and just mentioning a few reviews doesn't add much value.
Hi @stain, sure that the work here is dependent on the context value.
I'll update the issue when we identify the v3.0 context.
Hi @KShivendu, good catch! for the hasSourceCode
property, an option is to write a text at the start of the generator specifying that this tool is generating codemeta.json files for SoftwareSourceCode
. This option is an MVP option.
In a later iteration we could also provide the type SoftwareApplication
as a possibility (like the choice between v2 and v3 which will open up the hasSourceCodeProperty
.
At this stage, the focus is to have two correct CodeMeta files for v2.0 and v3.0 for a SoftwareSourceCode
type.
Is the @id in the author
property mandatory?
-edit-
Is generating something like https://example.com/firstName.lastName?email=foo@xyz.com
, common practice with schema.org?
Concerning the review
, this property is planned to be used for publishers and editors that want to review code for a academic purposes, it's a different use case from the code review case where there might be many review and very tedious to add in a codemeta.json file :-)
To clarify this use case, I suggest creating a box with the title Editorial review
and add into this box also other properties that are related like editor
and referencePublication
(which is now in a generic additional info box).
Should we generate something like
https://example.com/firstName.lastName?email=foo@xyz.com
No, use blank node identifiers
Looks like it does, thanks