Giter Site home page Giter Site logo

toledorafael / neo4j-browser Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neo4j/neo4j-browser

1.0 1.0 0.0 295.23 MB

Neo4j Browser is the general purpose user interface for working with Neo4j. Query, visualize, administrate and monitor the database.

Home Page: https://neo4j.com

License: GNU General Public License v3.0

HTML 0.64% JavaScript 2.77% Shell 0.04% CSS 1.36% TypeScript 94.85% Less 0.35%

neo4j-browser's People

Contributors

akollegger avatar alexicawright avatar apcj avatar benbc avatar davidegrohmann avatar eijawerner avatar eve-bright avatar fylmtm avatar herremil avatar huboneo avatar irfannuri avatar jakewins avatar jharris4 avatar joknelid avatar jsoref avatar linuslundahl avatar martin-neotech avatar mingyuliuu avatar nglgzz avatar oskardamkjaer avatar oskarhane avatar pe4cey avatar recrwplay avatar renetapopova avatar shkirando avatar systay avatar tinwelint avatar toledorafael avatar wallin avatar xsrvmy avatar

Stargazers

 avatar

Watchers

 avatar

neo4j-browser's Issues

Issues with bottom legend

Two issues with bottom legend:

  • Legend can be too wide
  • Dashes are rendered when there is no pattern

Fix color gradient on arc edges

Related problem
Currently, the visualizer allows the user to select transversal or longitudinal stripes to represent the multiple feature expression that a given edge can satisfy. The transversal stripes can look mixed up depending on the shape of the arc representing the link between the two nodes

Additional context
bugArcs2bugArcs

Suggested solution
It would be ideal to have the colour gradient following the shape of the arc

Alternative solutions
Eliminate the arc shape when there are multiple edges between the nodes. If we can straighten up the links we would not need to worry about the colour gradient orientation. But we should avoid the overlapping of edges between the same pair of nodes

New layout option - Add duplicates of edges (with different colour) satisfying multiple conditions

Related problem
Currently, the visualizer adds multiple colours to an edge satisfying multiple feature expressions. We want to explore different ways to encode that. One option is presenting instances of the same edge with different colours or shapes.

Additional context
edgeGroupsLayout
Vehlow, Corinna, Fabian Beck, and Daniel Weiskopf. "Visualizing group structures in graphs: A survey." Computer Graphics Forum. Vol. 36. No. 6. 2017.

Suggested solution
Enable the user to alternate between the multicoloured-edges layout or the coloured-clones layout

Move graph controls into the side panel

Screen Shot 2023-06-13 at 9 30 48 PM

Restructure the page by moving the

  • Filter
  • Layout selector
  • Theme selector
  • Filter legends

into the side panel where we currently show the Overview.

This can make all the selectors visible even in the default view in a collapsible section. It can also save space for the future integration of the tabular view.

Performance can be improved

The caching of the satSolver results has been implemented but it seems that there are unnecessary calls to the function applying the condition rules. The function getColors (init.js), which is supposed to return the colors for a specific link, is triggering the satisfiability solving when calling applyCondRules.

Solution:
Make the getColors function return the colors without triggering the evaluation of the satisfiability of the presence conditions

Assign unique ids for each graph

This would enable the changes the user implements to be local for each graph and it would eliminate the need for global variables for visual changes (e.g., toggleStripes)

Highlight paths based on selected node

Related problem
It would be interesting to visualize the data- and control-flow involving a given node within a subgraph. By highlighting those paths we can ease the identification of those flows and provide contextual information since the non highlighted paths are still visible.

Suggested solution
The user should be able to trigger the highlighting of incoming or outgoing edges by selecting a in the visualization node

Enable toggling of feature expressions

Related problem
Currently, the user can enter multiple feature expressions to comprehend the visualization-aware analysis results. They can assign a colour to be used on links with presence conditions that satisfy each feature expression. However, they don't have the option of making some of the feature expressions invisible in the visualization, which would make it easier to analyze the differences in the analysis results between different product-line configurations.

Suggested solution
Enable the user to turn on/off the visibility of the satisfiability of specific feature expressions.

Filter types of nodes and edges

Related problem
Currently, the graph visualization enables the customization of edges and nodes based on their types. It also enables the user to remove a selected node or edge. However, it is not possible to remove all the edges (or nodes) of a specific type.

Suggested solution
Give the option to the user to select types of nodes and edges that they wish to eliminate from the visualization. The top bar of the visualization frame list all the types of entities included in the visualization. The user could click on them to toggle the visualization of those and consequently apply the desired filter.

Filter not deselected when removed

When removing a filter with the "remove filter" button, the filter remains selected. This is undesired and can cause a desync between the stylesheet and the list of filters if the user attempts to add a color to a removed filter.

Label positioning on arcs

Depending on the deflection, the condition of an edge may appear on the inside, which causes it to collide with the arc easily. It would be better for it to always be on the outside.

Selective expansion

Related problem
When expanding relationships of a node, the browser brings all nodes directly connected to the selected node

Suggested solution
Prompt the user which types of nodes or relationships they are interested in expanding

Multi-node selection

Related problem
It is tedious to click each node to hide it

Suggested solution
Allow selection of multiple nodes by clicking and dragging the mouse to select nodes in a region

Refactor options for arrow shape

  • Remove option for encoding arrow shape as relationship type
  • Make pattern menu constantly open on the sidebar instead of popup

New layout option - Use shape to encode edge group

Related problem
Currently, the visualizer adds multiple colours to an edge satisfying multiple feature expressions. We want to explore different ways to encode that. One option is assigning specific shapes to each feature expression. The edges satisfying that would be solid/dashed/dotted or a mix of those shapes

Additional context
edgeGroupShape

Vehlow, Corinna, Fabian Beck, and Daniel Weiskopf. "Visualizing group structures in graphs: A survey." Computer Graphics Forum. Vol. 36. No. 6. 2017.

Suggested solution
Enable the user to alternate between the multicoloured-edges layout or the multi-shaped edges layout

Alternative solutions
Use of shape and colour to encode the edge groups

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.