JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9921
  • Score
    100M100P100Q145517F
  • License MIT

GEXF parser & writer for graphology.

Package Exports

  • graphology-gexf
  • graphology-gexf/browser

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (graphology-gexf) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build Status

Graphology GEXF Utilities

GEXF parser & writer for graphology.

For more information about the GEXF file format, you can head there.

Installation

npm install graphology-gexf

Usage

Parser

The parser must be passed a graphology constructor and is able to read either a string, or an XMLDocument instance.

var Graph = require('graphology');

// Node
var gexf = require('graphology-gexf');
// Browser
var gexf = require('graphology-gexf/browser');

// Reading a string
var graph = gexf.parse(Graph, string);

// Reading a dom document
var graph = gexf.parse(Graph, xmlDocument);

Arguments

  • constructor GraphClass: graphology constructor to use.
  • source string|Document: source data to parse.

Writer

The writer must be passed a graphology instance and will output a GEXF string.

// Node
var gexf = require('graphology-gexf');
// Browser
var gexf = require('graphology-gexf/browser');

// Writing the graph
var gexfString = gexf.write(graph);

// Using custom formatting for nodes & edges
var gexfString = gexf.write(graph, {
  formatNode: function(key, attributes) {
    return {
      label: attributes.label,
      attributes: {
        age: attributes.age,
        name: attributes.name
      },
      viz: {
        color: '#FF0',
        x: attributes.x,
        y: attributes.y,
        shape: 'circle',
        size: 20
      }
    };
  },
  formatEdge: function(key, attributes) {
    return {
      label: attributes.label,
      attributes: {
        number: attributes.number
      },
      weight: attributes.weight,
      viz: {
        color: '#FF0',
        x: attributes.x,
        y: attributes.y,
        shape: 'dotted',
        thickness: 20
      }
    };
  }
});

Arguments

  • graph Graph: graphology instance to write.
  • options ?object: Options:
    • encoding ?string [UTF-8]: encoding declaration.
    • formatNode ?function: function returning the node's data to write.
    • formatEdge ?function: function returning the edge's data to write.
    • pretty ?boolean [true]: pretty-print output?