Difference between revisions of "SimpleGraph-Excel"

From BITPlan Wiki
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 15: Line 15:
  
 
= Mental Model =
 
= Mental Model =
 +
== Mapping rules ==
 +
# Each Vertex type (by label) is converted to an Excel sheet
 +
# Each Edge type (by label) is converted to an Excel sheet
 +
# Each vertex is converted to a row
 +
# Each vertex property is converted to a cell
 +
# Each edge is converted to a row
 +
# Each edge property is converted to a cell
 +
# The header row for Vertices has a column for each property key
 +
# The header for for Edges has a column for each property key + an in and and out column
 +
# The in and out header columns for edges have the label of the corresponding vertex in parentheses
 +
== UML diagram ==
 
<uml>
 
<uml>
 +
 
 
   hide circle
 
   hide circle
 +
  package Excel {
 
   class Workbook {  
 
   class Workbook {  
 
     name
 
     name
Line 34: Line 47:
 
   Sheet "1" -> "n" Row
 
   Sheet "1" -> "n" Row
 
   Row "1" -> "n" Cell
 
   Row "1" -> "n" Cell
 +
}
 +
package TinkerPop {
 +
  class Property {
 +
    name
 +
    value
 +
  }
 +
  class Vertex {
 +
    id
 +
    label
 +
  }
 +
  class Edge {
 +
    id
 +
    label
 +
  }
 +
  Edge -> "1 in" Vertex
 +
  Edge -> "1 out" Vertex
 +
  Vertex -> "n properties" Property
 +
  Edge -> "n properties" Property
 +
  Edges -> "n edges" Edge
 +
  Vertices -> "n Vertices" Vertex
 +
}
 +
Cell - Property
 +
Edge - Sheet
 +
Vertex - Sheet
 
</uml>
 
</uml>
  
Line 59: Line 96:
 
   note on link: 4
 
   note on link: 4
 
</uml>
 
</uml>
 +
[[File:modern.xlsx]]
 +
 
== AirRoutes ==
 
== AirRoutes ==
 +
The UML diagram and excel table is not fully consistent with the graph. The graph can have contains edges between airport and country.
 +
 
<uml>
 
<uml>
 
   hide circle
 
   hide circle
Line 104: Line 145:
 
   note on link: 6748
 
   note on link: 6748
 
</uml>
 
</uml>
 +
[[File:air-routes.xlsx]]
 +
<source lang='java'>
 +
@Test
 +
  public void testCreateExcelAirRoutes() throws Exception {
 +
    ExcelSystem es = new ExcelSystem();
 +
    Graph graph = TestTinkerPop3.getAirRoutes();
 +
    GraphTraversalSource g = graph.traversal();
 +
    // es.setDebug(true);
 +
    Workbook wb = es.createWorkBook(g);
 +
    assertEquals(6, wb.getNumberOfSheets());
 +
    es.save(wb, testAirRouteFileName);
 +
}
 +
</source>
  
 
== Railway ==
 
== Railway ==

Latest revision as of 10:06, 30 October 2018

SimpleGraphModule

Microsoft Excel 2013-2019 logo.svg

SimpleGraph Excel module

The SimpleGraph Excel module makes Microsoft Excel workbooks accessible via the Apache POI API see Apache POI XSSF/HSSF.

Sources

Mental Model

Mapping rules

  1. Each Vertex type (by label) is converted to an Excel sheet
  2. Each Edge type (by label) is converted to an Excel sheet
  3. Each vertex is converted to a row
  4. Each vertex property is converted to a cell
  5. Each edge is converted to a row
  6. Each edge property is converted to a cell
  7. The header row for Vertices has a column for each property key
  8. The header for for Edges has a column for each property key + an in and and out column
  9. The in and out header columns for edges have the label of the corresponding vertex in parentheses

UML diagram

Examples

Modern

File:Modern.xlsx

AirRoutes

The UML diagram and excel table is not fully consistent with the graph. The graph can have contains edges between airport and country.

File:Air-routes.xlsx

@Test
  public void testCreateExcelAirRoutes() throws Exception {
    ExcelSystem es = new ExcelSystem();
    Graph graph = TestTinkerPop3.getAirRoutes();
    GraphTraversalSource g = graph.traversal();
    // es.setDebug(true);
    Workbook wb = es.createWorkBook(g);
    assertEquals(6, wb.getNumberOfSheets());
    es.save(wb, testAirRouteFileName);
}

Railway

Links