0

I have a graph that I want to explore in different ways. This graph is going to be explored by users and I cannot know in advance what information they want to retrieve from the graph. I like Cypher very much and I was wondering if I can use it as a frond-end but using my own representation of the graph.

Let me explain that: I cannot transform my graph into a Neo4j Graph for performance reasons. Hence, I was thinking that maybe I can use Cypher and a modification of Neo4j to explore the graph using my own representation of Node, Labels, Properties and so on.

I think this solution would be good because I can:

  1. Reuse the parser and semantic checker of the language
  2. Partially reuse the optimization engine, let's say the platform independent part.

I was exploring the source code at github and it seems really coupled to a specific implementation.

My questions:

  • Are you aware of some project using Cypher/Neo4j like this?
  • Are you aware of another graph database with a good query language that can be used like that?
  • Any suggestions on how to address the modifications to Neo4J

Just to explain a little bit why I cannot copy the graph. It is a graph that is already produced by another system. It changes a lot an it has easily 10000 nodes, I cannot monitor the graph modification to update the graph because it is, once again, time consuming. Even worse, I have to provide a mechanism to query the graph every five seconds.

  • 2
    It is a normal misconception that the graph visual representation should match the data model as well. Here's a video presented at the last GraphConnect talking about that and dynamic representation as well: https://vimeo.com/110703297 . While the video is using a particular tool the recommendations work for any tool you want to use for the UI. For a list of potential libs: http://stackoverflow.com/questions/21893401/interactive-and-dynamic-graph-visualization/21907330#21907330 . Disclaimer: I work for the company in the video. – MarcoL Feb 24 '15 at 18:54
  • 1
    You can easily import that full graph on changes into throwaway Neo4j instances or even in-memory databases. Importing 10k nodes doesn't take longer than a second. – Michael Hunger Feb 24 '15 at 19:09
  • @MichelHunger You are right, a graph with 10K is not that big, even 100K is not big. But then I have edges and a lot of properties for each of them. After importing I have to perform the query. I know that is a possible solution, but my goal is not just providing the functionality but doing so with a really good performance. That's why I am trying to avoid importing the graph. – Inti Gonzalez-Herrera Feb 24 '15 at 19:47
  • @MarcoCI I haven't watched the video yet, I will. But my problem is not about visualization or UI. Anyway, I like your comment about "dynamic representation". I will take a look at it – Inti Gonzalez-Herrera Feb 24 '15 at 19:49

0 Answers0