Graphflow is a prototype active graph database. Graphflow evaluates general one-time and continuous subgraph queries and supports the property graph model. The database provides a Cypher-like interface, which extends aspects of the openCypher query language with subgraph-condition-action triggers. At the core of Graphflow’s query processor are two worst-case optimal join algorithms called Generic Join and our new Delta Generic Join algorithm for one-time and continuous subgraph queries, respectively.
[3/01/19] Check out our new paper on optimizing subgraph queries using worst-case optimal joins and binary joins. Worst-case optimal (WCO) joins are n-ary joins using intersections. WCO plans require an ordering on the attributes to match them one at a time. We study the problem of attribute ordering. We combine the linear WCO plans with binary joins (Hash Join operators) and produce what we name in the paper Hybrid plans. WCO plans and Hybrid plans in our system are produced by a dynamic programming optimizer which takes the cost of intersections in WCO plans and combines it with the cost of Hash Join operators. Finally, we introduce an adaptive query optimization for WCO plans by picking a different attribute ordering per input tuple at different operators in the dataflow.
[5/14/17] We present the capabilities of Graphflow, a new graph database built from scratch in three ways: (1) A magicRecs application: Continuously detecting who-follows-whom twitter diamond patterns and sending follower recommendations as emails to the attendees; (2) SIGMOD Cliques application: Continuously finds a clique of 4 users and showing the most recent cliques of SIGMOD attendees on our monitor; and (3) the runtime difference between worst-case optimal (WCO) plans and traditional binary join (BJ) plans.