sciencefair-land / sciencefair

The futuristic, fabulous and free desktop app for working with scientific literature :microscope: :book:
https://sciencefair-app.com
MIT License
603 stars 52 forks source link

Linking Datasources #131

Open LGro opened 7 years ago

LGro commented 7 years ago

Goal

Facilitate free access to author versions of publications located in individual/smaller datasources.

Approach

Allow datasources to contain references to other datasources, thereby enabling a scenario like the following. A research institution can link datasources of their groups/PIs/members to their own datasource. This enables others to just subscribe to the instition's datasource without having to discover all the individual groups'/members' datasources (i.e. group discovery of datasources)

Potential issues & possible solutions

Cyclic datasource dependencies

If datasource A links to datasource B and B links to A (with arbitrary transitive links in between) the search algorithm could run into an infinite loop. Solution: Integrate a collection of searched datasources in the client to check if the current datasource was already searched, thereby braking cyclic dependencies. Additionally, document this design choice well enough so that potential 3rd party clients/forks are aware of that issue.

Researchers change the institution

The research institution has linked a members datasource that contains the publications the member has produced while at that institution. Now the member switches to another institution, adding work they conducted at the new institution to their datasource. This is inconvenient for both institutions since their links to the member's datasource now contain work that actually wasn't done at their place. Solution: A researcher can create one datasource per institution / main affiliation that can then be linked forever by the respective institution.