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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions