blog.brng.us

    graph database research

    Web UI

    A few examples that are interesting for visualization

    a dagre graph layout with mini map and neibor highlighting

    list of graph visualization libs

    popto.js seemed very interesting. the filtering may be usefule to model on, however it seems very tied to neo4j which has licensing issues.

    wine and cheese is a very good demo of what cytoscape.js is capable of. Planning to look at lunr.js and text search provided in this example

    other

    Generally while pacer is mostly a joy to use to manipulate graphs and prototype things it has not had any updates in about a year and I fear it may be dead.

    Gremlin looks ok on the surface but in practice using the groovy repl seems extra painful and the syntax is a bit obtuse.

    Tinkergraph is fast when using indexes and pacer, however it does not support transactions which makes some multithreading tasks very hard. if you know the id or can infer it you can make pacer go quite a lot faster. using pacer’s bulk_job also helps with thread safety a bit.

    cytoscape has a java application and a javascript library. Both assume you know enough about your graph to filter it before you view it. I needed something that lets me explore a graph without loading the whole thing. I decided to use the cytoscape.js library for this.

    linkurious.js has a very nice interface, but it is a “service” and they want money :(

    Cayley

    Cayley seems to have created lots of buzz but it all seems very golang specific. The server fell over quite quickly when trying to use httppoison and elixir spawned processes to load data. Seems that loading requires me to drop into go, or to write out nquads.

    nquads are also hard to conceptualize alongside a property graph. There may be some great perf benefits but the overhead to understnad them preveneted me from digging in.

    the UI provided by cayley is oddly d3 for query shape and sigma for results. It has limited interactivity and control over style.

    I found this helpful: [http://blog.juganaru.eu/2016/06/28/google-cayley-graph-database-tutorial-family-tree/]

    [basic pacer cytoscape.js browser](https://github.com/jschoch/pacer-cytoscape-browser)

    Retiring a bunch of tabs regarding graph databases

    pacer table of what returns an enum

    pacer rubydocs for subgraph

    %{description: "cayley graph, pacer etc", title: "graph database research"}



  • (Optional) See our JavaScript configuration variables documentation for ways to further customize the Disqus embed code.

Links

About this blog: This blog will discuss technology associated with my idgon.com project. I am using Elixir and Phoenix for my backend, and React.js and Reflux for my front end. I have a library called Trabant to experiment with graph database persistence for Elixir. The views expressed on this blog are my own, and are not that of my current employer.

About Me: I am a hobbyist programmer interested in distributed computing. I dabble in Elixir, Ruby, and Javascript. I can't spell very well, and I enjoy golf.