All Projects → grapheco → InteractiveGraph-neo4j

grapheco / InteractiveGraph-neo4j

Licence: BSD-2-Clause license
a graph server serves backend neo4j, virtosuo as an InteractiveGraph

Programming Languages

scala
5932 projects
HTML
75241 projects

Projects that are alternatives of or similar to InteractiveGraph-neo4j

neo4j-expire
GraphAware Module for Expiring (Deleting) Nodes and Relationships
Stars: ✭ 30 (-70.59%)
Mutual labels:  neo4j
plume
Plume is a code property graph analysis library with options to extract the CPG from Java bytecode and store the result in various graph databases.
Stars: ✭ 53 (-48.04%)
Mutual labels:  neo4j
Public-Transport-SP-Graph-Database
Metropolitan Transport Network from São Paulo mapped in a NoSQL graph database.
Stars: ✭ 25 (-75.49%)
Mutual labels:  neo4j
neo4j-jdbc
JDBC driver for Neo4j
Stars: ✭ 110 (+7.84%)
Mutual labels:  neo4j
OGMNeo
[No Maintenance] Neo4j nodeJS OGM(object-graph mapping) abstraction layer
Stars: ✭ 54 (-47.06%)
Mutual labels:  neo4j
grandcast.fm
A podcast application built using GRANDstack
Stars: ✭ 50 (-50.98%)
Mutual labels:  neo4j
assertj-neo4j
Assertions for Neo4J
Stars: ✭ 13 (-87.25%)
Mutual labels:  neo4j
sdk
Home of the JupiterOne SDK
Stars: ✭ 21 (-79.41%)
Mutual labels:  neo4j
elixir ravelry
Elixir API using Neo4j database for ElixirConf 2017 talk
Stars: ✭ 21 (-79.41%)
Mutual labels:  neo4j
nlm
Memory for Knowledge Graph, using Neo4j. 知识图谱存储与查询。
Stars: ✭ 43 (-57.84%)
Mutual labels:  neo4j
ComplexNetwork
中国娱乐圈关系挖掘,可以快速的查询明星之间的关系。This is a complex network of course assignments. The realization of the relationship analysis and visualization of China's entertainment industry, you can quickly query the relationship between the stars
Stars: ✭ 24 (-76.47%)
Mutual labels:  neo4j
neo4j doc manager
Doc manager for Neo4j
Stars: ✭ 95 (-6.86%)
Mutual labels:  neo4j
paradise-papers-django
A simple Django web app for searching the Paradise Papers dataset backed by Neo4j
Stars: ✭ 63 (-38.24%)
Mutual labels:  neo4j
graphql
A GraphQL to Cypher query execution layer for Neo4j and JavaScript GraphQL implementations.
Stars: ✭ 397 (+289.22%)
Mutual labels:  neo4j
gorm-neo4j
GORM for Neo4j
Stars: ✭ 16 (-84.31%)
Mutual labels:  neo4j
angular-neo4j
Neo4j Bolt driver wrapper for Angular
Stars: ✭ 18 (-82.35%)
Mutual labels:  neo4j
neo4j-migrations
Automated script runner aka "Migrations" for Neo4j. Inspired by Flyway.
Stars: ✭ 82 (-19.61%)
Mutual labels:  neo4j
neo4j-django-tutorial
Tutorial to set up a new Django project with Neo4j REST server
Stars: ✭ 73 (-28.43%)
Mutual labels:  neo4j
cytoscapeneo4j
Cytoscape plugin for neo4j
Stars: ✭ 18 (-82.35%)
Mutual labels:  neo4j
jpa-unit
JUnit extension to test javax.persistence entities
Stars: ✭ 28 (-72.55%)
Mutual labels:  neo4j

InteractiveGraph-neo4j

GitHub releases GitHub downloads GitHub issues GitHub forks GitHub stars GitHub license

