|
|
-
- function parseGephi(gephiJSON, optionsObj) {
- var edges = [];
- var nodes = [];
- var options = {
- edges: {
- inheritColor: false
- },
- nodes: {
- fixed: false,
- parseColor: false
- }
- };
-
- if (options !== undefined) {
- options.nodes['fixed'] = optionsObj.fixed !== undefined ? options.fixed : true;
- options.nodes['parseColor'] = optionsObj.parseColor !== undefined ? options.parseColor : false;
- options.edges['inheritColor'] = optionsObj.inheritColor !== undefined ? options.inheritColor : false;
- }
-
- var gEdges = gephiJSON.edges;
- var gNodes = gephiJSON.nodes;
- for (var i = 0; i < gEdges.length; i++) {
- var edge = {};
- var gEdge = gEdges[i];
- edge['id'] = gEdge.id;
- edge['from'] = gEdge.source;
- edge['to'] = gEdge.target;
- edge['attributes'] = gEdge.attributes;
- // edge['value'] = gEdge.attributes !== undefined ? gEdge.attributes.Weight : undefined;
- // edge['width'] = edge['value'] !== undefined ? undefined : edgegEdge.size;
- if (gEdge.color && options.inheritColor === false) {
- edge['color'] = gEdge.color;
- }
- edges.push(edge);
- }
-
- for (var i = 0; i < gNodes.length; i++) {
- var node = {};
- var gNode = gNodes[i];
- node['id'] = gNode.id;
- node['attributes'] = gNode.attributes;
- node['title'] = gNode.title;
- node['x'] = gNode.x;
- node['y'] = gNode.y;
- node['label'] = gNode.label;
- if (options.nodes.parseColor === true) {
- node['color'] = gNode.color;
- }
- else {
- node['color'] = gNode.color !== undefined ? {background:gNode.color, border:gNode.color} : undefined;
- }
- node['size'] = gNode.size;
- node['fixed'] = options.nodes.fixed && gNode.x !== undefined && gNode.y !== undefined;
- nodes.push(node);
- }
-
- return {nodes:nodes, edges:edges};
- }
-
- exports.parseGephi = parseGephi;
|