SlideShare a Scribd company logo
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.

More Related Content

What's hot

Matplotlib
MatplotlibMatplotlib
Matplotlib
Amir Shokri
 
Intoduction to dynamic memory allocation
Intoduction to dynamic memory allocationIntoduction to dynamic memory allocation
Intoduction to dynamic memory allocation
Utsav276
 
Educational slides by venay magen
Educational slides by venay magenEducational slides by venay magen
Educational slides by venay magen
venaymagen19
 
Dynamic memory allocation
Dynamic memory allocationDynamic memory allocation
Dynamic memory allocation
Naveen Gupta
 
Use the Matplotlib, Luke @ PyCon Taiwan 2012
Use the Matplotlib, Luke @ PyCon Taiwan 2012Use the Matplotlib, Luke @ PyCon Taiwan 2012
Use the Matplotlib, Luke @ PyCon Taiwan 2012
Wen-Wei Liao
 
Pointers and Dynamic Memory Allocation
Pointers and Dynamic Memory AllocationPointers and Dynamic Memory Allocation
Pointers and Dynamic Memory Allocation
Rabin BK
 
Avl tree
Avl treeAvl tree
Dma
DmaDma
Exploiting Memory Overflows
Exploiting Memory OverflowsExploiting Memory Overflows
Exploiting Memory Overflows
Ankur Tyagi
 
3. basic data structures(2)
3. basic data structures(2)3. basic data structures(2)
3. basic data structures(2)
Hongjun Jang
 
Files
FilesFiles
Exploring slides
Exploring slidesExploring slides
Exploring slides
akaptur
 
Introduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogicIntroduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogic
SmartLogic
 
Class 8b: Numpy & Matplotlib
Class 8b: Numpy & MatplotlibClass 8b: Numpy & Matplotlib
Class 8b: Numpy & Matplotlib
Marc Gouw
 
Api presentation
Api presentationApi presentation
Api presentation
Susant Sahani
 
Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)
Kamal Acharya
 
Macros code Copy paste visible data after filtering
Macros code Copy paste visible data after filteringMacros code Copy paste visible data after filtering
Macros code Copy paste visible data after filtering
Pramodkumar Jha
 
Matplotlib demo code
Matplotlib demo codeMatplotlib demo code
Matplotlib demo code
pythonsd
 
tf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input Pipelinetf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input Pipeline
Alluxio, Inc.
 

What's hot (19)

Matplotlib
MatplotlibMatplotlib
Matplotlib
 
Intoduction to dynamic memory allocation
Intoduction to dynamic memory allocationIntoduction to dynamic memory allocation
Intoduction to dynamic memory allocation
 
Educational slides by venay magen
Educational slides by venay magenEducational slides by venay magen
Educational slides by venay magen
 
Dynamic memory allocation
Dynamic memory allocationDynamic memory allocation
Dynamic memory allocation
 
Use the Matplotlib, Luke @ PyCon Taiwan 2012
Use the Matplotlib, Luke @ PyCon Taiwan 2012Use the Matplotlib, Luke @ PyCon Taiwan 2012
Use the Matplotlib, Luke @ PyCon Taiwan 2012
 
Pointers and Dynamic Memory Allocation
Pointers and Dynamic Memory AllocationPointers and Dynamic Memory Allocation
Pointers and Dynamic Memory Allocation
 
Avl tree
Avl treeAvl tree
Avl tree
 
Dma
DmaDma
Dma
 
Exploiting Memory Overflows
Exploiting Memory OverflowsExploiting Memory Overflows
Exploiting Memory Overflows
 
3. basic data structures(2)
3. basic data structures(2)3. basic data structures(2)
3. basic data structures(2)
 
Files
FilesFiles
Files
 
Exploring slides
Exploring slidesExploring slides
Exploring slides
 
Introduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogicIntroduction to Type Script by Sam Goldman, SmartLogic
Introduction to Type Script by Sam Goldman, SmartLogic
 
Class 8b: Numpy & Matplotlib
Class 8b: Numpy & MatplotlibClass 8b: Numpy & Matplotlib
Class 8b: Numpy & Matplotlib
 
Api presentation
Api presentationApi presentation
Api presentation
 
Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)Dynamic Memory Allocation(DMA)
Dynamic Memory Allocation(DMA)
 
Macros code Copy paste visible data after filtering
Macros code Copy paste visible data after filteringMacros code Copy paste visible data after filtering
Macros code Copy paste visible data after filtering
 
Matplotlib demo code
Matplotlib demo codeMatplotlib demo code
Matplotlib demo code
 
tf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input Pipelinetf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input Pipeline
 

Similar to 2013 april gruff webinar san diego copy

OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011
Antony T Curtis
 
Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...
Robert Schadek
 
Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scripts
Michael Lee
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
Steve Caron
 
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
DataStax Academy
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
Edward Capriolo
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
Kostas Tzoumas
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
C4Media
 
Modern_Java_Workshop manjunath np hj slave
Modern_Java_Workshop manjunath np hj slaveModern_Java_Workshop manjunath np hj slave
Modern_Java_Workshop manjunath np hj slave
gangadharnp111
 
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Kai Chan
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
Douglas Chen
 
Hadoop and HBase experiences in perf log project
Hadoop and HBase experiences in perf log projectHadoop and HBase experiences in perf log project
Hadoop and HBase experiences in perf log project
Mao Geng
 
OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013
Antony T Curtis
 
Surpac geological modelling 3
Surpac geological modelling 3Surpac geological modelling 3
Surpac geological modelling 3
Moulay abdelaziz EL Amrani
 
Return of c++
Return of c++Return of c++
Return of c++
Yongwei Wu
 
Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop
Velocidex Enterprises
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
Mirco Vanini
 
