Closed Melissa37 closed 3 years ago
Hi there
It is not defined yet, but it would be the history dates, something like:
xml
<related-object ext-link-type="url" xlink:href="[where the preprint is]">
<date date-type="preprint" iso-8601-date="2016-04-25">
<day>25</day>
<month>04</month>
<year>2016</year>
</date>
</related-object>
Would an <intra_work_relation>
of relationship-type="hasPreprint"
also be a way to do this?
Yes yes yes!!!
Implementing this may be blocked at this time. It would be good if the XML parser parses the history dates in order to get the preprint URL, and that is blocked by settling on the final XML format of the history dates in the article XML. Please see https://elifesciences.atlassian.net/browse/ELPP-3154
Totally agree - no point implementing till we're doing it anyway? Thanks
This may not be blocked anymore, since the parser is now extracting <pub-history>
event data where the preprint values will be. Possible this can be actioned now, agree @Melissa37 ?
Yes, this can be actioned now:
<rel:related_item>
<rel:inter_work_relation identifier-type="uri"
relationship-type="hasPreprint"
>http://www.biorxiv.org/content/early/2017/08/08/173450</rel:inter_work_relation>
</rel:related_item>
</rel:program>
Was that what you'd planned? M
Perfect, can we add this to our to do list?
Thanks for digging this out :-)
Looks like this will be done in March at the latest as it's an eLife priority
Heads up @FAtherden-eLife @gnott
@gnott, Exeter are now saying that they may be able to add preprint dates in the next week or so. I'm skeptical that they'll be able to do so that quickly, so I think we still have some lead time, but it would be great if we're ready to send the relationship onto Crossref when we've added them to the eLife article XML.
We're going to be including the DOI as the link in the XML (since that's what we receive from eJP), so I think an example of what we would be sending is:
<rel:program>
<rel:related_item>
<rel:intra_work_relation identifier-type="doi"
relationship-type="hasPreprint"
>10.1101/173450</rel:intra_work_relation>
</rel:related_item>
</rel:program>
In the example above, intra_work_relation
instead of inter_work_relation
is used. Looking at the Schema, it looks like hasPreprint
is only permitted on the relationship-type
for intra_work_relation
, so I suppose that's the element that we should be using.
Let's talk about this in our next catch-up to make sure that you have everything you need to get started on this.
Would we only add this if the preprint is a DOI, and not add it if the preprint is just a URI?
Since the Crossref generation logic uses an https://github.com/elifesciences/elife-article Article
object as the data, we would want to assign the preprint data to it with an appropriate name and level of detail, and then we should be able to add the tag to the Crossref output. Would we want to name this "preprint", or should we add a more general "history event" type of data to the Article
, considering how history event data may be used in other ways in the future?
Would we only add this if the preprint is a DOI, and not add it if the preprint is just a URI?
Good point. We're currently expecting DOIs (from bioRxiv and medRxiv), but it is feasible that the preprint link is a simple URI (for example arXiv do not yet mint dois for their preprints, although they will in the future).
I think, if it's not too onerous to develop, it would be good if the crossref tool could account for both. Obviously that would require a different identifier-type
.
Would we want to name this "preprint", or should we add a more general "history event" type of data to the Article, considering how history event data may be used in other ways in the future?
I don't have a strong opinion either way. Others may want to denote other versions using intra_work_relation[@relationship-type="hasVersion"]
, or similar, but I don't think we'll be planning to.
After reviewing the Crossref generation code and thinking about a potential strategy in more detail, I'm feeling like we can add only the necessary and most precise data to support this one feature. In particular I'm thinking to
preprint
property to the elife-article Article
object, which intends to hold just one preprintPreprint
object to the elife-article repo, to hold just the basic attributes for now: doi
, uri
preprint
it will create a new Preprint
, set the doi
or uri
, and then add it to the Article
Article.preprint
property, then it will add a <rel:intra_work_relation>
tag as you detailed aboveThe code writing has gone well, PR https://github.com/elifesciences/elife-crossref-xml-generation/pull/100 includes the new feature, which will be released as elifecrossref
version 0.3.0
. I'll continue and attempt to release this for eLife on the production environment.
I think I need to tweak it, because I forgot the <rel:related_item>
tag, just after stamping the new release. Oh well. This was after I had a thought that I didn't check the output to be valid in the Crossref validation tool. So a version 0.3.1
will be coming up shortly.
Just noting that this is working as expected. Querying 69544 at Crossref's API returns the expected result:
"relation": {
"has-preprint": [
{
"id-type": "doi",
"id": "10.1101\/2020.11.21.391326",
"asserted-by": "subject"
}
]
}
Thanks for adding that detail Fred, I had forgotten about this enhancement.
@Melissa37 do you have an example of how this would be in the Crossref deposit? I am looking for history dates or other dates, perhaps in a
<publication_date>
with a different attribute thanmedia_type="online"
? This is excluding any data that would denote this as part of the Crossmark program.