zotero / translators

Zotero Translators
http://www.zotero.org/support/dev/translators
1.28k stars 756 forks source link

New Translator for German National Library #798

Closed zuphilip closed 9 years ago

zuphilip commented 9 years ago

Create a new translator for the catalogue of the German national library (DNB) using the new library format BIBFRAME (improving quality of the general COinS translator).

(connected to #795, #794.)

Example http://d-nb.info/1017311080 with BIBFRAME metadata http://d-nb.info/1017311080/about/bibframe

For information about BIBFRAME:

aurimasv commented 9 years ago

Is this meant to be an ISBN search translator? Do you have sample ISBNs if that's the case (those that would not be found by other ISBN search translators)?

adam3smith commented 9 years ago

I think this is meant as a web translator for the links he has above (and similar). It's roughly the German equivalent of the LoC, unfortunately a lot more miserly with their metadata. It's connected to the COinS translator because that's what it currently uses (with not-so-great results).

There is a German meta-catalog (GBV) that has an SRU API that I'd like to include in ISBN requests, mainly because Worldcate data is so mediocre.

zuphilip commented 9 years ago

Yes, I was thinking of an web translator. I guess an webtranslator will call the rdf translator, which has then to understand the bibframe rdf.

Side remarks:

[DNB is] unfortunately a lot more miserly with their metadata

Well, I would say it is different... That the marcxml is not available for free for everybody is maybe a legacy issue. On the other hand you can download the linked data of everything as data dumps.

There is a German meta-catalog (GBV) that has an SRU API that I'd like to include in ISBN requests, mainly because Worldcate data is so mediocre.

Yes, I think we have speak about this somewhere else. Let me ping to my colleague (@nichtich) which maintains these services, mainly for informing him, but also any other suggestions or comments are welcome.

zuphilip commented 9 years ago

I made some initial tests with the BIBFRAME data (some demonstration data sets are available at the Library of Congress). My plan would be to create

Does this sound reasonable? I have seen that there exists several RDF translators (Bibliontolgy RDF, Zotero RDF, Unqualified Dublin Core RDF, and just RDF). I guess that technically a seperate translator is needed if we want also to export. Is there any other "rule" when to enlarge the general RDF translator and when to make a seperate translator? Because the BIBFRAME model distinguish clearly between work and instance, I feel that it make anyway sense to have a seperate translator (moreover this is easier for me to achive, I guess).

Can someone point me to the implementations for the functions Zotero.RDF.*?

zuphilip commented 9 years ago

@aurimasv : Could check if my plan sounds reasonable here?

adam3smith commented 9 years ago

Definitely the way to go and I think having Bibframe would be great. You´d definitely have a dedicate export translator (how else would you even select it). I´d tend to say this is sufficiently distinct to also write a dedicated import translator rather than trying to cram this into existing RDF, but haven´t looked at it in close detail. A major reason for combining is if we expect to find vocabularies co-occuring (as is the case with Zotero RDF and Bibliontology). That wouldn´t seem to be the case here. Will try to get you the link the the Zotero.RDF code tonight unless aurimas gets there before me.

aurimasv commented 9 years ago

a new import translator for BIBFRAME (rdf/xml) a new web translator for DNB calling the BIBFRAME translator

Do you expect BIBFRAME RDF to be used across multiple websites that could not share the same web translator? (i.e. websites require completely different handling to get to the RDF)

(maybe try to make it even a import and export translator)

I'm on the fence about supporting this for import (if you were to implement this as import translator and web translator, I would say detectImport should always return false so we don't have to worry about it breaking imports), but I don't think there's much reason to support this as an export format.

I have seen that there exists several RDF translators (Bibliontolgy RDF, Zotero RDF, Unqualified Dublin Core RDF, and just RDF).

All of those are probably going to be merged into one or two translators at some point, since it creates unnecessary confusion, particularly on export.

Is there any other "rule" when to enlarge the general RDF translator and when to make a seperate translator?

In this case, there doesn't seem much similarity between what we currently support in RDF format and BIBFRAME RDF, so I'd say you probably want a new translator. In general, if it doesn't look like it's just a small tweak to an existing translator, then you probably want a new translator.

Can someone point me to the implementations for the functions Zotero.RDF.*?

Obviously RDF translator is good for examples and probably you'll copy-paste a bunch from there. The implementation is actually quite convoluted and hard to follow in the code. It's all contained here: https://github.com/zotero/zotero/tree/4.0/chrome/content/zotero/xpcom/rdf What's exposed to translators, though, can be seen here: https://github.com/zotero/zotero/blob/4.0/chrome/content/zotero/xpcom/translation/translate.js#L2468 with mostly self-explanatory comments.

adam3smith commented 9 years ago

I disagree with Aurimas on the import translator--this is a standard that´s being heavily pushed by major players and we should support it. It has its own namespace, so I don´t really see how we´d get false positives on import if we look for something like the namespace declaration xmlns:bf="http://bibframe.org/vocab/"

aurimasv commented 9 years ago

If it's widely used then sure.

zuphilip commented 9 years ago

Hui, your opinions are quite appart! Let me just respond quickly to one thing (but we should definitely continue discussion and look at the other stuff as well):

Do you expect BIBFRAME RDF to be used across multiple websites that could not share the same web translator? (i.e. websites require completely different handling to get to the RDF)

BIBFRAME is seen as the new library format and successor of MARC21. If and when exactly this wil happen, we will see in the future, but the attentention is also currently quite large. From the link about there is data from:

Because BIBFRAME is modeled as linked data and therefore part of the Semantic Web, I don't know how the "usual" link from a webpage will be. More often I see in the Semantic Web that for such things content negotation is used (calling the same URI but requesting a different format).

aurimasv commented 9 years ago

Dedicated translator it is then.

zuphilip commented 9 years ago

I am closing this. Because we have now a DNB translater by https://github.com/zotero/translators/pull/871

BTW I have a prelimary version of a BIBFRAME (import) translator in my branch: https://github.com/zuphilip/translators/blob/bibframe/BIBFRAME.js . However, BIBFRAME data is maybe not yet ready.

Reopen if you would like to continue.