40
Melli Annamalai | Product Manager - Oracle [email protected] , www.twitter.com/AnnamalaiMelli Stanka Dalekova | Software Engineer – Paysafe Group [email protected] , www.twitter.com/StankaDalekova 1 Graph Database and Analytics

Melli Annamalai [email protected], ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Melli Annamalai | Product Manager - [email protected], www.twitter.com/AnnamalaiMelliStanka Dalekova | Software Engineer – Paysafe [email protected], www.twitter.com/StankaDalekova

1

Graph Database and Analytics

Page 2: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Future and pastTechCasts:

Formerly called the BIWA Summit with the Spatial and Graph SummitSame great technical content…new name!

www.AnalyticsandDataSummit.org

Submit a topic to share at https://analyticsanddatasummit.org/techcasts/

Page 3: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Analytics and Data SummitAll Analytics. All Data. No Nonsense.

February 25-27, 2020Oracle campus in Santa Clara, CA

Formerly called the BIWA Summit with the Spatial and Graph SummitSame great technical content…new name!

www.AnalyticsandDataSummit.org

Page 4: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Property Graphs

Copyright © 2020 Oracle and/or its affiliates.

Page 5: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation.

Statements in this presentation relating to Oracle’s future plans, expectations, beliefs, intentions and prospects are “forward-looking statements” and are subject to material risks and uncertainties. A detailed discussion of these factors and other risks that affect our business is contained in Oracle’s Securities and Exchange Commission (SEC) filings, including our most recent reports on Form 10-K and Form 10-Q under the heading “Risk Factors.” These filings are available on the SEC’s website or on Oracle’s website at http://www.oracle.com/investor. All information in this presentation is current as of September 2019 and Oracle undertakes no duty to update any statement in light of new information or future events.

Safe Harbor

Copyright © 2020 Oracle and/or its affiliates.

Page 6: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Graph Analytics

Analytics based on connections and relationships between data entities

Copyright © 2020 Oracle and/or its affiliates.

Daniel Molly

Server technologies

Works For

Works at department

Nashua, NH

Works At

USA

Country

Works at department

Page 7: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2020 Oracle and/or its affiliates.

Finding important nodes: Influencers in a NetworkCentrality: Number of edges connected to a node

Page 8: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2020 Oracle and/or its affiliates.

Finding importantnodes -Influencers in a network

Pagerank:Importance of a node based onnodes connected to it

Page 9: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2020 Oracle and/or its affiliates.

Finding importantnodes:BetweennessCentrality

Finding clusters -Detecting communities

Page 10: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2020 Oracle and/or its affiliates.

Finding the shortestpath

How many hopsare there in the shortest path?

Page 11: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Graph Applications

• Financial

• Law enforcement and security

• Manufacturing

• Public sector

• Pharma

Copyright © 2020 Oracle and/or its affiliates.

Page 12: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Manufacturing: What is the Impact of Changing this Part?

Copyright © 2020 Oracle and/or its affiliates.

A car has 30,000 parts

Axle

Rod

Wheel

Disc

Screw

Page 13: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2020 Oracle and/or its affiliates.

Banco De Galicia: Customer 360

Page 14: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Developing Applications with Property Graphs

• Store property graphs• Graph schema or relational tables in a database

• PGQL: Querying property graphs• Ability to specify graph patterns in a query

• Analytics: Analyze a graph• Run graph algorithms to detect communities, find paths, compute importance of a node, and

more

• Visualization• Visualize results from graph queries, explore a graph

Copyright © 2020 Oracle and/or its affiliates.

Page 15: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

PGQL Graph Query Language

Copyright © 2020 Oracle and/or its affiliates.

SELECT distinct m.FIRST_NAME, m.LAST_NAMEFROM hrMATCH (v:EMPLOYEES) -[:WORKS_FOR] -> (m:EMPLOYEES)

SELECT avg(e.SALARY) FROM hrMATCH (e:EMPLOYEES) -[h:WORKS_AT]-> (d:DEPARTMENTS) -[:LOCATED_IN]-> (:LOCATIONS) -[:PART_OF]-> (:COUNTRIES) -[:INCLUDED_IN]-> (r:REGIONS) WHERE r.REGION_NAME = 'Americas' and d.DEPARTMENT_NAME = 'Accounting'

Page 16: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Graph Analytics

Copyright © 2020 Oracle and/or its affiliates.

Detecting Components and Communities

Tarjan’s, Kosaraju’s, Weakly Connected Components, Label Propagation (w/ variants), Soman and Narang’sSpacification

Ranking and Walking

Pagerank, Personalized Pagerank,Betwenness Centrality (w/ variants),Closeness Centrality, Degree Centrality,Eigenvector Centrality, HITS,Random walking and sampling (w/ variants)

Evaluating Community Structures

∑ ∑

