Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Find your data

678 views

Published on

Session from SUTOL 2016

Published in: Software
  • Be the first to comment

Find your data

  1. 1. Find your data Use GraphDB capabilities in XPages applications
  2. 2. 8th Sutol Conference, November 2016
  3. 3. 8th Sutol Conference, November 2016 What’s up in the next 45 mins? • Who am I? • What are GraphDBs? • Famous GraphDBs and Use Cases • Terminology • Introduction to GraphNSF in ODA • Implementation & Data Modelling • Demo
  4. 4. 8th Sutol Conference, November 2016 Oliver Busse • Back again! 2nd SUTOL :-) • Bleeding yellow since R4.5 • Software Architect at We4IT • aveedo® Application Framework • ScanAlyzr® Application Metrics • OpenNTF Board Member • NotesIn9 Producer • IBM Champion 2015 + 2016 • @zeromancer1972 • www.oliverbusse.com • www.we4it.com
  5. 5. 8th Sutol Conference, November 2016 The Graph Principle
  6. 6. 8th Sutol Conference, November 2016 GraphDB - Definition A graph database, also called a graph-oriented database, is a type of NoSQL database that uses graph theory to store, map and query relationships. A graph database is essentially a collection of vertices and edges. Each vertex represents an entity (such as a person or business) and each edge represents a connection or relationship between two vertices. http://whatis.techtarget.com/definition/graph-database
  7. 7. 8th Sutol Conference, November 2016 Some GraphDBs and Frameworks • Neo4J • OrientDB • Titan/Cassandra • Tinkerpop (used here in ODA) • Apache Lucene / Solr
  8. 8. 8th Sutol Conference, November 2016 Who’s using GraphDBs? • Amazon • Google/Youtube • Facebook, Twitter • IBM Watson Workspace • almost every application that offers something like • "summarize", "assist" • "related posts" (blogs) • "others also bought this" (shops) • collect relations and "likes" • …
  9. 9. 8th Sutol Conference, November 2016 GraphDB - Terminology • Vertices (singular: Vertex) • has Properties (Key-Value pairs) • sometimes referred to as Nodes or Elements • Edges • Connections, Relations between Vertices • ElementStores • for us: NSF databases • MetaverseIDs (GraphNSF) • Replica + UNID (hashed) • internal use only (don‘t care about them)
  10. 10. 8th Sutol Conference, November 2016 Introducing: GraphNSF
  11. 11. 8th Sutol Conference, November 2016 GraphNSF is part of ODA • Introduced and maintained by • Nathan T. Freeman • Paul S. Withers • Uses Tinkerpop framework • Under heavy development since ODA 2.0 • Current version is ODA 3.0 • GraphNSF is transactional
  12. 12. 8th Sutol Conference, November 2016 GraphNSF = GraphDB in Domino • Vertices and Edges are stored as Documents • The data container is a NSF • The ElementStore defines the file path to the NSF • An ElementStore can hold different types of Vertices • Usually you create one ElementStore for each Vertex type
  13. 13. 8th Sutol Conference, November 2016 Implementation & Data Modeling • Vertices are defined as Interface classes • Fields are defined as properties with Getter and Setter • Methods define how the Node can build Edges to other Vertices • Methods also return all Edges to a certain Vertex • All inside the NSF using ODA
  14. 14. 8th Sutol Conference, November 2016 Init the Graph • Define the Element Store(s) • Add Element Store(s) to the Graph Configuration • Define the DFramedTransactionalGraph object with the Graph Configuration • Add Vertex types to Element store(s) • Work with the Graph object
  15. 15. 8th Sutol Conference, November 2016 Create an Edge • Parameterize Object 1 • Get Object 2 by a unique key • Call one of the „add“ methods of your Node class • Commit your changes
  16. 16. 8th Sutol Conference, November 2016 A strategy? Add some meta data • a most common use case is to add meta data to existing data using Graph data • no need to touch the original data :-) • graph data is highly extensible (like NoSQL is in general)
  17. 17. 8th Sutol Conference, November 2016 DEMO TIME! DEMO TIME!
  18. 18. 8th Sutol Conference, November 2016 Like what you saw? • It’s IBM Champion nomination time • Nominate YOUR IBM Champions 
 until Nov 14 • http://www.ibm.com/developerworks/ community/profiles/dw/anonymous.jsp? id=2016
  19. 19. 8th Sutol Conference, November 2016
  20. 20. 8th Sutol Conference, November 2016 Resources • The XPages demo application • http://notesx.net:8090/obusse/ ICONUK_2016_Demo_Database • A nice glossary • http://www.intec.co.uk/from-xpages-to-web-app-glossary/ • OpenNTF Domino API • http://www.openntf.org/main.nsf/project.xsp?r=project/ OpenNTF%20Domino%20API • http://www.openntf.org/main.nsf/project.xsp?r=project/ OpenNTF%20Domino%20API%20Demo%20Database • Graphs • http://de.slideshare.net/ktree19/the-graph-revolution

×