k ojaph visual definition and
play

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


  1. K OJAPH : Visual definition and exploration of patterns in graph databases Walter Didimo, Francesco Giacchè, Fabrizio Montecchiani University of Perugia, ITALY

  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)

  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

  4. Relational and Graph Databases • Relational databases (SQL): • Graph databases (NoSQL): objects and their relations are objects and their relations are represented by tables and directly represented as a graph referential integrity constraints among them Movie 1 Actor Actor Movie movie_ID 1 acts-in actor_ID MovieActor title actor_ID movie_ID name name title movie_ID year  gender gender year actor_ID …  … acts-in …

  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

  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?

  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 but .. why this name? Kojak

  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 but .. why this name? Kojak Kojaph

  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)

  10. Graph pattern matching in Kojaph rules on nodes and graph asdasdasdadas R P dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja G P edges of G P hgsdkjahgsdkjh agsdkjagssdhgh topology ghgjahsjhgdjhgj an edge of G P can also correspond to a path G

  11. Graph pattern matching in Kojaph rules on nodes and graph asdasdasdadas R P dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja G P edges of G P hgsdkjahgsdkjh agsdkjagssdhgh asdasdasdadas topology ghgjahsjhgdjhgj dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj query an edge of G P can also correspond to a path G

  12. Graph pattern matching in Kojaph rules on nodes and graph asdasdasdadas R P dashsdajhsjgdk ajhgsdkajhgsdk ajhgsdkjagsdkja G P edges of G P hgsdkjahgsdkjh agsdkjagssdhgh asdasdasdadas topology ghgjahsjhgdjhgj dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj query an edge of G P can also correspond to a path asdasdasdadas dashsdajhsjgd asdasdasdadas kajhgsdkajhgs dashsdajhsjgd dkajhgsdkjags kajhgsdkajhgs dkjahgsdkjahg dkajhgsdkjags sdkjhagsdkjags dkjahgsdkjahg sdhghghgjahsj sdkjhagsdkjags hgdjhgj asdasdasdadas sdhghghgjahsj dashsdajhsjgd hgdjhgj kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj G hgdjhgj asdasdasdadas dashsdajhsjgd kajhgsdkajhgs dkajhgsdkjags dkjahgsdkjahg sdkjhagsdkjags sdhghghgjahsj hgdjhgj

  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

  14. Interface of Kojaph: Overview properties tree graph editor and (rules/constr.) attribute selector property editor

  15. Graph editor and attribute selector

  16. Property editor

  17. Tree of properties Tom Horror / Cruise Action Monica Bellucci Comedy path of length 2

  18. Presentation of the results The layouts are computed with the force-directed algorithm in D3.js

  19. Local exploration

  20. System architecture and implementation We realized an implementation of the interface for the Neo4J GDBMS, using Cypher as query language

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

  22. Short video (example 1)

  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

  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

  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

  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

  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, ..)

  28. Thanks for your attention! http://mozart.diei.unipg.it:8080/Kojaph/

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend