diegodlh / zotero-cita

Cita: a Wikidata addon for Zotero with citations metadata support
GNU General Public License v3.0
218 stars 10 forks source link

Storing citation data in Zotero #263

Open bjohas opened 6 months ago

bjohas commented 6 months ago

Hi @diegodlh

I am thinking about how one might store references in Zotero, i.e., the data format in which Zotero would keep these references. I've posted on the forum here: https://forums.zotero.org/discussion/112322/representing-citation-trees-in-zotero#latest

I'm thinking whether one could develop a common approach to this (e.g., storage in a Zotero note, or storage in an attached json, or similar). Like you, we're currently using a note for storage.

Once we have a common format, then different people can utilise this through their plugins.

What do you think? Many thanks!

Dominic-DallOsto commented 5 months ago

Hi,

A consistent way of storing citation information would be nice. One issue though is also what is stored (or what is the primary information that is stored). I guess this relates to whether the purpose of storing this information is to have a complete reference list for each item, or to have a list of which items in your Zotero library are cited by the current item.

Cita stores a reference list as basically a list of virtual Zotero items with corresponding information (title, year, authors, type, publisher, et c.) and then links these to items in your existing Zotero library and to other persistent identifiers (DOI, ISSN, QID).

As you propose, it would also be possible to store a list of Zotero item keys for the cited items, but this would impose the limitation that you can only support citations to items that are already in your Zotero library?

A hybrid solution could also be possible - storing Zotero item keys if available, and otherwise storing full cited item information. But then we'd need to check whenever the user adds a new Zotero item whether it corresponds to an existing cited item and replace this with its new Zotero key.

But yeah, just some quick thoughts. Hopefully that makes sense!

diegodlh commented 5 months ago

Hi, @bjohas!

I agree having a standard way of representing items' references (i.e., outgoing citations) in Zotero would be useful.

I also appreciate and agree with @Dominic-DallOsto comments about this.

But then we'd need to check whenever the user adds a new Zotero item whether it corresponds to an existing cited item and replace this with its new Zotero key.

And also we should monitor and act accordingly when a Zotero item (which may be target of an outgoing citation) is deleted?

Cita stores a reference list as basically a list of virtual Zotero items

I'm also thinking whether it would make sense giving Cita users the option to save all outgoing citations as real items in their Zotero libraries. But I can imagine this filling their libraries with unwanted items.

bjohas commented 5 months ago

Hi @Dominic-DallOsto, hi @diegodlh,

Thank you for the replies, and apologies for the slow reply from my side! I do think a hybrid approach would be really good.

  1. One of the reasons we store references in zotero is our 'evidence library', e.g., this item https://docs.opendeved.net/lib/9IYKEUKJ#cites. The site is produced by the Kerko app, which can identify and read Zotero notes that have references to other zotero items. So in this case, all citedBy/cites items are in the library.

  2. But, if we do snowballing, there's obviously easily 100s of extra references, and we don't want these in the same library. It would be amazing if we could create 'virtual items', with the function to add the items that you want to Zotero proper. I.e., one could snowball, and see the citedBy/cites items, and then have an 'add' button that adds selected items to the actual Zotero library.

Myself and colleagues have got some expertise in snowballing (and the various services that can be used) but less experience in building Zotero plugins.

Is there a way we could collaborate?