Open chris-volk opened 1 year ago
I would not rely on any folder structure.
In a first step just promt for the url for the shared models/included namespaces In a second step you may look for them yourself (assuming a github structure), if not found then again like in first step
Also to be considered: Users who want to only read the model, but not edit it. For such a user it may be sufficient to have unresolved references in the model, but not a good thing that after loading a model without references to have a "Christmas tree of validation problems". We'll consider this in the design of the improvement(s)
As a user using this feature I want (similar to package import) the knowledge which referred models will be imported to workspace if I continue. There should preferably also be the option to import the entire namespaces from the github repository (with a proper root location that includes all namespaces on that level.)
See https://github.com/eclipse-esmf/esmf-sdk/issues/474 for the original ESMF SDK / SAMM CLI issue.
As an editor user I want to load an Aspect Model from a github url that may include references to other models which are also in github and either read it (step 1) or make changes to it (step 2) so that I can work with it quickly without having to worry about manually downloading all references / cloning an entire github repository.
(Additionally, as an ideation, As a modeler I want to add multiple sources to my modeling environment config so that I can reuse these sources for loading/resolution automatically/more conveniently.)
Example: I want to load https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl into the editor. The validation should be together with the references https://github.com/eclipse-tractusx/sldt-semantic-models/blob/0ce954e3d3b88446dafc04579b3af49bbd010a5c/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl#L32 and https://github.com/eclipse-tractusx/sldt-semantic-models/blob/0ce954e3d3b88446dafc04579b3af49bbd010a5c/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl#L33 :
<urn:bamm:io.catenax.shared.address_characteristic:1.0.1#> <urn:bamm:io.catenax.shared.contact_information:1.0.0#> These references are available within the same github repository in the expected structure.