Using a graph database for analyzing your Liferay data
-
Upload
mate-thurzo -
Category
Technology
-
view
61 -
download
2
Transcript of Using a graph database for analyzing your Liferay data
![Page 1: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/1.jpg)
Amazing Title Goes HereAwesome Subtitle
Name NameTitle Title Title Title Title
Using a graph database for analyzing your Liferay data
Máté Thurzó @matethurzoStaging Lead, Senior Software Engineer
![Page 2: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/2.jpg)
Budapest
![Page 3: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/3.jpg)
![Page 4: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/4.jpg)
What is graph?
![Page 5: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/5.jpg)
G=(V,E)
![Page 6: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/6.jpg)
![Page 7: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/7.jpg)
Undirected
Directed
Bi-directed
Mixed
Cyclical
Acyclical
Multigraph
Simple graph
Complete graph
![Page 8: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/8.jpg)
Why graphs
![Page 9: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/9.jpg)
Internet and networks
Human relationships
Staging Human body
![Page 10: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/10.jpg)
It’s a graph!
![Page 11: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/11.jpg)
Graphs are fun
![Page 12: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/12.jpg)
Graphs are easy to work with
![Page 13: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/13.jpg)
DEMOneo4j org structure
![Page 14: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/14.jpg)
Graphs are whiteboardfriendly
![Page 15: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/15.jpg)
Graphsalgorithms/performance
![Page 16: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/16.jpg)
![Page 17: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/17.jpg)
Loading dataNEO4J STORED PROCEDURE
![Page 18: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/18.jpg)
![Page 19: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/19.jpg)
![Page 20: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/20.jpg)
![Page 21: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/21.jpg)
![Page 22: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/22.jpg)
LOADING DATABACKGROUND TASK EXECUTOR
![Page 23: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/23.jpg)
Liferay neo4jdriver
![Page 24: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/24.jpg)
![Page 25: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/25.jpg)
![Page 26: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/26.jpg)
Who does Jorge manage?
![Page 27: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/27.jpg)
![Page 28: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/28.jpg)
![Page 29: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/29.jpg)
![Page 30: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/30.jpg)
Who ARE THE CONTENT CREATORS?
![Page 31: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/31.jpg)
![Page 32: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/32.jpg)
Who hasn’t createdany content?
![Page 33: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/33.jpg)
![Page 34: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/34.jpg)
![Page 35: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/35.jpg)
Who to follow?
![Page 36: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/36.jpg)
![Page 37: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/37.jpg)
How far are they arefrom me?
![Page 38: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/38.jpg)
![Page 39: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/39.jpg)
× Discovering relationships, behavior, interests
× Providing suggestions on products
![Page 40: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/40.jpg)
staging? Again?
![Page 41: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/41.jpg)
1.Advanced publication tool
Content can be assembled and reviewed on a staging site and can
be published to live
![Page 42: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/42.jpg)
A staging publication processreplicates data between sites and performs extra operations – such asvalidation
2. replication
![Page 43: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/43.jpg)
Image
Web Content
Blogs
![Page 44: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/44.jpg)
EntityStaging is operating on a graph of entities, discovering and processingthe relationships between them
![Page 45: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/45.jpg)
wysiwyg behavior
In order to ensure a smooth experience wemight need to pullother contents too
reference validation
Certain business rulesneeds to be validatedand reported back
![Page 46: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/46.jpg)
no graph stored
There is no information beforethe execution of thegraph
graph maintenance
On edit approach vsprocessing every time
XML format
Performance considerations –especially on thememory side
![Page 47: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/47.jpg)
graph not homogenous
The graph vertices are not thesame – graph operations notpossible
static calling
Pre-defined entry pointscombined with a staticcontrolling setup
![Page 48: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/48.jpg)
Image
Content
Blog
Image2
Folder Content2
![Page 49: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/49.jpg)
Science kicks in – Enter graph theory
![Page 50: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/50.jpg)
Topologicalsorting– coffman
graham
![Page 51: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/51.jpg)
Image
Content
Blog
Image2
Folder Content2
![Page 52: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/52.jpg)
Image
Content Blog
Image2 Folder
Content2
![Page 53: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/53.jpg)
Image2
ContentBlog
Image Folder
Content2
![Page 54: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/54.jpg)
DirectedDirection is important to tellwhat comes after what –This is defined in the business logic
GraphDuh!
AcyclicalIn a cycle everything
has a predecessor and a successor
![Page 55: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/55.jpg)
![Page 56: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/56.jpg)
![Page 57: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/57.jpg)
![Page 58: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/58.jpg)
Clean bathroom
Sweep floors Wash windows
Armond $2 $3 $3
Francine $3 $2 $3
Herbert $3 $3 $2
Armond – Clean bathroomFrancine – Sweep floorsHerbert – Wash windows
![Page 59: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/59.jpg)
Name/Task Writing a unit test
Implement a new staging data handler
Fix a bug in a BackgroundTaskExecutor
Mária f(x) f(x) f(x)
Dániel f(x) f(x) f(x)
Ákos f(x) f(x) f(x)
![Page 60: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/60.jpg)
Graph creation
![Page 61: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/61.jpg)
![Page 62: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/62.jpg)
Graph searching
![Page 63: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/63.jpg)
× Path finding× Artifical intelligence
![Page 64: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/64.jpg)
× Not using Neo4j× JGraphT library
![Page 65: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/65.jpg)
× Finding insurance fraudulantactivity
× Risk assessement
![Page 66: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/66.jpg)
× News site – content with linksto other content
× Panama papers
![Page 67: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/67.jpg)
Structural analysis
![Page 68: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/68.jpg)
× Parkinson’s disease× Protein struture prediction
× Cancer research
![Page 69: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/69.jpg)
László babaiuniversity of chicagograph isomorphism can be solved in quasipolinomial time
![Page 70: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/70.jpg)
× Static code analysis – Codecheck, Liferay Source Formatter
× Abstract Syntax Tree (AST)× Abstract Semantic Graph (ASG)
![Page 71: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/71.jpg)
Predicting the future
![Page 72: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/72.jpg)
× Probability distribution over graphs× Complex network modeling
× Erdos-Rényi model
![Page 73: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/73.jpg)
Pál erdos
![Page 74: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/74.jpg)
× Statistics gathering in a graphform and analysing theproduced result
![Page 75: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/75.jpg)
It’s a graph!
![Page 76: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/76.jpg)
Questions?
![Page 77: Using a graph database for analyzing your Liferay data](https://reader033.fdocuments.us/reader033/viewer/2022051521/587471c11a28ab4a758b4e29/html5/thumbnails/77.jpg)
Gists
@matethurzo