SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
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.

Contenu connexe

Tendances

Intoduction to dynamic memory allocation
Intoduction to dynamic memory allocationIntoduction to dynamic memory allocation
Intoduction to dynamic memory allocationUtsav276
 
Educational slides by venay magen
Educational slides by venay magenEducational slides by venay magen
Educational slides by venay magenvenaymagen19
 
Dynamic memory allocation
Dynamic memory allocationDynamic memory allocation
Dynamic memory allocationNaveen 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 2012Wen-Wei Liao
 
Pointers and Dynamic Memory Allocation
Pointers and Dynamic Memory AllocationPointers and Dynamic Memory Allocation
Pointers and Dynamic Memory AllocationRabin BK
 
Exploiting Memory Overflows
Exploiting Memory OverflowsExploiting Memory Overflows
Exploiting Memory OverflowsAnkur 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 slidesakaptur
 
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, SmartLogicSmartLogic
 
Class 8b: Numpy & Matplotlib
Class 8b: Numpy & MatplotlibClass 8b: Numpy & Matplotlib
Class 8b: Numpy & MatplotlibMarc 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 filteringPramodkumar Jha
 
Matplotlib demo code
Matplotlib demo codeMatplotlib demo code
Matplotlib demo codepythonsd
 
tf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input Pipelinetf.data: TensorFlow Input Pipeline
tf.data: TensorFlow Input PipelineAlluxio, Inc.
 

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

Similaire à 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.pdfSteve Caron
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for CassandraEdward Capriolo
 
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
 
Apache Flink internals
Apache Flink internalsApache Flink internals
Apache Flink internalsKostas 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 AnalysisC4Media
 
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 projectMao Geng
 
OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013OQGraph @ SCaLE 11x 2013
OQGraph @ SCaLE 11x 2013Antony T Curtis
 
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 FPGAGanesan Narayanasamy
 
Hypertable - massively scalable nosql database
Hypertable - massively scalable nosql databaseHypertable - massively scalable nosql database
Hypertable - massively scalable nosql databasebigdatagurus_meetup
 

Similaire à 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
 
Intravert Server side processing for Cassandra
Intravert Server side processing for CassandraIntravert Server side processing for Cassandra
Intravert Server side processing for Cassandra
 
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"
 
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
 
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
 
Hypertable - massively scalable nosql database
Hypertable - massively scalable nosql databaseHypertable - massively scalable nosql database
Hypertable - massively scalable nosql database
 

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

Dernier

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Dernier (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

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.