Giter VIP home page Giter VIP logo

com.bitplan.simplegraph's People

Contributors

mariafahl avatar wolfgangfahl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

gitter-badger

com.bitplan.simplegraph's Issues

MediaWiki-Module

The MediaWiki Module shall MediaWiki site content accessible to Graph processing with Gremlin

SQL-Module

The SQL Module shall make relational SQL databases accessible via the Java JDBC API

The scratch (to start from)

The idea is to build up a system of modules implementing an interface to often used standard systems or datasources. The wanted interface offers a simple graph representation of the datastructure of the system or datasource where it is implemented for. The requirement is to set up a graph with typecasting nodes and links. The nodes represent interfaces to navigate the graph on the one hand. On the other hand there are domain specific interfaces leading to the domain specific informations as well as technical specific interfaces for example as domain specific access.

At the beginning the following modules are required:

Module to

  • access a file system (see issue #2)
  • access a database (encapsulate sql see issue #3 )
  • access to mediawikis (see issue #4)

many useful modules shall follow.

Excel formulas

Excel formular usually contain cell references in the form A1, B2, C3.
When the excel sheet is imported into the graph it would be nice to be able to know the reference in graph style.

E.g. if the modern example of tinkerpop see http://tinkerpop.apache.org/docs/current/reference/ is used and an excel row represents a vertex and a column represents a property then given
A=name
B=age

and Row 3 being for marko with
A3=marko
B3=29
and Row 4 being for vadas with
A4=vadas
B4=27

then when a formular is given with B3/B4 to compute the average age of both this should be represented as something like person(marko).age/person(vadas).age. Especially this should hold true when graphs are converted to excel.

PDF Indexer

This module is used to index a series of pdf files with a pre-defined set of keywords

Excel module don't recognize empty cells and shift these

If a cell in an Excel sheet is empty then the analysis with TinkerPop3 shows that the following cell is shifted to this.
ex. below
The analysis withTinkerPop3.dumpGraph shows for ID = 4
name=josh
city=32

id name city age
1 marko rom 29
4 josh          32

Helper function

getting the "backlink" to the "payload" entity of a vertex is currently done by accessing the "mysimplenode" property:
FileNode fileNode=(FileNode) node.property("mysimplenode").value();
This is not good information hiding:

  • the "mysimplenode" should be accessed via a constant
  • better there should be a FileNode.of(node) function.

SimpleGraph Excel module isn't able to create CSV file (automatically)

I tried to create a CSV file, but result was also a xlsx file instead, although it was named *.csv. It is possible to create such a file from its filename in a correct format or should there exist a method or parameters to create a csv file explicite (also a parameter for the delimter). Perhaps also other export formats from Excel.

A CSV file make only sense for a single sheet. So a CSV converter should create separate files with -<sheet[name] | sheet[number]>.csv


public void testCreateExcelCSVTracks() throws Exception {
    ExcelSystem es = new ExcelSystem();
    Graph graph = TinkerGraph.open();
    graph.io(IoCore.graphml()).readGraph("tracks.graphml");
    if (debug)
      LOGGER.log(Level.INFO, graph.toString());

    GraphTraversalSource g = graph.traversal();
    // es.setDebug(true);
    Workbook wb = es.createWorkBook(g);
    assertEquals(3, wb.getNumberOfSheets());
    es.save(wb, "tracks.csv");
  }

XmlSystem - allow retrieving childs in original order

To allow to retrieve the childs in an xml tree there should be a childindex property.
This is a good start to start having a naming convention for properties. E.g. in this case XmlSystem.childindex would be the name of a property to make the property name "qualified".

Geo-Module

Inspired by the Stackoverflow question Auto connect Vertices having coordinates
and some needs in the BITPlan OpenSource RADOLAN library project there shall be a Geo module.
It should support:

Typical geo spatial relations should be available for query see e.g.
https://stackoverflow.com/questions/44526498/how-to-issue-geo-spatial-queries-using-gremlin-3-via-orientdb-3-0-0m1

This seems also to be a good starting point for tutorial material.

Filesystem-Module

The Filesystem module shall make the Filesystem tree that is accessible via the java.io.File API available for graph processing.

HTML-Module

Makes HTML page parse results accessible for Graph Processing via the HTML Cleaner API

CardDAV-Module

The CardDAV-Module should make CardDAV-file (.vcf) content accessible to Graph processing with Gremlin.

GitHub-Module

This Module shall make the GitHub GraphQL v4 API for Graph processing with Gremlin.

PowerPoint-Module

The PowerPoint Module shall make PowerPoint content accessible to Graph processing with Gremlin
Presentations with their slides and slidecontent like notes, tables according to the Apache POI
interfaces should be made available.

It should be possible to create presentations from Graph data (presentation slides, tables, notes, headlines, ...)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.