KOJAPH: Visual definition and exploration of patterns in graph databases
Walter Didimo, Francesco Giacchè, Fabrizio Montecchiani
University of Perugia, ITALY
K OJAPH : Visual definition and exploration of patterns in graph - - PowerPoint PPT Presentation
K OJAPH : Visual definition and exploration of patterns in graph databases Walter Didimo, Francesco Giacch, Fabrizio Montecchiani University of Perugia, ITALY Objective Providing software tools to easily define and explore patterns in
University of Perugia, ITALY
(GDBMSes)
movie_ID Movie title year … Actor actor_ID name gender … MovieActor movie_ID actor_ID acts-in … 1 1 Movie movie_ID title year Actor actor_ID name gender acts-in
− It has its own pattern matching algorithms, and cannot be used with other existing GDBMSes − only simple patterns can be defined − limited interaction to explore the results
− powerful visual language − partially implemented in a system (Proximity) – an "old" project, not conceived to rely on current popular GDBMSes (like, e.g., Neo4J)
GP RP
asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgjrules on nodes and edges of GP graph topology an edge of GP can also correspond to a path
GP RP
asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgjrules on nodes and edges of GP graph topology an edge of GP can also correspond to a path
asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgjquery
GP RP
asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgjrules on nodes and edges of GP graph topology
asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgjan edge of GP can also correspond to a path
asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgjquery
− constant values (node/edge types), user input values and collections − comparison operators (=, >, <, …, ~=, in, collects) − math operators (+, -, *, /) − other symbols (parenthesis, ..)
− properties can also be defined on the generic nodes and edges of a path
graph editor and attribute selector properties tree (rules/constr.) property editor
Monica Bellucci Tom Cruise Comedy Horror / Action path of length 2
The layouts are computed with the force-directed algorithm in D3.js
− n = size of the pattern (size of the graph + size of the properties tree + number of path constraints)
MATCH (n2)-[e1*2..2]-(n4), (n4)-[e2]-(n3), (n4)-[e3] -(n1), (n3)-[e4]-(n5) WHERE ( (n2.name="Monica Bellucci" AND labels(n2) = [Person, Actor]) AND (n5.name = "Tom Cruise" AND labels(n5)= [Person, Actor]) AND labels(n4)=[Person,Actor] ) AND ( (n1.genre="Comedy" AND labels(n1)="Movie") AND ( labels(n3)="Movie" AND (n3.genre="Action" OR n3.genre="Horror") ) RETURN n1,n2,n3,n4,n5,e1,e2,e3,e4, …
− e.g., adding numerical annotations to nodes
− different drawing conventions for different types of patterns
− e.g., adding numerical annotations to nodes
− different drawing conventions for different types of patterns
− e.g., adding numerical annotations to nodes
− different drawing conventions for different types of patterns
− e.g., adding numerical annotations to nodes
− different drawing conventions for different types of patterns
− e.g., adding numerical annotations to nodes
− different drawing conventions for different types of patterns