As per title, in order to reduce memory footprint for specific use cases.
This would also imply some decent failure mode for the API, which won't be able to support one or the other direction when it hasn't been loaded.
As per title, in order to reduce memory footprint for specific use cases.
This would also imply some decent failure mode for the API, which won't be able to support one or the other direction when it hasn't been loaded.
Should this still allow the possibility of browsing both directions?
Say we have a --direction=forward|backward|both flag with forward being the default option.
Nope, if loaded with only one direction, traversals will only be possible in the loaded direction.
This will essentially be a trade-off setting for people who cannot (or doesn't want to) load both direction.
It is fine to fail (gracefully, with an error) traversals requested in a direction that corresponds to a non-loaded graph.
The default loading behavior should either be "both" (overridable "down" to a single direction), or alternatively "whatever is available on disk".
Copying my comment from a linked diff:
The design I have in mind is to split the SwhGraph into two different layers:
Using this, we could:
Note: I don't know yet what is the correct data model to implement this in Java as I'm not too proficient with interfaces/mixins.