constellation icon indicating copy to clipboard operation
constellation copied to clipboard

Consolidate Import from GraphML, GML, Pajek into one Plugin in Core

Open antares1470 opened this issue 2 years ago • 0 comments

Prerequisites

  • [x] Put an X between the brackets on this line if you have done all of the following:

    • Running the latest version of Constellation

    • Attached the Support Package via Help > Support Package

    • Checked the FAQs: https://github.com/constellation-app/constellation/wiki/FAQ

    • Checked that your issue isn’t already filed: https://github.com/constellation-app/constellation/issues

    • Checked that there is not already a module that provides the described functionality: https://github.com/constellation-app/constellation/wiki/Catalogue-of-Repositories

Description

Presently in Constellation Adaptors there are a few Data Access plugins for working with different graph file types including GraphML, GML, and Pajek. The aforementioned types though appear to be open standards and so these might instead make more sense to be be in Core. What I'm going to propose therefore is 2 things:

  1. Import from GraphML, Import from GML, and Import from Pajek be moved to Core
  2. Those plugins then be merged together into one "Import Graph File" plugin

The drawback with merging them into one plugin is that you won't be able to import different types of graph files in the same step (instead you'll need to be run the same plugin across multiple steps) but depending on how it is refactored, I think it could really help with extensibility (e.g. could use a lookup and hence include other graph file types not just in Core) and maintainability.

Additional Information

Note that I've only mentioned the Import plugins and not the Enrich or Extend variants which are also available in Adaptors. I believe in the general case you probably prefer to just bring in a whole file rather than just part of it, and to my understanding those Enrich and Extend versions are really there to demonstrate what Constellation can do (since such plugins don't really exist in Core).

antares1470 avatar Jun 27 '22 23:06 antares1470