Flink internals web
Flink internals web Flink internals web
Flink internals web
Kostas Tzoumas
 
Fletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAFletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGA
Ganesan Narayanasamy
 
pm1
pm1pm1

Similar to 2013 april gruff webinar san diego copy (20)

OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011OQGraph at MySQL Users Conference 2011
OQGraph at MySQL Users Conference 2011
 
Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...Asynchronous single page applications without a line of HTML or Javascript, o...
Asynchronous single page applications without a line of HTML or Javascript, o...
 
Writing Cadence Ocean scripts
Writing Cadence Ocean scriptsWriting Cadence Ocean scripts
Writing Cadence Ocean scripts
 
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
[ CNCF Q1 2024 ] Intro to Continuous Profiling and Grafana Pyroscope.pdf
 
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
NYC* 2013 - "Advanced Data Processing: Beyond Queries and Slices"
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internals
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 
Modern_Java_Workshop manjunath np hj slave
Modern_Java_Workshop manjunath np hj slaveModern_Java_Workshop manjunath np hj slave
Modern_Java_Workshop manjunath np hj slave
 
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
Search Engine-Building with Lucene and Solr, Part 2 (SoCal Code Camp LA 2013)
 
不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)不深不淺,帶你認識 LLVM (Found LLVM in your life)
不深不淺,帶你認識 LLVM (Found LLVM in your life)
 
Hadoop and HBase experiences in perf log project
Hadoop and HBase experiences in perf log projectHadoop and HBase experiences in perf log project
Hadoop and HBase experiences in perf log project
 
OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013
 
Surpac geological modelling 3
Surpac geological modelling 3Surpac geological modelling 3
Surpac geological modelling 3
 
Return of c++
Return of c++Return of c++
Return of c++
 
Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
 
Flink internals web
Flink internals web Flink internals web
Flink internals web
 
Fletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAFletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGA
 
pm1
pm1pm1
pm1
 

More from Semantic Web San Diego

Sindice warehousing meetup
Sindice warehousing meetupSindice warehousing meetup
Sindice warehousing meetup
Semantic Web San Diego
 
The RDFa, seo wave
The RDFa, seo waveThe RDFa, seo wave
The RDFa, seo wave
Semantic Web San Diego
 
Rdfa semtech2011
Rdfa semtech2011Rdfa semtech2011
Rdfa semtech2011
Semantic Web San Diego
 
Semantic Web and the Web Of Commerce - pdf version
Semantic Web and the Web Of Commerce - pdf versionSemantic Web and the Web Of Commerce - pdf version
Semantic Web and the Web Of Commerce - pdf version
Semantic Web San Diego
 
Semantic Web and web of commerce - Disruptive technology
Semantic Web and web of commerce - Disruptive technologySemantic Web and web of commerce - Disruptive technology
Semantic Web and web of commerce - Disruptive technology
Semantic Web San Diego
 
Semantic Web, e-commerce
Semantic Web, e-commerceSemantic Web, e-commerce
Semantic Web, e-commerce
Semantic Web San Diego
 
Simplifying semantics for biomedical applications
Simplifying semantics for biomedical applicationsSimplifying semantics for biomedical applications
Simplifying semantics for biomedical applications
Semantic Web San Diego
 
Sd sem weboct252010
Sd sem weboct252010Sd sem weboct252010
Sd sem weboct252010
Semantic Web San Diego
 
Bio Seminar 2010
Bio Seminar 2010Bio Seminar 2010
Bio Seminar 2010
Semantic Web San Diego
 
San Diego 2010
San Diego 2010San Diego 2010
San Diego 2010
Semantic Web San Diego
 

More from Semantic Web San Diego (10)

Sindice warehousing meetup
Sindice warehousing meetupSindice warehousing meetup
Sindice warehousing meetup
 
The RDFa, seo wave
The RDFa, seo waveThe RDFa, seo wave
The RDFa, seo wave
 
Rdfa semtech2011
Rdfa semtech2011Rdfa semtech2011
Rdfa semtech2011
 
Semantic Web and the Web Of Commerce - pdf version
Semantic Web and the Web Of Commerce - pdf versionSemantic Web and the Web Of Commerce - pdf version
Semantic Web and the Web Of Commerce - pdf version
 
Semantic Web and web of commerce - Disruptive technology
Semantic Web and web of commerce - Disruptive technologySemantic Web and web of commerce - Disruptive technology
Semantic Web and web of commerce - Disruptive technology
 
Semantic Web, e-commerce
Semantic Web, e-commerceSemantic Web, e-commerce
Semantic Web, e-commerce
 
Simplifying semantics for biomedical applications
Simplifying semantics for biomedical applicationsSimplifying semantics for biomedical applications
Simplifying semantics for biomedical applications
 
Sd sem weboct252010
Sd sem weboct252010Sd sem weboct252010
Sd sem weboct252010
 
Bio Seminar 2010
Bio Seminar 2010Bio Seminar 2010
Bio Seminar 2010
 
San Diego 2010
San Diego 2010San Diego 2010
San Diego 2010
 

Recently uploaded

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
DianaGray10
 

Recently uploaded (20)

HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsConnector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectors
 

2013 april gruff webinar san diego copy

  • 1. GRUFF Becoming a power user San Diego Version Jans Aasman, Ken Cheetham Franz Inc
  • 2. 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.
  • 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 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
  • 6. [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 (;)
  • 8.
  • 9.
  • 11. 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
  • 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: 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
  • 20. [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
  • 21. [10] Using Pictures for Nodes
  • 22. [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
  • 23. [11] Using Gruff with the Server • First:  install  Server,  or  VM  or  use  Hosted  version…
  • 24. [11] Using Gruff with the Server • Second: download Gruff client for Server
  • 25. In this example I 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 • 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.