GRUFF
Becoming a power user
San Diego Version
Jans Aasman, Ken Cheetham
Franz Inc
Highlights
• Navigate large graphs in a user friendly way
• Automatically derive SPARQL and Prolog queries from
interesting 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.
11 short lessons
1. 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 links
4. Table view: see triples as objects in tables
5. Outline view: see triples as hierarchies
6. Query view: writing SPARQL and Prolog for real men
7. Visual Query builder: build queries using point and click
8. Visual Discovery: build queries using patterns on the screen
9. Control Gruff through REST
10. Use pictures on nodes
11. Server edition of AllegroGraph and Gruff.
[1] Download the right Gruff
Franz 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 ACID
behaviour, 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
My demo today
[2] Manage your triple store
• Create a new triple store (file menu)
– Make sure you fill in your machine name for local triple
stores
• 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 (;)
Oct 2007
Clinical
Trials
Brand
Medicin
Drugs
Side
Effects
Diseases
SNOMED MESH
Patient
Records
Clinical
Trials
Brand
Medicin
Drugs
Side
Effects
Diseases
SNOMED MESH
Patient
Records
Systematic Nomenclature of Medicine –
Clinical Terms
National Library of Medicine's controlled
vocabulary thesaurus
Records of Patients
tripping and falling
[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 .)
[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
[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
[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…
[5]  Outline  View  ‘O’
IF YOU HAVE DEEP HIERARCHICAL DATA AND YOU NEED TO RETAIN THE CONTEXT
WHILE 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…
[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..
[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 drag
and drop
– Multiple ways to choose names of predicates.. See menus
[8] Discovery: using patterns on
the screen to build queries
• Create interesting patterns on the screen using everything
you 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
[9 ]Controlling Gruff
programmatically 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%2Fcy
c%23economicStability&node2=http%3A%2F%2Fwww.cyc.com%2F2002%
2F04%2F08%2Fcyc%23CoalitionPartnerFieldOPSSecretLAN-
DASSA&predicates=current&keep-old-nodes=yes
[10] Using Pictures for Nodes
[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
[11] Using Gruff with the Server
• First:  install  Server,  or  VM  or  use  Hosted  version…
[11] Using Gruff with the Server
• Second: download Gruff client for Server
In this example I start the VM
• Click on agstart.sh
• Find  the  ip  address  of  the  server  (if  you  don’t  have  fixed  ip)
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 in
SPARQL
• Tell us What You Want.

2013 april gruff webinar san diego copy

  • 1.
    GRUFF Becoming a poweruser San Diego Version Jans Aasman, Ken Cheetham Franz Inc
  • 2.
    Highlights • Navigate largegraphs in a user friendly way • Automatically derive SPARQL and Prolog queries from interesting 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.
    11 short lessons 1.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 links 4. Table view: see triples as objects in tables 5. Outline view: see triples as hierarchies 6. Query view: writing SPARQL and Prolog for real men 7. Visual Query builder: build queries using point and click 8. Visual Discovery: build queries using patterns on the screen 9. Control Gruff through REST 10. Use pictures on nodes 11. Server edition of AllegroGraph and Gruff.
  • 4.
    [1] Download theright Gruff Franz 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 ACID behaviour, 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.
  • 6.
    [2] Manage yourtriple store • Create a new triple store (file menu) – Make sure you fill in your machine name for local triple stores • 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.
  • 10.
  • 11.
    Clinical Trials Brand Medicin Drugs Side Effects Diseases SNOMED MESH Patient Records Systematic Nomenclatureof Medicine – Clinical Terms National Library of Medicine's controlled vocabulary thesaurus Records of Patients tripping and falling
  • 12.
    [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 .)
  • 13.
    [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
  • 14.
    [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
  • 15.
    [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…
  • 16.
    [5]  Outline  View ‘O’ IF YOU HAVE DEEP HIERARCHICAL DATA AND YOU NEED TO RETAIN THE CONTEXT WHILE 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…
  • 17.
    [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..
  • 18.
    [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 drag and drop – Multiple ways to choose names of predicates.. See menus
  • 19.
    [8] Discovery: usingpatterns on the screen to build queries • Create interesting patterns on the screen using everything you 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
  • 20.
    [9 ]Controlling Gruff programmaticallythrough 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%2Fcy c%23economicStability&node2=http%3A%2F%2Fwww.cyc.com%2F2002% 2F04%2F08%2Fcyc%23CoalitionPartnerFieldOPSSecretLAN- DASSA&predicates=current&keep-old-nodes=yes
  • 21.
  • 22.
    [10] Using Picturesfor 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
  • 23.
    [11] Using Gruffwith the Server • First:  install  Server,  or  VM  or  use  Hosted  version…
  • 24.
    [11] Using Gruffwith the Server • Second: download Gruff client for Server
  • 25.
    In this exampleI start the VM • Click on agstart.sh
  • 26.
    • Find  the ip  address  of  the  server  (if  you  don’t  have  fixed  ip)
  • 27.
    Road Map • Connectingwith 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 in SPARQL • Tell us What You Want.