2013 april gruff webinar san diego copy


Published on

An introduction to graph analytics using Gruff: a Visual Discovery Tool

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

2013 april gruff webinar san diego copy

  1. 1. GRUFFBecoming a power userSan Diego VersionJans Aasman, Ken CheethamFranz Inc
  2. 2. Highlights• Navigate large graphs in a user friendly way• Automatically derive SPARQL and Prolog queries frominteresting patterns on the screen.• Discover links between nodes automatically• Use a real AI language to explore the graph (Prolog)• And some other goodies– Programmatically control Gruff over http– Show pictures for nodes.
  3. 3. 11 short lessons1. Download the right Gruff (standalone vs server version)2. Manage triple stores– Import triples, display triples, freetext index triples.3. Graph view: see triples as nodes and links4. Table view: see triples as objects in tables5. Outline view: see triples as hierarchies6. Query view: writing SPARQL and Prolog for real men7. Visual Query builder: build queries using point and click8. Visual Discovery: build queries using patterns on the screen9. Control Gruff through REST10. Use pictures on nodes11. Server edition of AllegroGraph and Gruff.
  4. 4. [1] Download the right GruffFranz provides two version of Gruff• Version 5 for AG 33– Standalone, AllegroGraph built in.– Works on all platforms: Windows, Linux, Mac, 32 bit and 64 bit.– Perfect for exploring small and medium sized datasets• Version 5 for AG 4.10– For very large datasets and production systems– If you need an enterprise database with transactions and ACIDbehaviour, backup, restore, point in time recovery, warm failover,triple level security, server side javascript etc etc.– Windows/Mac/Linux client for AllegroGraph server edition– And if you need SPARQL 1.1 and SPIN
  5. 5. My demo today
  6. 6. [2] Manage your triple store• Create a new triple store (file menu)– Make sure you fill in your machine name for local triplestores• Load triples from a file or the web (file menu)• Display all triples up to a limit (display -> display all triples up to a limit)• Remove  all  triples  from  screen  (‘z’  till  blank,  or  ctr-alt-x)• Create free text index (display -> edit freetext predicates)• Search for something using freetext (;)
  7. 7. Oct 2007
  8. 8. ClinicalTrialsBrandMedicinDrugsSideEffectsDiseasesSNOMED MESHPatientRecords
  9. 9. ClinicalTrialsBrandMedicinDrugsSideEffectsDiseasesSNOMED MESHPatientRecordsSystematic Nomenclature of Medicine –Clinical TermsNational Library of Medicines controlledvocabulary thesaurusRecords of Patientstripping and falling
  10. 10. [3]  Graph  View  ‘G’• The  view  you’ll  spend  80  %  of  your  time  in  (well,  I  do)• Some easy starters to get something on the screen– Using freetext indexing (;)– Display all triples up to a limit (display menu)– Do simple SPARQL query in query screen (w) .. Select * where { ?x a ?y . } limit 10 ..Click  on  ‘create-visual-graph’– Display triples by type (display menu)• Select the predicates to show on the screen (p)• Explode nodes (f)• Going back to previous state (z)• Reorder graph ( r )• Nudge the graph (d)• Zoom in and out (middle wheel mouse, or use , and .)
  11. 11. [3]  Graph  View  ‘G’  continued• Explode node by right-clicking and choosing from a menu or a tree• Delete nodes from the screen (x)• Delete all nodes from the screen (ctr-alt-x)• Eraser mode (ctr-shift-x)• Remove orphans (shift-o)• Show full namespaces (shift-8 .. Not F8)• Show predicate names on screen (n)• Find shortest path (shift-f)– Pin nodes, or graph might change too much (i)– What  if  you  can’t  find  a  path?  Choose  more  predicates  and sometimes less – Create larger time window to search– Buy more memory and solid state drives for your laptop– Check in table view if one of the nodes has the right predicates
  12. 12. [3]  Graph  View  ‘G’  continued• Sometimes  you  don’t  want  to  see  the  node  labels  (ctr-8 or– Visual-graph-options -> node labels -> use label preds for nodes)• You can add your own node labels.. Very useful• You can always see the full URL of a node left under the screen• Double  click  on  node  to  go  to  table  view  (or  hit  ‘t’)• Go directly to outline view from selected node (o)• Save a graph layout to disk (ctr-s)• Load a graph layout (ctr-l)• Graph layouts are simple text files and can be shared
  13. 13. [4]  Table  View  ‘T’IF YOU WANT TO SEE YOUR TRIPLES IN A TRADITIONAL TEXTUAL TABLE• Navigate  the  data  by  clicking  on  ‘values’• Above gray line: s p o (where s is the main node we selected)• Under  gray  line:  o  p  s  (note  the  ‘is’  predicate  ‘of)  to  denote  the other direction• Note  how  ‘8’  shows  you  full  URLs  of  nodes• Note  how  ‘Alt-8’  shows  you  how  we  use  node-labels• You  can  create  triples  in  the  table  view,  see  manual…
  14. 14. [5]  Outline  View  ‘O’IF YOU HAVE DEEP HIERARCHICAL DATA AND YOU NEED TO RETAIN THE CONTEXTWHILE NAVIGATING.• Navigate the data by clicking on little arrows– Blue: outgoing triples– Black:  triples  pointing  to  previous  level  (not  the  ‘is’  …  ‘of’  around the predicates• Display:– Note  how  ‘8’  shows  you  full  URLs  of  nodes– Note  how  ‘Alt-8’  shows  you  how  we  use  node-labels• You  can  create  triples  in  the  table  view,  see  manual…
  15. 15. [6] Query View – ‘W’• Write queries in SPARQL and Prolog – by writing code• Use namespace abbreviations (b) to avoid typing prefixes• Turn output into Graph or CSV• Managing queries– Save queries (ctr-s)– Load queries (ctr-l)• Investigate  menu  …  query  options– One can change the time limit..
  16. 16. [7]  Visual  Query  Editor  ‘E’• Build queries visually – no code!• Most things work like the graphical query view– Search for freetext (;)• Right click on screen to create new variables• Right click on variables to create new predicates with dragand drop– Multiple ways to choose names of predicates.. See menus
  17. 17. [8] Discovery: using patterns onthe screen to build queries• Create interesting patterns on the screen using everythingyou learned so far• Find a trail that you think is interesting• Highlight each node in trail (ctr-left-click  or  ‘h’)• Move highlighted nodes to query editor (ctr-alt-h)• Change some variables
  18. 18. [9 ]Controlling Gruffprogrammatically through HTTP• Start Gruff as a server:– Global options -> communications -> start http:server• Documentation:– F1 in Gruff, search for http• Two very simple examples:– http://localhost:8000/update-layout?redo=yes– http://localhost:8000/store-info?attribute=store-name• And a slightly more complicated one: finding links between two nodes• http://localhost:8000/find-paths?node1=http%3A%2F%2Fwww.cyc.com%2F2002%2F04%2F08%2Fcyc%23economicStability&node2=http%3A%2F%2Fwww.cyc.com%2F2002%2F04%2F08%2Fcyc%23CoalitionPartnerFieldOPSSecretLAN-DASSA&predicates=current&keep-old-nodes=yes
  19. 19. [10] Using Pictures for Nodes
  20. 20. [10] Using Pictures for Nodes• Tell Gruff what predicate to use for pixmaps– <jans>  <pixmap>  “pictureOfJans.ico”– Global-options -> node label predicates -> custom predicates for node label pixmaps.• And tell Gruff the base location of your pixmaps– You can use relative filenames– You can use jpg png bmp ico– Global-options->miscellaneous->document base folder
  21. 21. [11] Using Gruff with the Server• First:  install  Server,  or  VM  or  use  Hosted  version…
  22. 22. [11] Using Gruff with the Server• Second: download Gruff client for Server
  23. 23. In this example I start the VM• Click on agstart.sh
  24. 24. • Find  the  ip  address  of  the  server  (if  you  don’t  have  fixed  ip)
  25. 25. Road Map• Connecting with other triple stores• Circle Views, Hierarchical Views, etc• Statistical Analysis and Business Intelligence functionality• Bayesian belief networks• Extensive support for GeoSpatial, Temporal and Social Network Analysis inSPARQL• Tell us What You Want.