Skip to content

Archive import drops standard IMDF relationship semantics #4

@jillesvangurp

Description

@jillesvangurp

Summary

Archive import only interprets relationship features when they use a custom category="contains" + references[] format, and ignores standard IMDF relationship semantics.

Evidence

  • src/lib/imdf/archiveImport.ts:372 explicitly filters relationships to category === "contains" and properties.references.
  • src/lib/imdf/archiveImport.ts:375 assumes references[0]/references[1] parent-child shape.
  • src/lib/imdf/archiveImport.ts:294-301 parses origin_id / intermediary_id / destination_id from non-relationship collections, but relationship collection itself is not mapped into route relations.

Why this is a bug

IMDF relationship features carrying route/traversal semantics are silently dropped during import. This loses connectivity semantics and prevents faithful round-trip behavior.

Reproduction

  1. Import an IMDF archive containing relationship features with origin/intermediary/destination semantics.
  2. Check imported feature metadata and routing/containment state.
  3. Observe that those relationships are ignored unless they match the custom contains + references shape.

Expected

  • Parse relationship collection according to IMDF relationship properties.
  • Preserve relationship semantics during import (not only containment overrides).

Impact

Import is lossy for real-world IMDF datasets and cannot preserve relationship intent.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions