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

Viewers also liked

Harald Hegstad, Menihgedsudvikling i Den norske Kirke
Harald Hegstad, Menihgedsudvikling i Den norske KirkeHarald Hegstad, Menihgedsudvikling i Den norske Kirke
Harald Hegstad, Menihgedsudvikling i Den norske KirkeMogens Mogensen
 
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...legal5
 
Linking benefits to recruitment without breaking the budget
Linking benefits to recruitment without breaking the budgetLinking benefits to recruitment without breaking the budget
Linking benefits to recruitment without breaking the budget
ThomasRussell
 
Denise's tribute from E243!
Denise's tribute from E243!Denise's tribute from E243!
Denise's tribute from E243!guest6a16d9
 
Tls Presentation
Tls PresentationTls Presentation
Tls Presentation
aiyetoro taylor
 
Posrednichstvo
PosrednichstvoPosrednichstvo
Posrednichstvodronzina
 
Hills Newsletter
Hills NewsletterHills Newsletter
Hills Newsletter
Polly
 
Legal Doc
Legal DocLegal Doc
Legal Doclegal5
 
Encouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
Encouraging Sustainability: Use of LEED to Enhance Focus on SustainabilityEncouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
Encouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
Daniel Haddock
 
Top 10 Social Media Comebacks
Top 10 Social Media ComebacksTop 10 Social Media Comebacks
Top 10 Social Media Comebacks
Marketwired
 
Legal History Of Spam
Legal  History Of SpamLegal  History Of Spam
Legal History Of Spamlegal5
 
Medical Malpractice And Contract Disclosure A Study Of The
Medical Malpractice And Contract Disclosure A Study Of TheMedical Malpractice And Contract Disclosure A Study Of The
Medical Malpractice And Contract Disclosure A Study Of Thelegal5
 
Making social media monitoring and analytics work for your brand
Making social media monitoring and analytics work for your brandMaking social media monitoring and analytics work for your brand
Making social media monitoring and analytics work for your brand
Marketwired
 
Ohs china preview 2013
Ohs china preview 2013Ohs china preview 2013
Ohs china preview 2013
robert ponzio
 
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
Dean Bubley
 
Environment for Access
Environment for AccessEnvironment for Access
Environment for Access
Keira Dooley
 

Viewers also liked (20)

Harald Hegstad, Menihgedsudvikling i Den norske Kirke
Harald Hegstad, Menihgedsudvikling i Den norske KirkeHarald Hegstad, Menihgedsudvikling i Den norske Kirke
Harald Hegstad, Menihgedsudvikling i Den norske Kirke
 
2.2.7relays
2.2.7relays2.2.7relays
2.2.7relays
 
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...
Avoiding Malpractice Conflicts Of Interest In Bankruptcy ...
 
Linking benefits to recruitment without breaking the budget
Linking benefits to recruitment without breaking the budgetLinking benefits to recruitment without breaking the budget
Linking benefits to recruitment without breaking the budget
 
Denise's tribute from E243!
Denise's tribute from E243!Denise's tribute from E243!
Denise's tribute from E243!
 
Tls Presentation
Tls PresentationTls Presentation
Tls Presentation
 
2.3.3ratings
2.3.3ratings2.3.3ratings
2.3.3ratings
 
Posrednichstvo
PosrednichstvoPosrednichstvo
Posrednichstvo
 
Dry1
Dry1Dry1
Dry1
 
Hills Newsletter
Hills NewsletterHills Newsletter
Hills Newsletter
 
Legal Doc
Legal DocLegal Doc
Legal Doc
 
Encouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
Encouraging Sustainability: Use of LEED to Enhance Focus on SustainabilityEncouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
Encouraging Sustainability: Use of LEED to Enhance Focus on Sustainability
 
Top 10 Social Media Comebacks
Top 10 Social Media ComebacksTop 10 Social Media Comebacks
Top 10 Social Media Comebacks
 
Legal History Of Spam
Legal  History Of SpamLegal  History Of Spam
Legal History Of Spam
 
Medical Malpractice And Contract Disclosure A Study Of The
Medical Malpractice And Contract Disclosure A Study Of TheMedical Malpractice And Contract Disclosure A Study Of The
Medical Malpractice And Contract Disclosure A Study Of The
 
Making social media monitoring and analytics work for your brand
Making social media monitoring and analytics work for your brandMaking social media monitoring and analytics work for your brand
Making social media monitoring and analytics work for your brand
 
Ohs china preview 2013
Ohs china preview 2013Ohs china preview 2013
Ohs china preview 2013
 
Claims Plus Presentation
Claims Plus PresentationClaims Plus Presentation
Claims Plus Presentation
 
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
WebRTC Asia Forum - What is it & why is it important? Dean Bubley, Disruptive...
 
Environment for Access
Environment for AccessEnvironment for Access
Environment for Access
 

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 2011Antony 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 scriptsMichael 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
 
Fletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGAFletcher Framework for Programming FPGA
Fletcher Framework for Programming FPGA
Ganesan Narayanasamy
 

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
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 

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.