CIP2017-06-18:
Multiple Graphs.
Presentation at oCIG 8 on April 11, 2018 by
Stefan Plantikow, Andrés Taylor, Petra Selmer of Neo4j. pdf
forum ![]()
Why multiple graphs?
- Combining and transforming multiple sources - Versioning, snapshotting, computing difference graphs - Graph views for access control - Provisioning applications with tailored graph views - Shaping and integrating heterogeneous graph data - Roll-up and drill-down at different levels of detail
Classic Property Graph Model - A single graph - Labeled nodes with properties - Typed, directed relationships with properties
Multiple Property Graphs Model - Multiple graphs - Labeled nodes with properties and typed, directed relationships with properties existing in a single graph - The nodes of a relationship R must be part of the same graph as R; i.e. each graph is independent
.
Wandering through the PDF I was reminded of my longing for version control that used a combination of understanding the abstract syntax tree of the programming language and a tree-based diff algorithm instead of our conventional line-based diff algorithms.
It would be nice to see diffs that showed a method extraction, for example. And it would be nice to reason about changes to code more closely to their grammatical structures. I think it would change the way we code.
This time around I found some new vocabulary (compared to the last time I went searching for prior art)
- Graph isomorphism problem: wikipedia
turns out to be an area deeply explored
- Differences between tree structures: stackoverflow
Trees are simpler than graphs. Some answers include pointers to specific existing libraries.