Conductance, ModularityClustering Coefficient (Triangle Counting)Adamic-Adar

Path-Finding

Hop-Distance (BFS)Dijkstra’s, Bi-directional Dijkstra’sBellman-Ford’s

Link Prediction

SALSA (Twitter’s Who-to-follow)

Other ClassicsVertex CoverMinimum Spanning-Tree(Prim’s)

Page 17: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Graph Analytics Java API

-- use prebuilt algorithms

analyst.pagerank(hr)

analyst.betweennessCentrality(hr)

src = g.getVertex(“Daniel")

dst = g.getVertex(“Molly")

path = analyst.shortestPathDijkstra(hr,src,dst,w)

Copyright © 2020 Oracle and/or its affiliates.

Page 18: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Displaying Query Results with Pagerank

Copyright © 2020 Oracle and/or its affiliates.

Page 19: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Customer Paysafe

Anomaly Detection to identify fraud

Copyright © 2020 Oracle and/or its affiliates.

Page 20: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

20

Who are Paysafe?

• Paysafe is leading specialized payments player in the world. We do the hard stuff better than our competition

• Global transactional volume of $85bn in 2018.

• Real-time Payments

• Two e-wallet services

Neteller

Skrill

Page 21: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

21

To PROCESS or NOT to PROCESS?

or or

Use Case: Fast Fraud Analytics and Online Screening

Page 22: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

22

Visa and MC changes to fraud and chargeback programs

Visa’s Chargeback Program Mastercard’s Chargeback Program

Page 23: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

23

Reduce manual review time

• Provide powerful visualization tools

• Represent customers relationships (via payment, device fingerprint and etc. )

• Facilitate the analysis of a fraudulent behavior and networks

Reduce manual review count

• Enhance risk engine with Machine Learning (ML)

• Allow real-time features extraction for ML models

Challenges

Page 24: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

24

• Fraud Benchmark Report by Cybersouce from 2016

– 83 % of North Americans review 29% of the orders manually,

– Fraud analysts can give insights about fraud patterns and customer behavior

– After manual review, rule engines can be updated

– Manual Review are costly and time-consuming

– Decreasing customer experience by delaying the payment

• Fraud prevention industry benchmark by Kount.com from 2018

– 93 percent of merchants perform manual reviews

– nearly 30 percent have a manual review rate between 1 and 5 percent

– 16 percent review between 5 and 10 percent

– 20 percent review more than one-in-ten of their orders.

Manual Review Metrics

Page 25: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Placement, Layering, Integration

1. Placement puts the "dirty money" into the legitimate financial system

2. Layering conceals the source of the money through a series of transactions

3. Integration - the now-laundered money is withdrawn from the legitimate account to be used for whatever purposes the criminals have in mind for it.

Page 26: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

26

Before:

One of Our Benefits from the Graph

After:

Page 27: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Modern Anti-Fraud Engines will be a synergy of all three

Rule Engine:Takes decision

to process or fail payment

Graph QueryExample: Is there fraudster in 3 payments distance?

Graph Query Example: Do we have linked by password customer in 3 payments distance?

Example: Pass fraud probability as fact to the rule engine

Graph Database

Machine Learning

Page 28: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

28

Graph Technologies in Help of Fraud Detection

• Page rank

• Community detection

• Strongly connected components

• More built-in algorithms available

• Custom-defined algorithms

Page 29: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

29

• Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed

– If customer is linked with fraudster in range 3 hops, additional verification can be requested

– If customer is linked with fraudster in range 2 hops, payment can be declined

• Graphs enhance AI by providing context by enabling connected features to ML. Relations or connected features tend

to be highly predictive.

– Is there a fraudster in range of 3hops, 4hops, etc. can be a highly predictive ML feature

– Using page rank and centrality for VIP customers identification

• Proactive anti fraud report by detecting the fastest growing communities

• Device mates network identification

New World of Opportunities

Page 30: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

30

• Generate Proactive Report for the Fastest Growing Networks in terms of money flow(edge property), number of

payments(edge count) and number of customers(vertices) on a time series data from the graph

• Influencer found by Page Rank calculation

• Community Activity

Fastest Growing Networks

Example for a fastest growing community by money flow and rolling period of five days and daily time series data.Community was active between 2019-06-23 and 2019-07-11

Am

ou

nt

Page 31: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

RDF Graphs

Copyright © 2020 Oracle and/or its affiliates.

Page 32: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

RDF Graphs

• W3C consortium has defined a suite of standards• RDF data model

• SPARQL query language

• OWL web ontology language

• Unique URIs for data instances and standards make RDF an ideal choice for linking data sources

• Formal semantics provides a good basis for Knowledge Graphs

Copyright © 2020 Oracle and/or its affiliates.

Page 33: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Modeling Data with RDF Graphs

• Instances, each with unique URIs• :Daniel, :Molly, :Nashua_NH

• Classes represents a group/category of instances• :Daniel rdf:type :OracleEmployee

• Relationships can be defined between classes• :OracleEmployee rdfs:subClassOf :Employee• :works_for rdfs:subPropertyOf :reports_to

• Triples assert facts• :Daniel :works_for :Molly

• Inference from rules and facts• :Daniel rdf:type :OracleEmployee

Copyright © 2020 Oracle and/or its affiliates.

:Daniel:Molly

Nashua_NH

:works_at

:works_for

Page 34: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Modeling Data with RDF Graphs

• Instances, each with unique URIs• :Daniel, :Molly, :Nashua_NH

• Classes represents a group/category of instances• :Daniel rdf:type :OracleEmployee

• Relationships can be defined between classes• :OracleEmployee rdfs:subClassOf :Employee• :works_for rdfs:subPropertyOf :reports_to

• Triples assert facts• :Daniel :works_for :Molly

• Inference from rules and facts• :Daniel rdf:type :OracleEmployee

Copyright © 2020 Oracle and/or its affiliates.

:Daniel:Molly

Nashua_NH

:works_at

:works_for

rdf:type

:OracleEmployee

rdf:type

rdfs:subClassOf

:Employee

:Daniel:Molly

Nashua_NH

:works_at

rdf:type

:OracleEmployee

rdf:type

rdfs:subClassOf

:Employee

Page 35: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Modeling Data with RDF Graphs

• Instances, each with unique URIs• :Daniel, :Molly, :Nashua_NH

• Classes represents a group/category of instances• :Daniel rdf:type :OracleEmployee

• Relationships can be defined between classes• :OracleEmployee rdfs:subClassOf :Employee• :works_for rdfs:subPropertyOf :reports_to

• Triples assert facts• :Daniel :works_for :Molly

• Inference from rules and facts• :Daniel rdf:type :OracleEmployee

Copyright © 2020 Oracle and/or its affiliates.

:Daniel:Molly

Nashua_NH

:works_at

:works_for

rdf:type

:OracleEmployee

rdf:type

rdfs:subClassOf

:Employee

rdfs:subPropertyof

::reports_to

:Daniel:Molly

Nashua_NH

:works_at

:works_for

rdf:type

:OracleEmployee

rdf:type

rdfs:subClassOf

:Employee

rdfs:subPropertyof

::reports_to

Page 36: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Developing Applications with RDF Graphs

• Store RDF graphs• Graph schema in a database

• SPARQL and SEM_MATCH (SPARQL-in-SQL) to query RDF graphs

• View existing relational data as RDF graphs

• Use ontologies to represent information in a shareable and reusable form

• Visualization• Visualize results from graph queries

Copyright © 2020 Oracle and/or its affiliates.

Page 37: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Linked Data Publishing

• RDF technology is a popular way for government agencies to publish public data

• Data published with standards can be more easily consumed

ItalyNational Institute of Statistics

JapanNational Statistics Center

Page 38: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Graph in Oracle Cloud

• Database Cloud Service• All graph features available

• Autonomous Cloud Service• Property Graph features available

• Roadmap: RDF Graph features

• Roadmap: Fully managed, automated Graph Cloud Service

Copyright © 2020 Oracle and/or its affiliates.

Page 39: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Engage with BIWA’s Spatial and Graph SIG

• We are a vibrant community of customers and partners that connects and exchanges

knowledge online, and at conferences and events.

• Talk with us next week at the AnD Summit! Look for badges with yellow ribbons

• Birds of a feather lunch – Wednesday 12-1pm at the Oracle Café (look for

Spatial & Graph tables)

• Join us – we’re seeking new members

• Engage with thought leaders on innovative

spatial and graph use cases

Join us online tinyurl.com/oraclespatialcommunity

LinkedIn Oracle Spatial and Graph group

@[email protected]

Page 40: Melli Annamalai melliyal.annamalai@oracle.com, ......29 •Graph queries can be used as normal SQL queries to flag a risk transaction while the payment is being processed –If customer

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. |

Helpful LinksGRAPHS AT ORACLE

https://www.oracle.com/goto/graph

ORACLE PROPERTY GRAPH

http://www.oracle.com/goto/propertygraph

ORACLE RDF GRAPH

http://www.oracle.com/goto/rdfgraph

BLOG: EXAMPLES, TIPS AND TRICKS

http://bit.ly/OracleGraphBlog

ASKTOM SERIES

https://asktom.oracle.com/pls/apex/asktom.search?office=3084

COMMUNITY FORUM

http://bit.ly/OracleRDFHelp

SOCIAL MEDIA

Twitter: @OracleBigData, @SpatialHannes, @JeanIhm LinkedIn: Oracle Spatial and Graph Group

YouTube: youtube.com/c/OracleSpatialandGraph

40