SlideShare a Scribd company logo
1 of 59
Download to read offline
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Oracle Ask TOM Office Hours:
Gain Insights with Graph Analytics
Perform powerful graph analysis using APIs and notebook interfaces.
2018.05.31
Albert Godfrind, Solutions Architect agodfrin
Zhe Wu, Architect alanzwu
Jean Ihm, Product Manager JeanIhm
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
AskTOM sessions on property graphs
• Today’s is the third session on property graphs
– February’s session covered “Introduction to Property Graphs”
– March's session explained how to model graphs from relational data
– In case you missed them, recordings are available at the URL above
• Today’s topic: Gain Insights with Graph Analytics
• Visit the Spatial and Graph landing page to view recordings; submit
feedback, questions, topic requests; view upcoming session dates and
topics; sign up
3
https://devgym.oracle.com/pls/apex/dg/office_hours/3084
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
4
The Story So Far …
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Oracle Big Data Spatial and Graph
• Available for Big Data platform/BDCS
– Hadoop, HBase, Oracle NoSQL
• Supported both on BDA and commodity
hardware
– CDH and Hortonworks
• Database connectivity through Big Data
Connectors or Big Data SQL
• Included in Big Data Cloud Service
Oracle Spatial and Graph
• Available with Oracle 18c/12.2/DBCS
• Using tables for graph persistence
• Graph views on relational data
• In-database graph analytics
– Sparsification, shortest path, page rank, triangle
counting, WCC, sub graphs
• SQL queries possible
• Included in Database Cloud Service
5
Graph Product Options
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Data Access Layer (DAL)
The Architecture …
Graph Analytics
Blueprints & Lucene/SolrCloud RDF (RDF/XML, N-
Triples, N-Quads,
TriG,N3,JSON)
REST/WebService/Notebooks
Java,Groovy,Python,…
Java APIs
Java APIs/JDBC/SQL/PLSQL
Property Graph
formats
GraphML
GML
Graph-SON
Flat Files
6
Scalable and Persistent Storage Management
Parallel In-Memory Graph
Analytics/Graph Query (PGX)
Oracle NoSQL DatabaseOracle RDBMS Apache HBase
Apache
Spark
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• What is a graph?
– Data model representing entities as
vertices and relationships as edges
– Optionally including attributes
• Flexible data model
– No predefined schema, easily extensible
– Particularly useful for sparse data
• Enabling new kinds of analytics
– Overcoming limitations in relational
technology
7
Graph Data Model
E
A D
C B
F
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Analysis for Business Insight
8
Identify
Influencers
Discover Graph Patterns
in Big Data
Generate
Recommendations
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
9
The APIs for Graph Analytics
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Data Access Layer (DAL)
The Architecture …
Graph Analytics
Blueprints & Lucene/SolrCloud RDF (RDF/XML, N-
Triples, N-Quads,
TriG,N3,JSON)
REST/WebService/Notebooks
Java,Groovy,Python,…
Java APIs
Java APIs/JDBC/SQL/PLSQL
Property Graph
formats
GraphML
GML
Graph-SON
Flat Files
10
Scalable and Persistent Storage Management
Parallel In-Memory Graph
Analytics/Graph Query (PGX)
Oracle NoSQL DatabaseOracle RDBMS Apache HBase
Apache
Spark
What we’ll focus on
now.
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 11
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Using the PGX Groovy Shell
• Shell script does all the setup
• Variables instance, session and analyst are pre-configured
12
$ cd /opt/oracle/oracle-spatial-graph/property_graph/pgx/bin
$ cd $ORACLE_HOME/md/property_graph/pgx/bin
$ ./pgx
PGX Shell 2.4.0
type :help for available commands
variables instance, session and analyst ready to use
pgx>
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Invoking the Analyst Functions
1. Get an In-Memory Analyst :
2. Read the graph from data store into memory :
3. Perform analytical functions :
13
session = Pgx.createSession("session_ID_1");
analyst = session.createAnalyst();
pg = session.readGraphWithProperties(...);
analyst.countTriangles(...)
analyst.shortestPathDijkstra(...)
analyst.pageRank(...)
analyst.wcc(...)
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 14
Catch that Zeppelin!
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15
URL of the PGX server
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 16
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 17
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Setup the Graph Configuration
cfb = GraphConfigBuilder.forPropertyGraphHbase();
cfb.setZkQuorum("bigdatalite").setZkClientPort(2181);
cfb.setZkSessionTimeout(120000)
cfb.setInitialEdgeNumRegions(3);
cfb.setInitialVertexNumRegions(3).setSplitsPerRegion(1);
cfb.setName("connections");
cfb = GraphConfigBuilder.forPropertyGraphNosql();
cfb.setHosts(["bigdatalite:5000"]);
cfb.setStoreName("kvstore");
cfb.setMaxNumConnections(2);
cfb.setName("connections");
Apache HBase
Oracle NoSQL
cfb = GraphConfigBuilder.forPropertyGraphRdbms();
cfb.setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:orcl122");
cfb.setUsername("scott").setPassword("tiger");
cfb.setName("connections");
Oracle RDBMS
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
More Setup
• Select the properties to load !
• We need the edge labels
• Build the configuration
21
cfb.addVertexProperty("name", PropertyType.STRING);
cfb.addVertexProperty("role", PropertyType.STRING);
cfb.addVertexProperty("occupation", PropertyType.STRING);
cfb.addVertexProperty("country", PropertyType.STRING);
cfb.addVertexProperty("religion", PropertyType.STRING);
cfb.addEdgeProperty("weight", PropertyType.DOUBLE, "1");
cfb.hasEdgeLabel(true).setLoadEdgeLabel(true);
cfg = cfb.build();
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Loading the Graph in Memory
• Load the graph using a configuration
• Can also use a JSON configuration file
• Build the configuration from a JSON file
22
pg = session.readGraphWithProperties(cfg);
pg = session.readGraphWithProperties("connections_config.json");
cfg = GraphConfigFactory.forAnyFormat().fromPath("connections_config.json");
pg = session.readGraphWithProperties(cfg);
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Example configuration file for Oracle RDBMS
23
{
"format": "pg", "db_engine": "RDBMS",
"jdbc_url":"jdbc:oracle:thin:@127.0.0.1:1521:orcl122",
"username":"scott", "password":"tiger", "max_num_connections":8,
"name": "connections",
"vertex_props": [
{"name":"name", "type":"string"},
{"name":"role", "type":"string"},
{"name":"occupation", "type":"string"},
{"name":"country", "type":"string"},
{"name":"political", "type":"string"},
{"name":"religion", "type":"string"}
],
"edge_props": [
{"name":"weight", "type":"double", "default":"1"}
],
"edge_label":true,
"loading": {"load_edge_label": true}
}
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Explore the In-Memory Graph
• How many vertices ?
• How many edges ?
• Fetch one vertex by id
• What properties do edges have ?
• Fetch one edge by id
24
pgx> pg.getNumEdges()
==> 164
pgx> pg.getNumVertices()
==> 80
pgx> pg.getVertex(1l)
==> PgxVertex[ID=1]
pgx> pg.getEdge(0l)
==> PgxEdge[ID=0]
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Explore the Graph
• What properties do vertices have ?
• What properties do edges have ?
25
pgx> pg.getVertexProperties()
==> VertexProperty[name=role,type=string,graph=connections]
==> VertexProperty[name=occupation,type=string,graph=connections]
==> VertexProperty[name=political,type=string,graph=connections]
==> VertexProperty[name=name,type=string,graph=connections]
==> VertexProperty[name=religion,type=string,graph=connections]
==> VertexProperty[name=country,type=string,graph=connections]
pgx> pg.getEdgeProperties()
==> EdgeProperty[name=weight,type=double,graph=connections]
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Explore the Graph
• Get all vertices
• Get all edges
26
pgx> pg.getVertices()
==> PgxVertex[ID=1]
==> PgxVertex[ID=2]
==> PgxVertex[ID=3]
...
pgx> pg.getEdges()
==> PgxEdge[ID=0]
==> PgxEdge[ID=1]
==> PgxEdge[ID=2]
...
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Page Rank
• Get an approximate Pagerank
• Show the top influencers
27
pgx> r=analyst.pagerank(graph:pg, max:1000, variant:'APPROXIMATE');
==> VertexProperty[name=approx_pagerank,type=double,graph=connections]
pgx> rank.getTopKValues(3)
==> PgxVertex[ID=1]=0.0608868998919989
==> PgxVertex[ID=60]=0.03445628038301776
==> PgxVertex[ID=42]=0.027831790283775117
pgx> it = r.getTopKValues(3).iterator(); 
pgx> while(it.hasNext()) { 
pgx> v=it.next(); 
pgx> id=v.getKey().getId(); 
pgx> name=pg.getVertex(id).getProperty("name"); 
pgx> pr=v.getValue(); 
pgx> System.out.println(id+" "+name+" "+pr); 
pgx> }
1 Barack Obama 0.0608868998919989
60 Nicolas Maduro 0.03445628038301776
42 NBC 0.027831790283775117
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Betweenness Centrality
28
pgx> b = analyst.vertexBetweennessCentrality(pg).getTopKValues(5);
==> PgxVertex[ID=1]=2225.6666666666665
==> PgxVertex[ID=2]=1029.0
==> PgxVertex[ID=3]=876.5
==> PgxVertex[ID=37]=797.0
==> PgxVertex[ID=45]=456.0
pgx> it=b.iterator(); 
pgx> while(it.hasNext()) { 
pgx> v=it.next(); 
pgx> id=v.getKey().getId(); 
pgx> name=pg.getVertex(id).getProperty("name"); 
pgx> System.out.println(id+" "+name); 
pgx> }
1 Barack Obama 2225.6666666666665
2 Beyonce 1029.0
3 Charlie Rose 876.5
37 Amazon 797.0
45 CBS 456.0
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Shortest Path on a Weighted graph
• Get origin and destination vertices
• Compute the shortest path
• Is there a path ?
• What is the total weight of the path?
29
pgx> path = analyst.shortestPathDijkstra(pg, s, d, pg.getEdgeProperty("weight"));
==> PgxPath[graph=connections,exists=true]
pgx> path.exists();
==> true
pgx> path.getPathLengthWithCost();
==> 3.0
pgx> s = pg.getVertices(new VertexFilter("vertex.name = 'Barack Obama'"))[0];
==> PgxVertex[ID=1]
pgx> d = pg.getVertices(new VertexFilter("vertex.name = 'Benedict Cumberbatch'"))[0];
==> PgxVertex[ID=53]
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
PGQL
• Find all instances of a given pattern/template in data graph
• Fast, scaleable query mechanism
SELECT v3.name, v3.age
FROM ‘myGraph’
WHERE
(v1:Person WITH name = ‘Amber’) –[:friendOf]-> (v2:Person) –[:knows]-> (v3:Person)
query
Query: Find all people who are
known to friends of ‘Amber’.
data graph
‘myGraph’
:Person{100}
name = ‘Amber’
age = 25
:Person{200}
name = ‘Paul’
age = 30
:Person{300}
name = ‘Heather’
age = 27
:Company{777}
name = ‘Oracle’
location =
‘Redwood City’
:worksAt{1831}
startDate = ’09/01/2015’
:friendOf{1173}
:knows{2200}
:friendOf {2513}
since = ’08/01/2014’
30
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Executing PGQL
31
pgx> pg.queryPgql(" 
pgx> SELECT x.name, y.name 
pgx> WHERE (x) -[:leads]-> (y) 
pgx> ORDER BY x.name, y.name 
pgx> ").print()
+--------------------------------------------+
| x.name | y.name |
+--------------------------------------------+
| "Bobby Murphy" | "Snapchat" |
| "Ertharin Cousin" | "World Food Programme" |
| "Evan Spiegel" | "Snapchat" |
| "Google" | "Nest" |
| "Jack Ma" | "Alibaba" |
| "Jeff Bezos" | "Amazon" |
| "Pony Ma" | "Tencent" |
| "Pope Francis" | "The Vatican" |
| "Tony Fadell" | "Nest" |
+--------------------------------------------+
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Confidential – Oracle
32
Pre-Built Analytics
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Algorithms and their Applications
• Page rank, Weighted page rank
– find influencers, critical vertices
• Personalized page rank
– find important people/products with respect to a given starting point
• Sparsification
– trim down the graph to make it more fragmented
• Clustering
– find communities which can be the basis of segmentation, and/or
recommendation/anomaly detection, churn analysis
33
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Algorithms and their Applications
• BFS
– impact analysis, link analysis
• Shortest path
– discover links, find suspect’s close collaborators, transportation routing
• Matrix factorization
– recommendation
• Centrality (in-degree, out-degree, between-ness, closeness)
– find critical people, devices, router
34
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Graph Algorithms and their Applications
• Salsa
– recommendation
• Graph Filtering
– segmentation
• Graph Query/Pattern matching
– find anomaly, detect fraud, discover correlation, recommend by popularity,
segmentation
• Text search
– find similarity, fuzzy ranking, relevancy ranking, recommendation,
– GeoSpatial search/filtering, sentiment analysis, faceted query
35
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
36
Graph Analytics in practice
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Build Recommender System with
Graph Technologies
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Environment
– Oracle Big Data Lite VM
– Oracle Big Data Spatial and Graph
– Apache SolrCloud
• A “user-item” property graph
– Vertices (items, descriptions, and users)
– Edges (linking users and items)
Recommendation: you may
also like
Building a Recommender System
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Building a Recommender System
Multiple approaches - and they can be mixed together
Collaborative filtering
• People liked similar items in the past
will like similar items in the future
Content-based filtering
• Match item description
• Match user profile
• Relevancy ranking
Personalized Page Ranking
• Randomly navigate from a user to a
product, then back to a user, …
• Randomly jump to starting point(s)
• A  u
• u  B
• B  w
• w  C
…
A
B
C
u
v
w
x
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Personalized Page Rank-based Recommender System
Random walk with restart
Reference: https://blogs.oracle.com/bigdataspatialgraph/entry/intuitive_explanation_of_personalized_page
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Key API for Personalized Page Rank
• API: ppr=analyst.personalizedPagerank (
pgxGraph,
vertexSet,
0.0001 /*max error*/,
0.85 /*damping factor*/,
1000 );
• Result: ppr.getTopKValues()
it=ppr.getTopKValues(9).iterator(); while (it.hasNext()) {
entry=it.next(); vid=entry.getKey().getId();
System.out.format("ppr=%.4f vertex=%sn", entry.getValue(), opg.getVertex(vid));
}
ppr=0.2496 vertex=Vertex ID 1 {name:str:John, age:int:10}
ppr=0.1758 vertex=Vertex ID 11 {type:str:Prod, desc:str:Kindle Fire}
ppr=0.1758 vertex=Vertex ID 10 {type:str:Prod, desc:str:iPhone5, …}
41
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
• Matrix factorization • Graph intuition
Recommendation with C.F.
A customer’s taste signature is
defined by what he/she likes
Customer Item
An item’s taste signature is
(recursively) defined by
who likes it
A recursive graph algorithm solves taste
signature of both customers and items
[0.758 0.331 0.124 …]
[0.328 0.172 0.519 ….]
[0.231 0.119 0.033 ….]
[0.305 0.888 0.931 ….]
[0.758 0.331 0.124 ….]
[0.391 0.551 0.223 …]
[0.112 0.237 0.456 …]
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Demo
Build Recommender System with
Graph Technologies
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Fraud Detection
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Fraud Detection
• Business requirement: detect n-hop circular payment, a particular fraud
pattern, in real-world transaction data.
• Input: Transaction Data(from a Tax dept) in CSV
• Output: identify circular payment in the form of A => B => C => … => A
45
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Payment Data in Property Graph Format (.opv & .ope)
46
223855785052710,original_id,1,223855785052710,,
223855785052710,xzqh_dm_shi,1,223855,,
345337155048029,original_id,1,345337155048029,,
345337155048029,hymc,1,批发业,,
345337155048029,xzqh_dm_shi,1,345355,,
398238126805852918,original_id,1,19545407609453X,,
398238126805852918,xzqh_dm_shi,1,195455,,
345337078144545,original_id,1,345337078144545,,
345337078144545,hymc,1,装卸搬运和运输代理业,,
345337078144545,xzqh_dm_shi,1,345355,,
345337984038796,original_id,1,345337984038796,,
345337984038796,hymc,1,装卸搬运和运输代理业,,
345337984038796,xzqh_dm_shi,1,345355,,
167,194053906467083,345343155038506,bought_from,recorded_by,1,000,,
167,194053906467083,345343155038506,bought_from,expiration,1,,,
342,345358506939459,345356155269539,bought_from,recorded_by,1,263,,
342,345358506939459,345356155269539,bought_from,expiration,1,,,
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Detection Pipeline
• Major steps involved
– Convert source transaction data into Oracle flat files
– Execute PGQL
– Run built-in analytics
– Visualize
47
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Detection Pipeline
• Analytics and PGQL implementation details
– PGQL
select m, n
where (m)-[e1]->(n)-[e2]->(m)
select m, n, o
where (m)-[e1]->(n)-[e2]->(o)-[e3]->(m)
select m, n, o, p
where (m)-[e1]->(n)-[e2]->(o)-[e3]->(p)-[e4]->(m)
…
– Add all_different( m, n, o, p) if needed
– Use <- or just –[e]- if needed
48
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Detection Pipeline
• Analytics and PGQL implementation details
– Run built-in analytics
analyst.sccKosaraju(pgxGraph)
49
https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Detection Pipeline
50
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Detection Pipeline
51
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Circular Payment Visualization with Cytoscape
52
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Demo
Circular Payment Fraud Detection
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
54
Resources
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Resources
• Oracle Spatial and Graph & Big Data Spatial and Graph on OTN
oracle.com/technetwork/database/options/spatialandgraph
oracle.com/technetwork/database/database-technologies/bigdata-spatialandgraph
– White papers, software downloads, documentation and videos
• Blogs – examples, tips & tricks
blogs.oracle.com/oraclespatial | blogs.oracle.com/bigdataspatialgraph
• Property Graphs 101: How to Get Started with Property Graphs on the Oracle Database –
Arthur Dayton, Vlamis Software https://youtu.be/QSj0zOjOAWI
• YouTube channel: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w
• Oracle Big Data Lite Virtual Machine - a free sandbox to get started
www.oracle.com/technetwork/database/bigdata-appliance/oracle-bigdatalite-2104726.html
– Hands On Lab included in /opt/oracle/oracle-spatial-graph/ or http://github.com/oracle/BigDataLite/
55
Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 56
Tutorials
https://docs.oracle.com/cd/E56133_01/latest/tutorials/index.html
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
Resources – social media and online communities
• Follow the product team: @SpatialHannes, @JeanIhm, @agodfrin, @alanzwu
• Oracle Spatial and Graph SIG user groups (search “Oracle Spatial and
Graph Community”)
57
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
AskTOM sessions on property graphs
• Next Spatial and Graph session July 17
– Topic: Graph Visualization
• View recordings, submit feedback, questions,
topic requests, view upcoming session dates and
topics, sign up to get regular updates
58
https://devgym.oracle.com/pls/apex/dg/office_hours/3084
Copyright © 2018, Oracle and/or its affiliates. All rights reserved.
59
Thanks for attending! See you next month.
https://devgym.oracle.com/pls/apex/dg/office_hours/3084
Gain Insights with Graph Analytics

More Related Content

What's hot

An Introduction to Graph: Database, Analytics, and Cloud Services
An Introduction to Graph:  Database, Analytics, and Cloud ServicesAn Introduction to Graph:  Database, Analytics, and Cloud Services
An Introduction to Graph: Database, Analytics, and Cloud ServicesJean Ihm
 
Machine learning with Spark
Machine learning with SparkMachine learning with Spark
Machine learning with SparkKhalid Salama
 
Oracle Advanced Analytics
Oracle Advanced AnalyticsOracle Advanced Analytics
Oracle Advanced Analyticsaghosh_us
 
20181123 dn2018 graph_analytics_k_patenge
20181123 dn2018 graph_analytics_k_patenge20181123 dn2018 graph_analytics_k_patenge
20181123 dn2018 graph_analytics_k_patengeKarin Patenge
 
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraph
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraphOracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraph
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraphKarin Patenge
 
Guacamole Fiesta: What do avocados and databases have in common?
Guacamole Fiesta: What do avocados and databases have in common?Guacamole Fiesta: What do avocados and databases have in common?
Guacamole Fiesta: What do avocados and databases have in common?ArangoDB Database
 
Knowledge Graph for Machine Learning and Data Science
Knowledge Graph for Machine Learning and Data ScienceKnowledge Graph for Machine Learning and Data Science
Knowledge Graph for Machine Learning and Data ScienceCambridge Semantics
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQLHBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQLDataWorks Summit
 
Large Scale Graph Analytics with RDF and LPG Parallel Processing
Large Scale Graph Analytics with RDF and LPG Parallel ProcessingLarge Scale Graph Analytics with RDF and LPG Parallel Processing
Large Scale Graph Analytics with RDF and LPG Parallel ProcessingCambridge Semantics
 
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...Rodney Joyce
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...LDBC council
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics EngineLDBC council
 
Nodes2020 | Graph of enterprise_metadata | NEO4J Conference
Nodes2020 | Graph of enterprise_metadata | NEO4J ConferenceNodes2020 | Graph of enterprise_metadata | NEO4J Conference
Nodes2020 | Graph of enterprise_metadata | NEO4J ConferenceDeepak Chandramouli
 
Atlas ApacheCon 2017
Atlas ApacheCon 2017Atlas ApacheCon 2017
Atlas ApacheCon 2017Vimal Sharma
 
MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0Manyi Lu
 
Big Analytics Without Big Hassles
Big Analytics Without Big HasslesBig Analytics Without Big Hassles
Big Analytics Without Big HasslesParadigm4
 
An Introduction to Spark with Scala
An Introduction to Spark with ScalaAn Introduction to Spark with Scala
An Introduction to Spark with ScalaChetan Khatri
 
Fossasia 2018-chetan-khatri
Fossasia 2018-chetan-khatriFossasia 2018-chetan-khatri
Fossasia 2018-chetan-khatriChetan Khatri
 

What's hot (20)

An Introduction to Graph: Database, Analytics, and Cloud Services
An Introduction to Graph:  Database, Analytics, and Cloud ServicesAn Introduction to Graph:  Database, Analytics, and Cloud Services
An Introduction to Graph: Database, Analytics, and Cloud Services
 
A gentle introduction to Oracle R Enterprise
A gentle introduction to Oracle R EnterpriseA gentle introduction to Oracle R Enterprise
A gentle introduction to Oracle R Enterprise
 
Machine learning with Spark
Machine learning with SparkMachine learning with Spark
Machine learning with Spark
 
Oracle Advanced Analytics
Oracle Advanced AnalyticsOracle Advanced Analytics
Oracle Advanced Analytics
 
20181123 dn2018 graph_analytics_k_patenge
20181123 dn2018 graph_analytics_k_patenge20181123 dn2018 graph_analytics_k_patenge
20181123 dn2018 graph_analytics_k_patenge
 
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraph
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraphOracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraph
OracleCode_Berlin_Jun2018_AnalyzeBitcoinTransactionDataUsingAsGraph
 
AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101AnzoGraph DB - SPARQL 101
AnzoGraph DB - SPARQL 101
 
Guacamole Fiesta: What do avocados and databases have in common?
Guacamole Fiesta: What do avocados and databases have in common?Guacamole Fiesta: What do avocados and databases have in common?
Guacamole Fiesta: What do avocados and databases have in common?
 
Knowledge Graph for Machine Learning and Data Science
Knowledge Graph for Machine Learning and Data ScienceKnowledge Graph for Machine Learning and Data Science
Knowledge Graph for Machine Learning and Data Science
 
HBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQLHBase and Drill: How loosley typed SQL is ideal for NoSQL
HBase and Drill: How loosley typed SQL is ideal for NoSQL
 
Large Scale Graph Analytics with RDF and LPG Parallel Processing
Large Scale Graph Analytics with RDF and LPG Parallel ProcessingLarge Scale Graph Analytics with RDF and LPG Parallel Processing
Large Scale Graph Analytics with RDF and LPG Parallel Processing
 
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...
Data Science for Dummies - Data Engineering with Titanic dataset + Databricks...
 
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...8th TUC Meeting -  Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
8th TUC Meeting - Zhe Wu (Oracle USA). Bridging RDF Graph and Property Graph...
 
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
8th TUC Meeting – Yinglong Xia (Huawei), Big Graph Analytics Engine
 
Nodes2020 | Graph of enterprise_metadata | NEO4J Conference
Nodes2020 | Graph of enterprise_metadata | NEO4J ConferenceNodes2020 | Graph of enterprise_metadata | NEO4J Conference
Nodes2020 | Graph of enterprise_metadata | NEO4J Conference
 
Atlas ApacheCon 2017
Atlas ApacheCon 2017Atlas ApacheCon 2017
Atlas ApacheCon 2017
 
MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0MySQL Optimizer: What's New in 8.0
MySQL Optimizer: What's New in 8.0
 
Big Analytics Without Big Hassles
Big Analytics Without Big HasslesBig Analytics Without Big Hassles
Big Analytics Without Big Hassles
 
An Introduction to Spark with Scala
An Introduction to Spark with ScalaAn Introduction to Spark with Scala
An Introduction to Spark with Scala
 
Fossasia 2018-chetan-khatri
Fossasia 2018-chetan-khatriFossasia 2018-chetan-khatri
Fossasia 2018-chetan-khatri
 

Similar to Gain Insights with Graph Analytics

Graph Analytics on Data from Meetup.com
Graph Analytics on Data from Meetup.comGraph Analytics on Data from Meetup.com
Graph Analytics on Data from Meetup.comKarin Patenge
 
20181019 code.talks graph_analytics_k_patenge
20181019 code.talks graph_analytics_k_patenge20181019 code.talks graph_analytics_k_patenge
20181019 code.talks graph_analytics_k_patengeKarin Patenge
 
Applying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesApplying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesData Ninja API
 
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Otávio Santana
 
Python and the MySQL Document Store
Python and the MySQL Document StorePython and the MySQL Document Store
Python and the MySQL Document StoreJesper Wisborg Krogh
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreOlivier DASINI
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...Olivier DASINI
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...Olivier DASINI
 
Oracle Open World 2018 / Code One : MySQL 8.0 Document Store
Oracle Open World 2018 /  Code One : MySQL 8.0 Document StoreOracle Open World 2018 /  Code One : MySQL 8.0 Document Store
Oracle Open World 2018 / Code One : MySQL 8.0 Document StoreFrederic Descamps
 
Graph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise GraphGraph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise GraphTigerGraph
 
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...Frederic Descamps
 
pre-FOSDEM MySQL day, February 2018 - MySQL Document Store
pre-FOSDEM MySQL day, February 2018 - MySQL Document Storepre-FOSDEM MySQL day, February 2018 - MySQL Document Store
pre-FOSDEM MySQL day, February 2018 - MySQL Document StoreFrederic Descamps
 
Overview of Oracle Database 18c Express Edition (XE)
Overview of Oracle Database 18c Express Edition (XE)Overview of Oracle Database 18c Express Edition (XE)
Overview of Oracle Database 18c Express Edition (XE)Todd Bottger
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your MicroservicesMarcus Hirt
 
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatengeKarin Patenge
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesKonstantinos Xirogiannopoulos
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesPyData
 
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure DataHow To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure DataTaro L. Saito
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the CoreC4Media
 
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018Amazon Web Services
 

Similar to Gain Insights with Graph Analytics (20)

Graph Analytics on Data from Meetup.com
Graph Analytics on Data from Meetup.comGraph Analytics on Data from Meetup.com
Graph Analytics on Data from Meetup.com
 
20181019 code.talks graph_analytics_k_patenge
20181019 code.talks graph_analytics_k_patenge20181019 code.talks graph_analytics_k_patenge
20181019 code.talks graph_analytics_k_patenge
 
Applying large scale text analytics with graph databases
Applying large scale text analytics with graph databasesApplying large scale text analytics with graph databases
Applying large scale text analytics with graph databases
 
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
Jakarta EE Meets NoSQL in the Cloud Age [DEV6109]
 
Python and the MySQL Document Store
Python and the MySQL Document StorePython and the MySQL Document Store
Python and the MySQL Document Store
 
MySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document StoreMySQL Day Paris 2018 - MySQL JSON Document Store
MySQL Day Paris 2018 - MySQL JSON Document Store
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
 
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
MySQL JSON Document Store - A Document Store with all the benefits of a Trans...
 
Oracle Open World 2018 / Code One : MySQL 8.0 Document Store
Oracle Open World 2018 /  Code One : MySQL 8.0 Document StoreOracle Open World 2018 /  Code One : MySQL 8.0 Document Store
Oracle Open World 2018 / Code One : MySQL 8.0 Document Store
 
Graph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise GraphGraph Gurus Episode 1: Enterprise Graph
Graph Gurus Episode 1: Enterprise Graph
 
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...
MySQL User Group NL: MySQL 8.0 Document Store- NoSQL with all the benefits of...
 
pre-FOSDEM MySQL day, February 2018 - MySQL Document Store
pre-FOSDEM MySQL day, February 2018 - MySQL Document Storepre-FOSDEM MySQL day, February 2018 - MySQL Document Store
pre-FOSDEM MySQL day, February 2018 - MySQL Document Store
 
Overview of Oracle Database 18c Express Edition (XE)
Overview of Oracle Database 18c Express Edition (XE)Overview of Oracle Database 18c Express Edition (XE)
Overview of Oracle Database 18c Express Edition (XE)
 
Diagnose Your Microservices
Diagnose Your MicroservicesDiagnose Your Microservices
Diagnose Your Microservices
 
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
20180921_DOAG_BigDataDays_OracleSpatialandPython_kpatenge
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational Databases
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational Databases
 
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure DataHow To Use Scala At Work - Airframe In Action at Arm Treasure Data
How To Use Scala At Work - Airframe In Action at Arm Treasure Data
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core
 
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018
Connecting the Unconnected using GraphDB - Tel Aviv Summit 2018
 

Recently uploaded

vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookvip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookmanojkuma9823
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsappssapnasaifi408
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...Suhani Kapoor
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxStephen266013
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxFurkanTasci3
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationshipsccctableauusergroup
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptSonatrach
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...soniya singh
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Callshivangimorya083
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一F sss
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024thyngster
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Sapana Sha
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...ThinkInnovation
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxEmmanuel Dauda
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubaihf8803863
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Cantervoginip
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPramod Kumar Srivastava
 

Recently uploaded (20)

vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Bookvip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
vip Sarai Rohilla Call Girls 9999965857 Call or WhatsApp Now Book
 
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /WhatsappsBeautiful Sapna Vip  Call Girls Hauz Khas 9711199012 Call /Whatsapps
Beautiful Sapna Vip Call Girls Hauz Khas 9711199012 Call /Whatsapps
 
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
VIP High Class Call Girls Jamshedpur Anushka 8250192130 Independent Escort Se...
 
B2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docxB2 Creative Industry Response Evaluation.docx
B2 Creative Industry Response Evaluation.docx
 
Data Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptxData Science Jobs and Salaries Analysis.pptx
Data Science Jobs and Salaries Analysis.pptx
 
04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships04242024_CCC TUG_Joins and Relationships
04242024_CCC TUG_Joins and Relationships
 
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
Deep Generative Learning for All - The Gen AI Hype (Spring 2024)
 
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.pptdokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
dokumen.tips_chapter-4-transient-heat-conduction-mehmet-kanoglu.ppt
 
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
High Class Call Girls Noida Sector 39 Aarushi 🔝8264348440🔝 Independent Escort...
 
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
꧁❤ Greater Noida Call Girls Delhi ❤꧂ 9711199171 ☎️ Hard And Sexy Vip Call
 
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
办理学位证中佛罗里达大学毕业证,UCF成绩单原版一比一
 
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
Consent & Privacy Signals on Google *Pixels* - MeasureCamp Amsterdam 2024
 
E-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptxE-Commerce Order PredictionShraddha Kamble.pptx
E-Commerce Order PredictionShraddha Kamble.pptx
 
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
Saket, (-DELHI )+91-9654467111-(=)CHEAP Call Girls in Escorts Service Saket C...
 
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
Predictive Analysis - Using Insight-informed Data to Determine Factors Drivin...
 
Customer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptxCustomer Service Analytics - Make Sense of All Your Data.pptx
Customer Service Analytics - Make Sense of All Your Data.pptx
 
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
VIP Call Girls Service Miyapur Hyderabad Call +91-8250192130
 
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls DubaiDubai Call Girls Wifey O52&786472 Call Girls Dubai
Dubai Call Girls Wifey O52&786472 Call Girls Dubai
 
ASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel CanterASML's Taxonomy Adventure by Daniel Canter
ASML's Taxonomy Adventure by Daniel Canter
 
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptxPKS-TGC-1084-630 - Stage 1 Proposal.pptx
PKS-TGC-1084-630 - Stage 1 Proposal.pptx
 

Gain Insights with Graph Analytics

  • 1. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Oracle Ask TOM Office Hours: Gain Insights with Graph Analytics Perform powerful graph analysis using APIs and notebook interfaces. 2018.05.31 Albert Godfrind, Solutions Architect agodfrin Zhe Wu, Architect alanzwu Jean Ihm, Product Manager JeanIhm
  • 2. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. AskTOM sessions on property graphs • Today’s is the third session on property graphs – February’s session covered “Introduction to Property Graphs” – March's session explained how to model graphs from relational data – In case you missed them, recordings are available at the URL above • Today’s topic: Gain Insights with Graph Analytics • Visit the Spatial and Graph landing page to view recordings; submit feedback, questions, topic requests; view upcoming session dates and topics; sign up 3 https://devgym.oracle.com/pls/apex/dg/office_hours/3084
  • 3. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 4 The Story So Far …
  • 4. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Oracle Big Data Spatial and Graph • Available for Big Data platform/BDCS – Hadoop, HBase, Oracle NoSQL • Supported both on BDA and commodity hardware – CDH and Hortonworks • Database connectivity through Big Data Connectors or Big Data SQL • Included in Big Data Cloud Service Oracle Spatial and Graph • Available with Oracle 18c/12.2/DBCS • Using tables for graph persistence • Graph views on relational data • In-database graph analytics – Sparsification, shortest path, page rank, triangle counting, WCC, sub graphs • SQL queries possible • Included in Database Cloud Service 5 Graph Product Options
  • 5. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Data Access Layer (DAL) The Architecture … Graph Analytics Blueprints & Lucene/SolrCloud RDF (RDF/XML, N- Triples, N-Quads, TriG,N3,JSON) REST/WebService/Notebooks Java,Groovy,Python,… Java APIs Java APIs/JDBC/SQL/PLSQL Property Graph formats GraphML GML Graph-SON Flat Files 6 Scalable and Persistent Storage Management Parallel In-Memory Graph Analytics/Graph Query (PGX) Oracle NoSQL DatabaseOracle RDBMS Apache HBase Apache Spark
  • 6. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • What is a graph? – Data model representing entities as vertices and relationships as edges – Optionally including attributes • Flexible data model – No predefined schema, easily extensible – Particularly useful for sparse data • Enabling new kinds of analytics – Overcoming limitations in relational technology 7 Graph Data Model E A D C B F
  • 7. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Analysis for Business Insight 8 Identify Influencers Discover Graph Patterns in Big Data Generate Recommendations
  • 8. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 9 The APIs for Graph Analytics
  • 9. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Data Access Layer (DAL) The Architecture … Graph Analytics Blueprints & Lucene/SolrCloud RDF (RDF/XML, N- Triples, N-Quads, TriG,N3,JSON) REST/WebService/Notebooks Java,Groovy,Python,… Java APIs Java APIs/JDBC/SQL/PLSQL Property Graph formats GraphML GML Graph-SON Flat Files 10 Scalable and Persistent Storage Management Parallel In-Memory Graph Analytics/Graph Query (PGX) Oracle NoSQL DatabaseOracle RDBMS Apache HBase Apache Spark What we’ll focus on now.
  • 10. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 11
  • 11. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Using the PGX Groovy Shell • Shell script does all the setup • Variables instance, session and analyst are pre-configured 12 $ cd /opt/oracle/oracle-spatial-graph/property_graph/pgx/bin $ cd $ORACLE_HOME/md/property_graph/pgx/bin $ ./pgx PGX Shell 2.4.0 type :help for available commands variables instance, session and analyst ready to use pgx>
  • 12. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Invoking the Analyst Functions 1. Get an In-Memory Analyst : 2. Read the graph from data store into memory : 3. Perform analytical functions : 13 session = Pgx.createSession("session_ID_1"); analyst = session.createAnalyst(); pg = session.readGraphWithProperties(...); analyst.countTriangles(...) analyst.shortestPathDijkstra(...) analyst.pageRank(...) analyst.wcc(...)
  • 13. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 14 Catch that Zeppelin!
  • 14. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 15 URL of the PGX server
  • 15. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 16
  • 16. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 17
  • 17. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 18
  • 18. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 19
  • 19. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Setup the Graph Configuration cfb = GraphConfigBuilder.forPropertyGraphHbase(); cfb.setZkQuorum("bigdatalite").setZkClientPort(2181); cfb.setZkSessionTimeout(120000) cfb.setInitialEdgeNumRegions(3); cfb.setInitialVertexNumRegions(3).setSplitsPerRegion(1); cfb.setName("connections"); cfb = GraphConfigBuilder.forPropertyGraphNosql(); cfb.setHosts(["bigdatalite:5000"]); cfb.setStoreName("kvstore"); cfb.setMaxNumConnections(2); cfb.setName("connections"); Apache HBase Oracle NoSQL cfb = GraphConfigBuilder.forPropertyGraphRdbms(); cfb.setJdbcUrl("jdbc:oracle:thin:@127.0.0.1:1521:orcl122"); cfb.setUsername("scott").setPassword("tiger"); cfb.setName("connections"); Oracle RDBMS
  • 20. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. More Setup • Select the properties to load ! • We need the edge labels • Build the configuration 21 cfb.addVertexProperty("name", PropertyType.STRING); cfb.addVertexProperty("role", PropertyType.STRING); cfb.addVertexProperty("occupation", PropertyType.STRING); cfb.addVertexProperty("country", PropertyType.STRING); cfb.addVertexProperty("religion", PropertyType.STRING); cfb.addEdgeProperty("weight", PropertyType.DOUBLE, "1"); cfb.hasEdgeLabel(true).setLoadEdgeLabel(true); cfg = cfb.build();
  • 21. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Loading the Graph in Memory • Load the graph using a configuration • Can also use a JSON configuration file • Build the configuration from a JSON file 22 pg = session.readGraphWithProperties(cfg); pg = session.readGraphWithProperties("connections_config.json"); cfg = GraphConfigFactory.forAnyFormat().fromPath("connections_config.json"); pg = session.readGraphWithProperties(cfg);
  • 22. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Example configuration file for Oracle RDBMS 23 { "format": "pg", "db_engine": "RDBMS", "jdbc_url":"jdbc:oracle:thin:@127.0.0.1:1521:orcl122", "username":"scott", "password":"tiger", "max_num_connections":8, "name": "connections", "vertex_props": [ {"name":"name", "type":"string"}, {"name":"role", "type":"string"}, {"name":"occupation", "type":"string"}, {"name":"country", "type":"string"}, {"name":"political", "type":"string"}, {"name":"religion", "type":"string"} ], "edge_props": [ {"name":"weight", "type":"double", "default":"1"} ], "edge_label":true, "loading": {"load_edge_label": true} }
  • 23. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Explore the In-Memory Graph • How many vertices ? • How many edges ? • Fetch one vertex by id • What properties do edges have ? • Fetch one edge by id 24 pgx> pg.getNumEdges() ==> 164 pgx> pg.getNumVertices() ==> 80 pgx> pg.getVertex(1l) ==> PgxVertex[ID=1] pgx> pg.getEdge(0l) ==> PgxEdge[ID=0]
  • 24. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Explore the Graph • What properties do vertices have ? • What properties do edges have ? 25 pgx> pg.getVertexProperties() ==> VertexProperty[name=role,type=string,graph=connections] ==> VertexProperty[name=occupation,type=string,graph=connections] ==> VertexProperty[name=political,type=string,graph=connections] ==> VertexProperty[name=name,type=string,graph=connections] ==> VertexProperty[name=religion,type=string,graph=connections] ==> VertexProperty[name=country,type=string,graph=connections] pgx> pg.getEdgeProperties() ==> EdgeProperty[name=weight,type=double,graph=connections]
  • 25. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Explore the Graph • Get all vertices • Get all edges 26 pgx> pg.getVertices() ==> PgxVertex[ID=1] ==> PgxVertex[ID=2] ==> PgxVertex[ID=3] ... pgx> pg.getEdges() ==> PgxEdge[ID=0] ==> PgxEdge[ID=1] ==> PgxEdge[ID=2] ...
  • 26. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Page Rank • Get an approximate Pagerank • Show the top influencers 27 pgx> r=analyst.pagerank(graph:pg, max:1000, variant:'APPROXIMATE'); ==> VertexProperty[name=approx_pagerank,type=double,graph=connections] pgx> rank.getTopKValues(3) ==> PgxVertex[ID=1]=0.0608868998919989 ==> PgxVertex[ID=60]=0.03445628038301776 ==> PgxVertex[ID=42]=0.027831790283775117 pgx> it = r.getTopKValues(3).iterator(); pgx> while(it.hasNext()) { pgx> v=it.next(); pgx> id=v.getKey().getId(); pgx> name=pg.getVertex(id).getProperty("name"); pgx> pr=v.getValue(); pgx> System.out.println(id+" "+name+" "+pr); pgx> } 1 Barack Obama 0.0608868998919989 60 Nicolas Maduro 0.03445628038301776 42 NBC 0.027831790283775117
  • 27. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Betweenness Centrality 28 pgx> b = analyst.vertexBetweennessCentrality(pg).getTopKValues(5); ==> PgxVertex[ID=1]=2225.6666666666665 ==> PgxVertex[ID=2]=1029.0 ==> PgxVertex[ID=3]=876.5 ==> PgxVertex[ID=37]=797.0 ==> PgxVertex[ID=45]=456.0 pgx> it=b.iterator(); pgx> while(it.hasNext()) { pgx> v=it.next(); pgx> id=v.getKey().getId(); pgx> name=pg.getVertex(id).getProperty("name"); pgx> System.out.println(id+" "+name); pgx> } 1 Barack Obama 2225.6666666666665 2 Beyonce 1029.0 3 Charlie Rose 876.5 37 Amazon 797.0 45 CBS 456.0
  • 28. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Shortest Path on a Weighted graph • Get origin and destination vertices • Compute the shortest path • Is there a path ? • What is the total weight of the path? 29 pgx> path = analyst.shortestPathDijkstra(pg, s, d, pg.getEdgeProperty("weight")); ==> PgxPath[graph=connections,exists=true] pgx> path.exists(); ==> true pgx> path.getPathLengthWithCost(); ==> 3.0 pgx> s = pg.getVertices(new VertexFilter("vertex.name = 'Barack Obama'"))[0]; ==> PgxVertex[ID=1] pgx> d = pg.getVertices(new VertexFilter("vertex.name = 'Benedict Cumberbatch'"))[0]; ==> PgxVertex[ID=53]
  • 29. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. PGQL • Find all instances of a given pattern/template in data graph • Fast, scaleable query mechanism SELECT v3.name, v3.age FROM ‘myGraph’ WHERE (v1:Person WITH name = ‘Amber’) –[:friendOf]-> (v2:Person) –[:knows]-> (v3:Person) query Query: Find all people who are known to friends of ‘Amber’. data graph ‘myGraph’ :Person{100} name = ‘Amber’ age = 25 :Person{200} name = ‘Paul’ age = 30 :Person{300} name = ‘Heather’ age = 27 :Company{777} name = ‘Oracle’ location = ‘Redwood City’ :worksAt{1831} startDate = ’09/01/2015’ :friendOf{1173} :knows{2200} :friendOf {2513} since = ’08/01/2014’ 30
  • 30. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Executing PGQL 31 pgx> pg.queryPgql(" pgx> SELECT x.name, y.name pgx> WHERE (x) -[:leads]-> (y) pgx> ORDER BY x.name, y.name pgx> ").print() +--------------------------------------------+ | x.name | y.name | +--------------------------------------------+ | "Bobby Murphy" | "Snapchat" | | "Ertharin Cousin" | "World Food Programme" | | "Evan Spiegel" | "Snapchat" | | "Google" | "Nest" | | "Jack Ma" | "Alibaba" | | "Jeff Bezos" | "Amazon" | | "Pony Ma" | "Tencent" | | "Pope Francis" | "The Vatican" | | "Tony Fadell" | "Nest" | +--------------------------------------------+
  • 31. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Confidential – Oracle 32 Pre-Built Analytics
  • 32. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Algorithms and their Applications • Page rank, Weighted page rank – find influencers, critical vertices • Personalized page rank – find important people/products with respect to a given starting point • Sparsification – trim down the graph to make it more fragmented • Clustering – find communities which can be the basis of segmentation, and/or recommendation/anomaly detection, churn analysis 33
  • 33. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Algorithms and their Applications • BFS – impact analysis, link analysis • Shortest path – discover links, find suspect’s close collaborators, transportation routing • Matrix factorization – recommendation • Centrality (in-degree, out-degree, between-ness, closeness) – find critical people, devices, router 34
  • 34. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Graph Algorithms and their Applications • Salsa – recommendation • Graph Filtering – segmentation • Graph Query/Pattern matching – find anomaly, detect fraud, discover correlation, recommend by popularity, segmentation • Text search – find similarity, fuzzy ranking, relevancy ranking, recommendation, – GeoSpatial search/filtering, sentiment analysis, faceted query 35
  • 35. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 36 Graph Analytics in practice
  • 36. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Build Recommender System with Graph Technologies
  • 37. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Environment – Oracle Big Data Lite VM – Oracle Big Data Spatial and Graph – Apache SolrCloud • A “user-item” property graph – Vertices (items, descriptions, and users) – Edges (linking users and items) Recommendation: you may also like Building a Recommender System
  • 38. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Building a Recommender System Multiple approaches - and they can be mixed together Collaborative filtering • People liked similar items in the past will like similar items in the future Content-based filtering • Match item description • Match user profile • Relevancy ranking Personalized Page Ranking • Randomly navigate from a user to a product, then back to a user, … • Randomly jump to starting point(s) • A  u • u  B • B  w • w  C … A B C u v w x
  • 39. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Personalized Page Rank-based Recommender System Random walk with restart Reference: https://blogs.oracle.com/bigdataspatialgraph/entry/intuitive_explanation_of_personalized_page
  • 40. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Key API for Personalized Page Rank • API: ppr=analyst.personalizedPagerank ( pgxGraph, vertexSet, 0.0001 /*max error*/, 0.85 /*damping factor*/, 1000 ); • Result: ppr.getTopKValues() it=ppr.getTopKValues(9).iterator(); while (it.hasNext()) { entry=it.next(); vid=entry.getKey().getId(); System.out.format("ppr=%.4f vertex=%sn", entry.getValue(), opg.getVertex(vid)); } ppr=0.2496 vertex=Vertex ID 1 {name:str:John, age:int:10} ppr=0.1758 vertex=Vertex ID 11 {type:str:Prod, desc:str:Kindle Fire} ppr=0.1758 vertex=Vertex ID 10 {type:str:Prod, desc:str:iPhone5, …} 41
  • 41. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. • Matrix factorization • Graph intuition Recommendation with C.F. A customer’s taste signature is defined by what he/she likes Customer Item An item’s taste signature is (recursively) defined by who likes it A recursive graph algorithm solves taste signature of both customers and items [0.758 0.331 0.124 …] [0.328 0.172 0.519 ….] [0.231 0.119 0.033 ….] [0.305 0.888 0.931 ….] [0.758 0.331 0.124 ….] [0.391 0.551 0.223 …] [0.112 0.237 0.456 …]
  • 42. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Demo Build Recommender System with Graph Technologies
  • 43. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Fraud Detection
  • 44. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Fraud Detection • Business requirement: detect n-hop circular payment, a particular fraud pattern, in real-world transaction data. • Input: Transaction Data(from a Tax dept) in CSV • Output: identify circular payment in the form of A => B => C => … => A 45
  • 45. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Payment Data in Property Graph Format (.opv & .ope) 46 223855785052710,original_id,1,223855785052710,, 223855785052710,xzqh_dm_shi,1,223855,, 345337155048029,original_id,1,345337155048029,, 345337155048029,hymc,1,批发业,, 345337155048029,xzqh_dm_shi,1,345355,, 398238126805852918,original_id,1,19545407609453X,, 398238126805852918,xzqh_dm_shi,1,195455,, 345337078144545,original_id,1,345337078144545,, 345337078144545,hymc,1,装卸搬运和运输代理业,, 345337078144545,xzqh_dm_shi,1,345355,, 345337984038796,original_id,1,345337984038796,, 345337984038796,hymc,1,装卸搬运和运输代理业,, 345337984038796,xzqh_dm_shi,1,345355,, 167,194053906467083,345343155038506,bought_from,recorded_by,1,000,, 167,194053906467083,345343155038506,bought_from,expiration,1,,, 342,345358506939459,345356155269539,bought_from,recorded_by,1,263,, 342,345358506939459,345356155269539,bought_from,expiration,1,,,
  • 46. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Detection Pipeline • Major steps involved – Convert source transaction data into Oracle flat files – Execute PGQL – Run built-in analytics – Visualize 47
  • 47. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Detection Pipeline • Analytics and PGQL implementation details – PGQL select m, n where (m)-[e1]->(n)-[e2]->(m) select m, n, o where (m)-[e1]->(n)-[e2]->(o)-[e3]->(m) select m, n, o, p where (m)-[e1]->(n)-[e2]->(o)-[e3]->(p)-[e4]->(m) … – Add all_different( m, n, o, p) if needed – Use <- or just –[e]- if needed 48
  • 48. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Detection Pipeline • Analytics and PGQL implementation details – Run built-in analytics analyst.sccKosaraju(pgxGraph) 49 https://en.wikipedia.org/wiki/Kosaraju%27s_algorithm
  • 49. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Detection Pipeline 50
  • 50. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Detection Pipeline 51
  • 51. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Circular Payment Visualization with Cytoscape 52
  • 52. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Demo Circular Payment Fraud Detection
  • 53. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 54 Resources
  • 54. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Resources • Oracle Spatial and Graph & Big Data Spatial and Graph on OTN oracle.com/technetwork/database/options/spatialandgraph oracle.com/technetwork/database/database-technologies/bigdata-spatialandgraph – White papers, software downloads, documentation and videos • Blogs – examples, tips & tricks blogs.oracle.com/oraclespatial | blogs.oracle.com/bigdataspatialgraph • Property Graphs 101: How to Get Started with Property Graphs on the Oracle Database – Arthur Dayton, Vlamis Software https://youtu.be/QSj0zOjOAWI • YouTube channel: https://www.youtube.com/channel/UCZqBavfLlCuS0il6zNY696w • Oracle Big Data Lite Virtual Machine - a free sandbox to get started www.oracle.com/technetwork/database/bigdata-appliance/oracle-bigdatalite-2104726.html – Hands On Lab included in /opt/oracle/oracle-spatial-graph/ or http://github.com/oracle/BigDataLite/ 55
  • 55. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 56 Tutorials https://docs.oracle.com/cd/E56133_01/latest/tutorials/index.html
  • 56. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Resources – social media and online communities • Follow the product team: @SpatialHannes, @JeanIhm, @agodfrin, @alanzwu • Oracle Spatial and Graph SIG user groups (search “Oracle Spatial and Graph Community”) 57
  • 57. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. AskTOM sessions on property graphs • Next Spatial and Graph session July 17 – Topic: Graph Visualization • View recordings, submit feedback, questions, topic requests, view upcoming session dates and topics, sign up to get regular updates 58 https://devgym.oracle.com/pls/apex/dg/office_hours/3084
  • 58. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 59 Thanks for attending! See you next month. https://devgym.oracle.com/pls/apex/dg/office_hours/3084