Closed opoudjis closed 1 year ago
(Rows 2 tells us if there is any ambiguity, but unfortunately, there will be. We just have to trust in the first result being the right one.)
@opoudjis do you mean the first result with editors? Why should we take the second row? It has even a different DOI.
We need to be a bit careful about terminology here.
The DOI is an ISO standard with data managed by the DOI Foundation as the registration authority. It “does not” handle any bibliographic data. It only maps a DOI identifier to a URL.
There is another organization called CrossRef that is a registration agent of DOI (they pay DOI) which accepts bibliographic data when resolving DOI. Publishers who pay CrossRef are allowed to attach bibliographic data to map to their DOI identifiers when using the CrossRef system.
Technically, this gem is relaton-crossref, not relaton-doi, because it never actually talks to DOI’s systems.
You want the first result where (a) the container-title of the chapter have matches the title of what you find, and (b) the type is not book-chapter but book.
And of course the DOI is different. The chapter and the book including the chapter are different things, so they get different IDs. You are using chapter data, and supplementing it with information from the book, which is a different item.
You are by default indeed looking for an item with editors. But even if it has authors not editors, it is a match so long as the container-title of the chapter is the title of the item, the item is not a chapter but a book, and the other common attributes, year publisher publisher-location, all match.
Same goes for proceedings paper (however they call it) and proceedings.
If you haven't already done so, find a DOI item from one of each category we recognise, and include it in testing.
@opoudjis fixed, please try v 1.14.1
Almost, but not quite:
The editors you have retrieved, Subotnik, Olszewski-Kubilius and Worrell, are currently appended after the chapter authors. But they are the editors of the book, not the chapter. So they need to go inside /relation/bibitem:
<relation type="includedIn">
<bibitem>
<title format="text/plain">Psychology of high performance: Developing human potential into domain-specific talent.</title>
<contributor>
<role type="editor"/>
<person>
<name>
<forename language="en" script="Latn">Rena F.</forename>
<surname language="en" script="Latn">Subotnik</surname>
</name>
</person>
</contributor>
<contributor>
<role type="editor"/>
<person>
<name>
<forename language="en" script="Latn">Paula</forename>
<surname language="en" script="Latn">Olszewski-Kubilius</surname>
</name>
</person>
</contributor>
<contributor>
<role type="editor"/>
<person>
<name>
<forename language="en" script="Latn">Frank C.</forename>
<surname language="en" script="Latn">Worrell</surname>
</name>
</person>
</contributor>
</bibitem>
</relation>
OK, one more thing.
Books can have series. (I will need to find if Crossref models those at all.)
Chapters are included in books.
Articles are included in journals. BUT, INSTEAD, we model articles as being in series. That's a convention we're continuing with.
However, we do NOT model chapters as belonging in series.
So:
doi:10.1037/0000120-016
The following is its source JSON:
The following is the generated Relaton XML:
Again, we are missing host item information, and extent:
We have an additional problem:
inbook, inproceedings, incollection works are expected to have an editor of the host item. (Only rarely does the host item have an author instead of an editor.) DOI, surprisingly, does not supply it: it only supplies the host item title. The actual citation of the chapter in APA style is:
In order to get the names of Subotnik, Olszewski-Kubilius and Worrell, we actually have to look up the matching book.
To my astonishment, CrossRef does not provide a link from the contained item to its host item. So you are going to have to do a search; and per https://www.crossref.org/documentation/retrieve-metadata/rest-api/tips-for-using-the-crossref-rest-api/ , they just want you to do a search using query.bibliographic . Include in the search: container-title, publisher, publisher-location, year, comma delimited. So:
(Rows 2 tells us if there is any ambiguity, but unfortunately, there will be. We just have to trust in the first result being the right one.)
That query retrieves
Which includes the editors we were looking for.
Yes, this is complex. But it is non-negotiable. We cannot exclude editor names from book chapters: a citation of this work which does not name Subotnik, Olszewski-Kubilius, & Worrell is simply incorrect.