SoFairOA / documentation

https://sofairoa.github.io/documentation/
Creative Commons Attribution 4.0 International
0 stars 0 forks source link

Step 6: Trigger event for software archive #18

Closed mdocekal closed 1 month ago

mdocekal commented 1 month ago

The documentation says:

Once validated, the repository issues an asset registration request to Software Heritage.

Are we only interested in software mentions of software created by authors of a paper (related to the issue https://github.com/SoFairOA/documentation/issues/17)? Or do we need to do that to get an up-to-date version? If this is the case we will probably never be able to link that to the actual version of software used in a paper.

moranegg commented 1 month ago

Asset registration request is the term used in the SoFAIR proposal, including:

  1. the archival of the content => save code now in SWH
  2. depositing metadata => link between code repository and article saying this origin was mentioned in this paper If other metadata is available, this can be added to this metadata deposit

The metadata deposit looks like this for a software mention for using the sw:

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
      xmlns:codemeta="https://doi.org/10.5063/SCHEMA/CODEMETA-2.0"
      xmlns:schema="http://schema.org/"
      xmlns:swh="https://www.softwareheritage.org/schema/2018/deposit">
  <author> 
    <name>HAL</name>
    <email>hal@ccsd.cnrs.fr</email>
  </author>
  <codemeta:name>The assignment problem</codemeta:name>
 <codemeta:version> v1.1.1 </codemeta:version>
 <schema:usedBy> https://10.100/abc.123 </schema:usedBy>

  <swh:deposit>
    <swh:reference>
      <swh:origin url='https://github.com/user/repo'/>  => CODE REPOSITORY
    <swh:metadata-provenance>
    </swh:reference>
     <schema:url>LINK TO OA RECORD</schema:url>
    </swh:metadata-provenance>
  </swh:deposit>
</entry>

The metadata deposit looks like this for a software mention for creating the sw: instead of:

 <schema:usedBy> https://10.100/abc.123 </schema:usedBy>

you can use:

 <codemeta:referencePublication>DOI LINK</codemeta:referencePublication>
mdocekal commented 1 month ago

Thank you for your answer. I just want to make sure that I understand you correctly. The metadata are not associated only with certain versions of a code repository, but they are associated with the repository as a whole. This means that we are not saying that this paper is using this given version of a repository, but just this paper is using this repository. If this is the case, then all is clear to me.

moranegg commented 1 month ago

You can say this on an object called an origin which is the url of the code repository. If you have a version mentioned in the article, you can search for the appropriate SWHID and deposit metadata referencing this specific version.

In both cases you can add a metadata stating the version, the difference would be to what object this metadata is attacjed.

I personally prefer attaching the metadata to the origin using the code repository url and adding a metadata property (if available) on the version.

Here is the code for doing that on a SWHID:

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
      xmlns:codemeta="https://doi.org/10.5063/SCHEMA/CODEMETA-2.0"
      xmlns:schema="http://schema.org/"
      xmlns:swh="https://www.softwareheritage.org/schema/2018/deposit">
  <author> 
    <name>HAL</name>
    <email>hal@ccsd.cnrs.fr</email>
  </author>
  <codemeta:name>The assignment problem</codemeta:name>
 <codemeta:version> v1.1.1 </codemeta:version>
 <schema:usedBy> https://10.100/abc.123 </schema:usedBy>
<swh:deposit>
  <swh:reference>
    <swh:object swhid="swh:1:dir:31b5c8cc985d190b5a7ef4878128ebfdc2358f49;origin=https://hal.archives-ouvertes.fr/hal-01243573;visit=swh:1:snp:4fc1e36fca86b2070204bedd51106014a614f321;anchor=swh:1:rev:9c5de20cfb54682370a398fcc733e829903c8cba;path=/moranegg-AffectationRO-df7f68b/" />
  </swh:reference>
     <schema:url>LINK TO OA RECORD</schema:url>
    </swh:metadata-provenance>
  </swh:deposit>
</entry>
mdocekal commented 1 month ago

Thank you! I'm closing this issue.