@Override protected void transformEdge(final IEdge edge) { final EdgeType edgeType = new EdgeType(); edgeType.setId(edge.getId().toString()); edgeType.setSource(edge.getVertex(Direction.OUT).getId().toString()); edgeType.setTarget(edge.getVertex(Direction.IN).getId().toString()); final List<DataType> data = edgeType.getData(); for (final String propertyKey : edge.getPropertyKeys()) { final DataType dataType = new DataType(); dataType.setKey(propertyKey); dataType.setContent(edge.getProperty(propertyKey).toString()); data.add(dataType); this.edgeKeys.add(propertyKey); } this.graphType.getDataOrNodeOrEdge().add(edgeType); }
public static GraphmlType convert(GraphML graphML) throws InvalidGraphException { GraphmlType graphmlType = new GraphmlType(); addProperties(graphmlType, KeyForType.GRAPHML, graphML, dataType -> graphmlType.getGraphOrData().add(dataType)); for (GraphMLGraph eachGraph : graphML.getGraphs()) { GraphType graphType = new GraphType(); graphType.setId(eachGraph.getId()); addProperties(graphmlType, KeyForType.GRAPH, eachGraph, dataType -> graphType.getDataOrNodeOrEdge().add(dataType)); for (GraphMLNode eachNode : eachGraph.getNodes()) { NodeType nodeType = new NodeType(); nodeType.setId(eachNode.getId()); graphType.getDataOrNodeOrEdge().add(nodeType); addProperties(graphmlType, KeyForType.NODE, eachNode, dataType -> nodeType.getDataOrPort().add(dataType)); } for (GraphMLEdge eachEdge : eachGraph.getEdges()) { EdgeType edgeType = new EdgeType(); edgeType.setId(eachEdge.getId()); edgeType.setSource(eachEdge.getSource().getId()); edgeType.setTarget(eachEdge.getTarget().getId()); graphType.getDataOrNodeOrEdge().add(edgeType); addProperties(graphmlType, KeyForType.EDGE, eachEdge, dataType -> edgeType.getData().add(dataType)); } graphmlType.getGraphOrData().add(graphType); } return graphmlType; }
this.graphType.getDataOrNodeOrEdge().add(nodeType);
addProperties(convertedGraph, eachGraph.getId(), keyIdToTypeMapping, filter(eachGraph.getDataOrNodeOrEdge(), DataType.class)); List<NodeType> nodes = filter(eachGraph.getDataOrNodeOrEdge(), NodeType.class); for (NodeType eachNode : nodes) { GraphMLNode convertedNode = new GraphMLNode(); List<EdgeType> edges = filter(eachGraphType.getDataOrNodeOrEdge(), EdgeType.class); for (EdgeType eachEdge : edges) { GraphMLEdge convertedEdge = new GraphMLEdge(); List<HyperedgeType> hyperEdges = filter(eachGraphType.getDataOrNodeOrEdge(), HyperedgeType.class); if (!hyperEdges.isEmpty()) { LOG.warn("Hyper Edges are defined for graph with id {} but are not supported. Ignoring {} defined hyper edges", eachGraphType.getId(), hyperEdges.size());