Date post: | 01-Jul-2015 |
Category: |
Technology |
Upload: | semantic-web-san-diego |
View: | 135 times |
Download: | 2 times |
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%2Fcyc%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.