Read GEXF

Aperta
#9 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
55/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
data

Direzione di ricerca

Start with issue #8, which the issue says should land first, and use its XML reader, registration and documentation as the design reference. Then inspect FormatId and parseGraph in packages/formats/src/index.ts, detection in packages/formats/src/detect.ts, and the listed CLI and playground entry points. Done means static GEXF 1.2 and 1.3 files are detected and parsed, NetworkX GEXF hashes match equivalent node-link JSON, drawing and dynamic data produce warnings, and both language docs plus a changeset are included.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement formats help wanted
Why

GEXF is Gephi's native format, and NetworkX writes it too
(nx.write_gexf). Like GraphML, kgdiff recognises it today and stops with "export it as JSON
first"
(detect.ts#L167).

What

A gexf format in @kgdiff/formats (GEXF 1.2 and 1.3):

  • <node id label> → node id and label; <edge source target> → edge, with id and label.
  • <attvalue for value> values, typed by the <attributes class="node|edge"> declarations
    and their defaults → fields, mapped like the JSON graph shapes (label, type and predicate
    from the same field names).
  • viz: elements (position, colour, size, shape) are drawing state: drop them with a warning.
  • Dynamic graphs (mode="dynamic", start / end / spells): out of scope for now. Read the
    static structure and warn.
Where to start

This is much easier once GraphML (#8) has landed: it adds the XML-based graph reader,
the format registration and the docs this issue can copy. If you want to pick this up before,
comment on #8 so the two share one design.

The files to touch are the same as in #8: FormatId and parseGraph in
packages/formats/src/index.ts, FORMAT_EXTENSIONS and sniffing in detect.ts, the CLI's
--format values, the playground, docs/formats.md and docs/architecture.md (en + zh).

Done when
  • kgdiff a.gexf b.gexf works, with detection from the extension and the content.
  • A graph written by NetworkX as GEXF and as node-link JSON gives the same hashGraph.
  • Docs updated in both languages, and a changeset.
Lingua principale
TypeScript
Stelle
47
Fork
6
Merge medio
2h 32m
PR unite (30g)
22

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di iiwish/kgdiff

Tutte le issue di iiwish/kgdiff

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.