K OJAPH : Visual definition and exploration of patterns in graph - - PowerPoint PPT Presentation

k ojaph visual definition and
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

KOJAPH: Visual definition and exploration of patterns in graph databases

Walter Didimo, Francesco Giacchè, Fabrizio Montecchiani

University of Perugia, ITALY

slide-2
SLIDE 2

Objective

Providing software tools to easily define and explore patterns in networked data sets (networks) Requirements:

  • simplicity  defining desired patterns through a visual language
  • scalability  handling big (networked) data through graph databases
  • flexibility  relying on different graph database management systems

(GDBMSes)

slide-3
SLIDE 3

Motivation

  • Graph databases are of growing interest in many application

domains that handle big data (social sciences, homeland security, finance, biology, computer networks, ..)

  • Many users need to analyze data without learning the native query

language of a GDBMS

  • Several efficient GDBMSes available
slide-4
SLIDE 4

Relational and Graph Databases

  • Relational databases (SQL):
  • bjects and their relations are

represented by tables and referential integrity constraints among them

  • Graph databases (NoSQL):
  • bjects and their relations are

directly represented as a graph

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

slide-5
SLIDE 5

Contribution

Kojaph: prototype system

  • visual language integrated in a simple user interface to define patterns
  • tools to explore the results (… and neighborhoods)
  • flexible architecture to use the system on top of different GDBMSes
slide-6
SLIDE 6

Contribution

Kojaph: prototype system

  • visual language integrated in a simple user interface to define patterns
  • tools to explore the results (… and neighborhoods)
  • flexible architecture to use the system on top of different GDBMSes

but .. why this name?

slide-7
SLIDE 7

Contribution

Kojaph: prototype system

  • visual language integrated in a simple user interface to define patterns
  • tools to explore the results (… and neighborhoods)
  • flexible architecture to use the system on top of different GDBMSes

Kojak

but .. why this name?

slide-8
SLIDE 8

Contribution

Kojaph: prototype system

  • visual language integrated in a simple user interface to define patterns
  • tools to explore the results (… and neighborhoods)
  • flexible architecture to use the system on top of different GDBMSes

Kojak Kojaph

but .. why this name?

slide-9
SLIDE 9

Related Work

  • Graphite [Chau et al., IEEE ICDM 2008]

− 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

  • QGraph [Blau et al., Tech. Rep. Univ. of Massachussets, 2002]

− powerful visual language − partially implemented in a system (Proximity) – an "old" project, not conceived to rely on current popular GDBMSes (like, e.g., Neo4J)

slide-10
SLIDE 10

Graph pattern matching in Kojaph

G

GP RP

asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgj

rules on nodes and edges of GP graph topology an edge of GP can also correspond to a path

slide-11
SLIDE 11

Graph pattern matching in Kojaph

G

GP RP

asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgj

rules 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 hgdjhgj

query

slide-12
SLIDE 12

Graph pattern matching in Kojaph

G

GP RP

asdasdasdadas dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja hgsdkjahgsdkjh agsdkjagssdhgh ghgjahsjhgdjhgj

rules 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 hgdjhgj

an edge of GP can also correspond to a path

asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj

query

slide-13
SLIDE 13

Rules in a pattern

  • Properties on node/edge attributes

− constant values (node/edge types), user input values and collections − comparison operators (=, >, <, …, ~=, in, collects) − math operators (+, -, *, /) − other symbols (parenthesis, ..)

  • Path constraints (lower and upper bounds on path lengths)

− properties can also be defined on the generic nodes and edges of a path

  • Properties must be combined in a boolean formula, consisting of

AND, OR, and NOT operators

  • the formula is visually represented as a (binary) tree
slide-14
SLIDE 14

Interface of Kojaph: Overview

graph editor and attribute selector properties tree (rules/constr.) property editor

slide-15
SLIDE 15

Graph editor and attribute selector

slide-16
SLIDE 16

Property editor

slide-17
SLIDE 17

Tree of properties

Monica Bellucci Tom Cruise Comedy Horror / Action path of length 2

slide-18
SLIDE 18

Presentation of the results

The layouts are computed with the force-directed algorithm in D3.js

slide-19
SLIDE 19

Local exploration

slide-20
SLIDE 20

System architecture and implementation

We realized an implementation of the interface for the Neo4J GDBMS, using Cypher as query language

slide-21
SLIDE 21

From the Kojaph visual language to Cypher

  • A graph pattern expressed in Kojaph is translated into a

corresponding Cypher query in O(n) time

− n = size of the pattern (size of the graph + size of the properties tree + number of path constraints)

Example of translation

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, …

slide-22
SLIDE 22

Short video (example 1)

slide-23
SLIDE 23

Future work

Enhancing Kojaph

  • Increasing the expressiveness of the visual language

− e.g., adding numerical annotations to nodes

  • Adding more layout functionalities to explore the results

− different drawing conventions for different types of patterns

slide-24
SLIDE 24

Future work

Enhancing Kojaph

  • Increasing the expressiveness of the visual language

− e.g., adding numerical annotations to nodes

  • Adding more layout functionalities to explore the results

− different drawing conventions for different types of patterns

slide-25
SLIDE 25

Future work

Enhancing Kojaph

  • Increasing the expressiveness of the visual language

− e.g., adding numerical annotations to nodes

  • Adding more layout functionalities to explore the results

− different drawing conventions for different types of patterns

slide-26
SLIDE 26

Future work

Enhancing Kojaph

  • Increasing the expressiveness of the visual language

− e.g., adding numerical annotations to nodes

  • Adding more layout functionalities to explore the results

− different drawing conventions for different types of patterns

slide-27
SLIDE 27

Future work

Enhancing Kojaph

  • Increasing the expressiveness of the visual language

− e.g., adding numerical annotations to nodes

  • Adding more layout functionalities to explore the results

− different drawing conventions for different types of patterns

  • Testing Kojaph on different GDBMSes other than Neo4J
  • Evaluate the usability of Kojaph vs other similar systems (Graphite,

Proximity, ..)

slide-28
SLIDE 28

Thanks for your attention!

http://mozart.diei.unipg.it:8080/Kojaph/