Representing citation trees in Zotero
Hello,
are there any efforts underway to represent citation trees in Zotero? We're currently storing citation trees by adding Zotero links to a 'special' note (which has the tag '_cites'), but it's not a very neat arrangement.
From my perspective, the best solution would be to build this into Zotero :) I'd be interested to know if there's thinking about that.
Otherwise, are other's interested in an add-on style solution? I could see two options:
(1) Add the data to 'extra' or 'callNumber' or similar. Then build a plugin that hides this extra data from the extra/callNumber/... field within the zotero desktop ui. The downside of this might be that this would be unwieldy in the the web ui; also, I'm not sure how much data a zotero field can hold (I know that notes are limited in size). Larger reports can have 100s of citations.
(2) Add the data to an item attachment (e.g., zotero-meta.json). One would then need a plugin that can display data from this file in the side panel (or in some other way), and create this file from a template as needed. {"cites": ["key", "key", "key", ...]}. (Alternatively, one could store the data in a single metadata.json file, but I imagine conflicts might arise more often.)
In both cases, the plugin would offer a relate-style function to see cited items.
Such mechanisms could also allow storing of additional metadata. Obviously, searching of that additional metadata would be limited to text searches of that field or attachment.
However, unlike storing additional independent metadat,a the citation trees have one central issue: The storage mechanisms for the citation tree needs to be aware of deletions and merges: When a zotero key disappears (or is rolled into dc:replaces through a merge), those keys stored in the citation tree and would need to be updated. I don't know whether Zotero would provide a solid 'hook' for this, or whether one would have to rely on monkey patching?
The current related items in zotero is bidirectional (and, from memory, stored in both items), so one can always find items affected by merges easily. So, perhaps one would need to make the citation tree storage bidirectional as well? {"cites": ["key", "key", "key", ...], "citedby": ["key", "key", "key", ...]} - this introduces redundancy, but would speed up operations in case of merge/delete.
Any views?
are there any efforts underway to represent citation trees in Zotero? We're currently storing citation trees by adding Zotero links to a 'special' note (which has the tag '_cites'), but it's not a very neat arrangement.
From my perspective, the best solution would be to build this into Zotero :) I'd be interested to know if there's thinking about that.
Otherwise, are other's interested in an add-on style solution? I could see two options:
(1) Add the data to 'extra' or 'callNumber' or similar. Then build a plugin that hides this extra data from the extra/callNumber/... field within the zotero desktop ui. The downside of this might be that this would be unwieldy in the the web ui; also, I'm not sure how much data a zotero field can hold (I know that notes are limited in size). Larger reports can have 100s of citations.
(2) Add the data to an item attachment (e.g., zotero-meta.json). One would then need a plugin that can display data from this file in the side panel (or in some other way), and create this file from a template as needed. {"cites": ["key", "key", "key", ...]}. (Alternatively, one could store the data in a single metadata.json file, but I imagine conflicts might arise more often.)
In both cases, the plugin would offer a relate-style function to see cited items.
Such mechanisms could also allow storing of additional metadata. Obviously, searching of that additional metadata would be limited to text searches of that field or attachment.
However, unlike storing additional independent metadat,a the citation trees have one central issue: The storage mechanisms for the citation tree needs to be aware of deletions and merges: When a zotero key disappears (or is rolled into dc:replaces through a merge), those keys stored in the citation tree and would need to be updated. I don't know whether Zotero would provide a solid 'hook' for this, or whether one would have to rely on monkey patching?
The current related items in zotero is bidirectional (and, from memory, stored in both items), so one can always find items affected by merges easily. So, perhaps one would need to make the citation tree storage bidirectional as well? {"cites": ["key", "key", "key", ...], "citedby": ["key", "key", "key", ...]} - this introduces redundancy, but would speed up operations in case of merge/delete.
Any views?
https://github.com/MuiseDestiny/zotero-reference
https://forums.zotero.org/discussion/comment/455585/#Comment_455585
Such information is now readily available from databases like Crossref (that Zotero already uses for other things). So it would make sense for that data to be retrieved by Zotero in the future. An example of that Crossref data discussed briefly here:
https://forums.zotero.org/discussion/comment/455909/#Comment_455909
The Cita plugin is working in a somewhat similar space, but it is still under development and some promised features are yet to materialize.
https://github.com/diegodlh/zotero-cita
For "cited by", simple counts (at least) have been available from various plugins in the past. Extracted from Google Scholar for example. The most sophisticated was probably the scite plugin (no current guarantee that a v7-compatible update will be available), which linked to that paid service.
https://github.com/scitedotai/scite-zotero-plugin
As the cited-by number changes, there obviously needs to be a means to update the information regularly. The latest plugin offering citation counts is zotero-actions-tags. As a user-script based plugin, other options could presumably be added. I am not aware of any plugin that detects which cited-by items might already be in your library, to establish links to those items, or direct you to a URL to download ones you don't have (for "cites" information, the above-mentioned zotero-reference plugin can do both those things).
https://github.com/windingwind/zotero-actions-tags/discussions/150
The Related tab in Zotero can obviously be used to manually create such links, but that requires work. And it is commonly utilized by users for other kinds of links between items, so is too 'broad brush'. The zotero-style plugin can give you a graph view of the Related network you have created.
https://github.com/MuiseDestiny/zotero-style#graph-view
Thank you for those notes - that's really helpful. I'll have a look. I suppose I was thinking about it at a more basic level first: How to represent citations in Zotero.
We often use processes outside Zotero (e.g., openalex or Google Scholar), but do want to store the citation tree in Zotero, so it can be shared (e.g., see here: https://docs.opendeved.net/lib/9IYKEUKJ).
I'll ping the github projects to see whether there might be agreement about a shared data format for storing the references.
https://github.com/diegodlh/zotero-cita/issues/263 and here:
https://github.com/MuiseDestiny/zotero-reference/issues/240
https://groups.google.com/g/zotero-dev
Regarding type of citation, I wonder whether this thread would be of any help: https://github.com/diegodlh/zotero-cita/issues/163
The reason I suggested the duplication is because 'related' is handled like this internally in Zotero. Of course, if the cites/citedby-relations are accessible via a database query, then it's not needed.
Thanks for the comment!