Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Graph Databases: The Next Frontier

Graph Databases: The Next Frontier

Graph Databases and Graph Analysis are the new boundaries of the Business Analytics world. After the classical DWH and big data, graphs provides new perspectives and insights, but are still kind of mysterious and with a steep learning curve. Newness make it difficult to find simple approaches on where to start and how to add graphs to your analytics toolbox. This session will take you over this step: introducing graphs databases and to enable them. Not another theoretical talk but more down to earth supported by a sample dataset all over the process. Practical hints on how to get started with graphs.

Gianni Ceresa

June 07, 2018
Tweet

More Decks by Gianni Ceresa

Other Decks in Technology

Transcript

  1. vertex (node)
    vertex
    properties
    vertex ID
    edge
    edge label
    edge
    properties
    edge ID
    directed
    edge

    View full-size slide

  2. CUSTOMER
    Gianni
    PRODUCT
    New laptop
    ORDER
    07/06/2018
    Gianni
    [customer]
    New laptop
    [product]
    [order]
    quantity: 1
    date: 07/06/2018
    Imagine N-M relationships,
    dynamic list of attributes
    etc.
    ORDER_LINE
    Quantity 1

    View full-size slide











  3. From now, and for the rest of the
    session, we focus on the Oracle solution

    View full-size slide





  4. View full-size slide











  5. View full-size slide









  6. View full-size slide

  7. Common Enterprise Information Model
    Connecting Data with Self Service Analytic Applications
    Presentation Layer Physical Layer
    Semantic Object
    Layer
    Map Phyisical Data
    Connections
    Schemas
    Business Model
    Dimensions & Hierarchies
    Measures & Calculations
    Time Series & Aggregation
    Simplified Business View
    Subject Areas
    Security and Roles
    Preferences

    View full-size slide

  8. mapped to reference
    reference
    page contains
    contains
    Catalog ACL
    member of
    member of

    View full-size slide








  9. View full-size slide



  10. BEGIN
    OPG_APIS.CREATE_PG('sa607', 4, 8, '');
    END;

    View full-size slide









  11. View full-size slide






  12. View full-size slide















  13. View full-size slide





  14. Doesn’t support loading a
    graph from DB !!!

    Will support loading from DB

    View full-size slide

  15. GraalVM will make this part useless thanks to its polyglot feature
    • Python will have direct access to Java objects and methods

    View full-size slide

  16. WITH properties AS (
    SELECT DISTINCT k, t, 'Vertex' AS kind
    FROM sa607vt$
    UNION ALL
    SELECT DISTINCT k, t, 'Edge' AS kind
    FROM sa607ge$
    )
    ,cfg AS (
    SELECT '.add' || kind || 'Property("' || k || '",PropertyTypeClass.'
    || CASE WHEN t = 1 THEN 'STRING' WHEN t = 5 THEN 'DATE' END
    || ')' AS prop
    FROM properties
    ) SELECT LISTAGG(prop,'') WITHIN GROUP(ORDER BY prop) FROM cfg;

    View full-size slide







  17. View full-size slide













  18. … and 45 minutes aren’t enough to talk about Graphs!

    View full-size slide






  19. View full-size slide