Bibliontology Journal Article import does not properly parse journal title
I am generating Bibliontology via unAPI for journal articles.
Example page here:
http://pubs-test.er.usgs.gov/publication/70141759
Example unapi call here:
http://pubs-test.er.usgs.gov/unapi?id=http://pubs.er.usgs.gov/publication/70141759&format=rdf_bibliontology
The Bibliontology RDF document that the site generates matches what Zotero's Biblioontology output generates.
The issue that I am running into is that the Journal title is not mapped correctly, and on import, the paper's title is imported instead of the Journal's title.
This can be replicated in Scaffold as well- here is the relevant snippet:
...
"title": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
...
"publicationTitle": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "code": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "reporter": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "publisher": "Inter-Research"
}
17:12:17 Translation successful
It looks like the issn mapping is also not quite working.
Example page here:
http://pubs-test.er.usgs.gov/publication/70141759
Example unapi call here:
http://pubs-test.er.usgs.gov/unapi?id=http://pubs.er.usgs.gov/publication/70141759&format=rdf_bibliontology
The Bibliontology RDF document that the site generates matches what Zotero's Biblioontology output generates.
The issue that I am running into is that the Journal title is not mapped correctly, and on import, the paper's title is imported instead of the Journal's title.
This can be replicated in Scaffold as well- here is the relevant snippet:
...
"title": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
...
"publicationTitle": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "code": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "reporter": "Chilled frogs are hot: hibernation and reproduction of the Endangered mountain yellow-legged frog <i>Rana muscosa</i>"
- "publisher": "Inter-Research"
}
17:12:17 Translation successful
It looks like the issn mapping is also not quite working.
It is definitely something up with lines 212 and 213 of the translator
"publicationTitle": [CONTAINER, n.dcterms+"title"],
"ISSN": [CONTAINER, n.bibo+"issn"],
CONTAINER is not the right reference for the journal title (or issn) which is nested pretty deep within the RDF structure. If I switch container to SUBCONTAINER I can get it to parse the <dcterms:isPartOf> section, but I'm not quite grokking how to construct a bracketed statement that gets me to the right level.
<bibo:AcademicArticle>
<dcterms:isPartOf>
<bibo:Issue>
<bibo:Journal>
<dcterms:title>Endangered Species Research</dcterms:title>
<bibo:issn></bibo:issn>
</bibo:Journal>
</bibo:Issue>
</dcterms:isPartOf>
</bibo:AcademicArticle>
If I switch CONTAINER to SUBCONTAINER I can get it to parse the <dcterms:isPartOf> section, but I'm not quite grokking how to construct a bracketed statement that gets me to the right level of the rdf.
https://groups.google.com/forum/#!searchin/zotero-dev/bibliontology/zotero-dev/dYm5FXF5MfU/Dlw8Y80TD3UJ
The Bibliontology import translator does not use the RDF translator. If I should be changing the data on export, that's fine too- I'm doing this just for Zotero so I can set the extra field, etc- but it does seem like the Bibliontology import and export data models should match.
It looks like, then, using Bibliontology RDF is not a valid option if I want to control the data fully in Zotero, since things are pretty wonky, and the previous issues with books, etc did not appear to be fully resolved either. I will look into using MODs (which seems better tested and a little easier to make sense of as someone who is not a javascript pro) before I go down the road of an actual site-specific translator.
It also seems that another option could be to just match the Zotero json data model exactly using unapi and just "translate" that.
I'll try to take a look at Bibliontology soon-ish. aurimas is right that it's a pest, but it's also good practice. Remind me if you haven't heard back in 10 days.
Thanks,
Jim
<bibo:Issue>
<bibo:volume>27</bibo:volume>
<bibo:issue>1</bibo:issue>
<dcterms:date>2015</dcterms:date>
<bibo:Journal>
<dcterms:title>Endangered Species Research</dcterms:title>
Shouldn't you have here another isPartOf relation, i.e. bibo:Issue dcterms:isPartOf bibo:Journal?
It appears that you are, in fact, correct. I could have sworn that I matched the Zotero Output exactly, but it appears that I did not. I will get the fix in on my end today and see if that fixes things- it almost certainly will, based on some testing with Scaffold. I will get back to you all shortly, and thanks for the critical eye.