InteractiveGraph-neo4j serves GSON files(see https://github.com/grapheco/InteractiveGraph#GSON), Neo4j databases, RDF stores as InteractiveGraph providers, it generates InteractiveGraphs for remote frontend InteractiveGraph clients on demand. Known InteractiveGraph clients includes GraphNavigator, GraphBrowser, and RelFinder (see https://github.com/grapheco/InteractiveGraph).

The interaction architecture looks like: architecture

Quick Start

  1. download latest graphserver.war and igraph.war file from release page: https://github.com/grapheco/InteractiveGraph-neo4j/releases and https://github.com/grapheco/InteractiveGraph/releases

graphserver.war: graph server app igraph.war: interactive graph clients, including GraphNavigator, GraphBrowser, and RelFinder.

  1. move war files into your webapps folder of Web server (Tomcat, for example)

  2. start Web server, we assume the web app url is http://yourhost:8080

  3. explore InteractiveGraph/GraphBrowser in Web browser:

http://yourhost:8080/igraph/example12.html

Accessing servers in InteractiveGraph apps

  1. If you are using a remote graph app, GraphBrowser, for example. To access IGP servers, you may click the load remote IGP server tool, in the dialog input connector url like: http://yourhost:8080/graphserver/connector-gson, InteractiveGraph/GraphBrowser will load and visualize graph from graphserver.

architecture

  1. To access IGP servers programmly, you may use app.connect() method. Here is an example:
    var app = new igraph.GraphNavigator(document.getElementById('graphArea'));
    app.connect("http://yourhost:8080/graphserver/connector-neodb");

NOTE: graphserver provides 3 servlets: /connector-gson, /connector-bolt, /connector-neodb. Because the /connector-bolt depends on /connector-neodb, so note that /connector-neodb should be accessed before accessing /connector-bolt.

Configuration

InterativeGraphServer is able to connect several kinds of backend data sources: neo4j-gson, neo4j-db, neo4j-bolt.

web.xml

ConnectorServlets should be defined in web.xml. Each servlet requires a configFile parameter:

    <servlet>
        <servlet-name>connector3</servlet-name>
        <servlet-class>org.interactivegraph.server.ConnectorServlet</servlet-class>
        <init-param>
            <param-name>configFile</param-name>
            <param-value>WEB-INF/conf3.properties</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>connector3</servlet-name>
        <url-pattern>/connector-gson</url-pattern>
    </servlet-mapping>

Here, a connector1 is defined with a configuration file conf3.properties, it responds to clients when requested as http://yourhost/graphserver/connector-gson.

example web.xml

configuration file

Configuration files are written in properties file format, there are some common properties and other specific properties according to different backend kinds.

common properties

name description type example
allowOrigin allowed domains, * means allow all remote clients string http://192.168.1.1:8080
backendType backend source type one of neo4j-gson, neo4j-bolt or neo4j-db neo4j-gson
neo4j.nodeCategories categories of nodes in name/title pair format person:人物,event:事件,location:地点
visNodeProperty.label an expression to be evaluated as caption of a visualized node string as a VelocityExpr, if it starts with a = then it is a Velocity expression, else it is a Velocity template, see http://velocity.apache.org/engine/devel/vtl-reference.html =$prop.name, or #if($prop.name) $prop.name #else <empty> #end
visNodeProperty.value an expression to be evaluated as value (size) of a visualized node string as a VelocityExpr =$prop.value
visNodeProperty.image an expression to be evaluated as path of image of a visualized node string as a VelocityExpr =$prop.image, or http://.../images/${prop.id}
visNodeProperty. info an expression to be evaluated as HTML-formated infomation (description in detailed) of a visualized node string as a VelocityExpr <p align=center> #if($prop.image) <img width=150 src="${prop.image}"><br> #end <b>${prop.name}[${prop.id}]</b></p><p align=left>${node.info}</p>
neo4j.regexpSearchFields fields used to perform a full text search string array sperated by , name,address
neo4j.strictSearchFields strict match fields mapping array of : sperated pairs, for example: label:name, this tells search information in name property when asked to search in label property, label:name

backendType=neo4j-bolt

name description type example
neo4j.boltUrl url of bolt server string bolt://localhost:7688
neo4j.boltUser user acount string admin
neo4j.boltPassword user password string admin

example properties file

backendType=neo4j-db

name description type example
neo4j.dataDir file path of a neo4j database, often in <neo4j-home>/data/databases/ string WEB-INF/databases/data.db
neo4j.boltPort a bolt server will be startup on the database, this parameter specify the port of bolt server number 7689

example properties file

backendType=neo4j-gson

name description type example
gson.path relative/abslute path of GSON file string WEB-INF/honglou.json
gson.tempDir a temporary database will be created for the GSON file, this parameter specify where we create the database string /dev/shm, or /tmp
neo4j.boltPort a bolt server will be startup on the temporary database, this parameter specify the port of bolt server 7689

example properties file

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].