Skip to content

This project provides a plugin for graph analysis and visualization through which you can easily embed, visualize, and analyze your data on any website or web page

License

Notifications You must be signed in to change notification settings

project-spinoza/gsak-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GSAK-KIT

This project provides a plugin for graph analysis and visualization through which you can easily embed, visualize, and analyze your data on any website or web page.

Building the Project:

Prerequisits:

  • Apache Maven 3.x
  • Java 8
  • Git (Optional)

Steps

  • Download or clone Gsak-Kit from github into any convenient Directory (Path should not contain special Characters like spaces etc.).
  • Go to Project root directory (Directory containing src, pom.xml)
  • To add dependencies run the following commands in project root directory using command line.
    mvn install:install-file -Dfile=src/lib/gephi-toolkit.jar -DgroupId=gephi-toolkit -DartifactId=gephi-toolkit -Dversion=1.0 -Dpackaging=jar

    mvn install:install-file -Dfile=src/lib/gephi-cw.jar -DgroupId=gephi-cw -DartifactId=gephi-cw -Dversion=0.0.1 -Dpackaging=jar

    mvn install:install-file -Dfile=src/lib/uk-ac-ox-oii-sigmaexporter.jar -DgroupId=uk-ac-ox-oii-sigmaexporter -DartifactId=uk-ac-ox-oii-sigmaexporter -Dversion=1.0 -Dpackaging=jar

  • To build the Project, execut the following commands:
    mvn compile
    mvn clean package
  • If compilation completed without any error, a target directory will be created inside project root directory.
  • The target directory should contain a jar file with possible name gsak-kit-with-dependencies.jar.
  • To deploy gsak-kit server, execute the following command inside target directory.
    java -jar gephikit-0.0.1-SNAPSHOT-jar-with-dependencies.jar ../configuration.json
  • Open localhost:8282/ in any browser; A welcome message will be display.

Routes:

Routes define different graph operations that can be applied to the visulized graph. Standard operations mainly include graph Layouts, Filtration or combination of both.

Welcome Route

  • Route: / It will display welcome message

Basic Graph

  • Route: /gephi

  • Parameter(optional and Data Source Specific):

  • Elasticsearch Params Options: basicSettings={"selectedDataSource":"elasticsearch","searchValue":"KEYWORDS'","host":"localhost","port":"9300","clusterName":"elasticsearch","index":"indexName","type":"indexTypeName","documentsLimit":"1000"}

  • Text File Params Options: basicSettings={"selectedDataSource":"file","filePath":"path_to_the_tweets_file"}

    • e.g. File as Data source:: localhost:8282/gephi?basicSettings={"selectedDataSource":"file", "filePath":"/etc/tweets.txt"}

Layouts

  • Route: /layout
  • Layout name: "name"=YifanHuLayout
  • e.g. YifanHuLayout: localhost:8282/layout?layoutSettings={"name":"YifanHuLayout","distance":100, "iterations":100}
  • e.g. FruchtermanReingold: localhost:8282/layout?layoutSettings={"name":"FruchtermanReingold","size":10, "iterations":100, "gravity":0.1}
  • Possible Layouts: YifanHuLayout, FruchtermanReingold

Filters

  • Route: /filter
  • Possible Filter Options: pageRankThreashhold, nodeCentrailityThreashhold, neighborRangeThreashhold
  • e.g. YifanHuLayout: localhost:8282/filter?filterSettings={"pageRankThreashhold":10,"nodeCentrailityThreashhold":10, "neighborRangeThreashhold":10}

KIT-Route

  • Route: /gsakkit
  • Possible Filter Options: pageRankThreashhold, nodeCentrailityThreashhold, neighborRangeThreashhold
  • Description: This route bascially combines all three major functionalities of GSAK-KIT; i.e. Source selection, Layouts, and graph Filteration.
  • e.g. Example: localhost:8282/gsakkit?basicSettings={"selectedDataSource":"file", "filePath":"/etc/tweets.txt"}&filterSettings={"pageRankThreashhold":10,"nodeCentrailityThreashhold":10, "neighborRangeThreashhold":10}&layoutSettings={"name":"FruchtermanReingold","size":10, "iterations":100, "gravity":0.1}

GSAK-KIT is divided into two sections.

The server side

  • input
    Text data or the built-in graph
  • output
    Processed graph
  • Description
    The server side will do all the data processing, graph generation, analysis, filteration, etc. When the server is provided with text data, it generates a graph based on specific keywords or relationships that exist within the data. When the server is provided with the built-in graph, it will analyze and filter the graph to create another processed graph. The server specifies formats for the input data. From this, the server generates the graph and provides a way to write your own implementation code for the graph generator.
  • Third Party Libraries
    For graph processing we'll use the GephiToolkit
    For java web server we'll use the Undertow
    For logging we'll use log4j2

The front end side

  • input
    Processed graph data
  • output
    Sigma graph
  • Description
    The front end will provide a way for visualizing the graph generated by the server. The front end will also provide a way to use the graph services in a webpage.
  • Third Party Libraries
    For front end visualization we'll use the SigmaJs

    The front-end visualization is completely independent of the backend graph generation/processing, it will enable users to design their own front-end layouts and to use graph services where they need.

License

The code is licensed under the Apache License Version 2.0

Questions or Suggestions

Email [email protected]
Issues https://github.com/project-spinoza/gsak-kit/issues

About

This project provides a plugin for graph analysis and visualization through which you can easily embed, visualize, and analyze your data on any website or web page

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published