Include schema:creditText
There is a referencePublication in CodeMeta, which is great. However, schema.org also defines schema:creditText, which is defined as Text that can be used to credit person(s) and/or organization(s) associated with a published Creative Work.
I think this should be listed among the supported properties in CodeMeta, to indicate how to precisely credit the citation text (e.g., bibtext, or APA style)
This is inspired by @rebeccaringuette questions on science on schema.org
Thanks, Daniel. I should note that FORCE11 specifically instructs not to cite a publication in place of the software, and to cite the specific version of the software when it is used in the research (as opposed to a concept DOI). Based on this, I suggest codemeta pipes the version-specific DOI plus the DOI for the reference publication into this field. Perhaps there is also motivation to include the concept DOI at the end of this list? There are so many different citation formats, so codemeta could either just provide the DOIs and the user can use existing infrastructure to create the citation in the right format (e.g. per journal guidance), or we could provide correct BibTex for each as the (hopefully) most interoperable format across the sciences. The second option likely required the addition of a quick DataCite API call to the code, but maybe just including the DOIs is enough?
But if we include a set of DOI, then it's not a Text. The intention of this is to include the full citation to the software, whether it includes a DOI or a website or a deposit. I like for example how CFF does it which is something like "if you want to cite the software, do the corresponding DOI of the version, but also publication X". This is something similar to what you propose.
I think this needs further discussion and examples. We should align with FORCE11 as well.
Good points. For Schema.org metadata, it seems the priority is on machine-actionable items, and DOIs might be a good choice from that perspective. You can include a list of text items for credit text, presumably to include citations / DOIs for multiple items. As an example, for HSSI we are including both the reference publication DOI and the version-specific DOI and using external services to format the citation:
"creditText": ["https://doi.org/10.3847/1538-4357/ab4f7a", "https://doi.org/10.5281/zenodo.14292170"],
In our system, the reference publication DOI will not change (the first one), but the version-specific DOI (the zenodo one) will be updated with each new version, likely through automated calls to DataCite using the concept DOI (stored as the "@id" value). Then, we will use the DataCite citation formatter to offer our users a reasonable number of citation formats on the landing page for the software item. This way, we don't have to check by hand that the citation for the DOI is formatted correctly, we just need to programmatically check that the item entered is a working DOI. An additional benefit for this approach is that we can offer a large range of citation formats for our users that are automatically generated via a trusted service instead of manually creating those alternate citation formats ourselves. We expect this to decrease the amount of curation needed for each record.
thanks @rebeccaringuette, I understand better now where you are coming from. I agree that a property is needed to provide credit for a software resource. But here, I think you may be overloading the interpretation of "creditText". You provide a list of identifiers, but not the Text that can be used to credit person(s) and/or organization(s) associated with a published Creative Work. That text would be in your example something like If you would like to acknowledge this work please cite the paper https://doi.org/10.3847/1538-4357/ab4f7a and the corresponding software version https://doi.org/10.5281/zenodo.14292170 (or similar, no?). Or at least this is how I interpret that property. I have not found other examples on schema.org, so maybe we should ask them for guidance? I see this schema.org property comes from the context of licenses (https://github.com/schemaorg/schemaorg/issues/2659). Maybe we are not even using it correctly.
referencePublication would not work either, since the second link is not a publication, but a software version. Plus there are many citation formats, as you indicated in your comment. I have seen other platforms tracking the citation text and the format with a key value pair.
@rebeccaringuette You can use the identifier property. Citation relies on DOIs because they are identifiers so that fits.
@dgarijo Yeah, I am not sure I'm interpreting it correctly either, but I think I have at least the basic idea correct. @progval We are already using the identifier property for the version-specific DOI and "@id" for the concept DOI. The DOI for the reference publication is not the concept DOI or version-specific DOI for the software, so it doesn't seem to belong in identifier. Maybe I'm wrong? You can have a list of identifier objects.... DataCite doesn't yet have a "citeWith" relationType in either AlternateIdentifier or RelatedIdentifier, so I'm not sure where to put this other than creditText (excerpt below).
{
"@context": {
"@vocab": "https://schema.org/",
"codemeta": "https://w3id.org/codemeta/3.0"
},
"@id": "https://doi.org/10.5281/zenodo.591887",
"@type": ["SoftwareSourceCode", "SoftwareApplication"],
"creditText": ["https://doi.org/10.3847/1538-4357/ab4f7a", "https://doi.org/10.5281/zenodo.14292170"],
"identifier": {
"@type": "PropertyValue",
"@id": "https://doi.org/10.5281/zenodo.14292170",
"name": "DOI: 10.5281/zenodo.14292170",
"propertyID": "https://registry.identifiers.org/registry/doi",
"value": "doi:10.5281/zenodo.14292170",
"url": "https://doi.org/10.5281/zenodo.14292170"
}
}
Any thoughts? Maybe PROV-O has something useful here? I don't see anything obvious, but I'm a beginner on that. Maybe we use creditText for the text as Daniel suggested and add the DOI of the reference publication in the identifier section? However, we would have to do both so that users know what identifiers to cite, especially when other identifiers are included in the identifier list (e.g., SWH, handles, etc). Maybe something as simple as adding a standard phrasing in the description field of each identifier object to be used for citation and using those description labels in the creditText?
{
"@context": {
"@vocab": "https://schema.org/",
"codemeta": "https://w3id.org/codemeta/3.0"
},
"@id": "https://doi.org/10.5281/zenodo.591887",
"@type": ["SoftwareSourceCode", "SoftwareApplication"],
"creditText": ["Please cite the version-specific DOI and the reference publication."],
"identifier": {
"@list": [{
"@type": "PropertyValue",
"@id": "https://doi.org/10.5281/zenodo.14292170",
"description": "version-specific DOI",
"name": "DOI: 10.5281/zenodo.14292170",
"propertyID": "https://registry.identifiers.org/registry/doi",
"value": "doi:10.5281/zenodo.14292170",
"url": "https://doi.org/10.5281/zenodo.14292170"
},
{
"@type": "PropertyValue",
"@id": "https://doi.org/10.3847/1538-4357/ab4f7a",
"description": "reference publication",
"name": "DOI: 10.3847/1538-4357/ab4f7a",
"propertyID": "https://registry.identifiers.org/registry/doi",
"value": "doi:10.3847/1538-4357/ab4f7a",
"url": "https://doi.org/10.3847/1538-4357/ab4f7a"
},
{
"@type": "PropertyValue",
"@id": "https://archive.softwareheritage.org/swh:1:dir:4bf5192c594602f675c12534f2b6d0c57177ac60",
"name": "SWH: swh:1:dir:4bf5192c594602f675c12534f2b6d0c57177ac60",
"propertyID": "https://registry.identifiers.org/registry/swh",
"value": "swh:swh:1:dir:4bf5192c594602f675c12534f2b6d0c57177ac60",
"url": "https://archive.softwareheritage.org/swh:1:dir:4bf5192c594602f675c12534f2b6d0c57177ac60"
}
]}
}
@progval We are already using the identifier property for the version-specific DOI and "@id" for the concept DOI. The DOI for the reference publication is not the concept DOI or version-specific DOI for the software, so it doesn't seem to belong in identifier. Maybe I'm wrong? You can have a list of identifier objects....
I meant you could use the identifier property for DOI(s) of the software. You said you don't want to cite the publication so you want to cite the software directly through its own DOI, right?
Not quite, so apologies for the poor wording. We want users to cite both the DOI of the reference publication and the DOI for the specific version they used and need to communicate that.