+ All Categories
Home > Technology > Using a graph database for analyzing your Liferay data

Using a graph database for analyzing your Liferay data

Date post: 15-Apr-2017
Category:
Upload: mate-thurzo
View: 62 times
Download: 2 times
Share this document with a friend
77
Using a graph database for analyzing your Liferay data Máté Thurzó @matethurzo Staging Lead, Senior Software Engineer
Transcript
Page 1: Using a graph database for analyzing your Liferay data

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

Budapest

Page 3: Using a graph database for analyzing your Liferay data
Page 4: Using a graph database for analyzing your Liferay data

What is graph?

Page 5: Using a graph database for analyzing your Liferay data

G=(V,E)

Page 6: Using a graph database for analyzing your Liferay data
Page 7: Using a graph database for analyzing your Liferay data

Undirected

Directed

Bi-directed

Mixed

Cyclical

Acyclical

Multigraph

Simple graph

Complete graph

Page 8: Using a graph database for analyzing your Liferay data

Why graphs

Page 9: Using a graph database for analyzing your Liferay data

Internet and networks

Human relationships

Staging Human body

Page 10: Using a graph database for analyzing your Liferay data

It’s a graph!

Page 11: Using a graph database for analyzing your Liferay data

Graphs are fun

Page 12: Using a graph database for analyzing your Liferay data

Graphs are easy to work with

Page 13: Using a graph database for analyzing your Liferay data

DEMOneo4j org structure

Page 14: Using a graph database for analyzing your Liferay data

Graphs are whiteboardfriendly

Page 15: Using a graph database for analyzing your Liferay data

Graphsalgorithms/performance

Page 16: Using a graph database for analyzing your Liferay data
Page 17: Using a graph database for analyzing your Liferay data

Loading dataNEO4J STORED PROCEDURE

Page 18: Using a graph database for analyzing your Liferay data
Page 19: Using a graph database for analyzing your Liferay data
Page 20: Using a graph database for analyzing your Liferay data
Page 21: Using a graph database for analyzing your Liferay data
Page 22: Using a graph database for analyzing your Liferay data

LOADING DATABACKGROUND TASK EXECUTOR

Page 23: Using a graph database for analyzing your Liferay data

Liferay neo4jdriver

Page 24: Using a graph database for analyzing your Liferay data
Page 25: Using a graph database for analyzing your Liferay data
Page 26: Using a graph database for analyzing your Liferay data

Who does Jorge manage?

Page 27: Using a graph database for analyzing your Liferay data
Page 28: Using a graph database for analyzing your Liferay data
Page 29: Using a graph database for analyzing your Liferay data
Page 30: Using a graph database for analyzing your Liferay data

Who ARE THE CONTENT CREATORS?

Page 31: Using a graph database for analyzing your Liferay data
Page 32: Using a graph database for analyzing your Liferay data

Who hasn’t createdany content?

Page 33: Using a graph database for analyzing your Liferay data
Page 34: Using a graph database for analyzing your Liferay data
Page 35: Using a graph database for analyzing your Liferay data

Who to follow?

Page 36: Using a graph database for analyzing your Liferay data
Page 37: Using a graph database for analyzing your Liferay data

How far are they arefrom me?

Page 38: Using a graph database for analyzing your Liferay data
Page 39: Using a graph database for analyzing your Liferay data

× Discovering relationships, behavior, interests

× Providing suggestions on products

Page 40: Using a graph database for analyzing your Liferay data

staging? Again?

Page 41: Using a graph database for analyzing your Liferay data

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

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

Image

Web Content

Blogs

Page 44: Using a graph database for analyzing your Liferay data

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

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

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

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

Image

Content

Blog

Image2

Folder Content2

Page 49: Using a graph database for analyzing your Liferay data

Science kicks in – Enter graph theory

Page 50: Using a graph database for analyzing your Liferay data

Topologicalsorting– coffman

graham

Page 51: Using a graph database for analyzing your Liferay data

Image

Content

Blog

Image2

Folder Content2

Page 52: Using a graph database for analyzing your Liferay data

Image

Content Blog

Image2 Folder

Content2

Page 53: Using a graph database for analyzing your Liferay data

Image2

ContentBlog

Image Folder

Content2

Page 54: Using a graph database for analyzing your Liferay data

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
Page 56: Using a graph database for analyzing your Liferay data
Page 57: Using a graph database for analyzing your Liferay data
Page 58: Using a graph database for analyzing your Liferay data

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

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

Graph creation

Page 61: Using a graph database for analyzing your Liferay data
Page 62: Using a graph database for analyzing your Liferay data

Graph searching

Page 63: Using a graph database for analyzing your Liferay data

× Path finding× Artifical intelligence

Page 64: Using a graph database for analyzing your Liferay data

× Not using Neo4j× JGraphT library

Page 65: Using a graph database for analyzing your Liferay data

× Finding insurance fraudulantactivity

× Risk assessement

Page 66: Using a graph database for analyzing your Liferay data

× News site – content with linksto other content

× Panama papers

Page 67: Using a graph database for analyzing your Liferay data

Structural analysis

Page 68: Using a graph database for analyzing your Liferay data

× Parkinson’s disease× Protein struture prediction

× Cancer research

Page 69: Using a graph database for analyzing your Liferay data

László babaiuniversity of chicagograph isomorphism can be solved in quasipolinomial time

Page 70: Using a graph database for analyzing your Liferay data

× 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

Predicting the future

Page 72: Using a graph database for analyzing your Liferay data

× Probability distribution over graphs× Complex network modeling

× Erdos-Rényi model

Page 73: Using a graph database for analyzing your Liferay data

Pál erdos

Page 74: Using a graph database for analyzing your Liferay data

× Statistics gathering in a graphform and analysing theproduced result

Page 75: Using a graph database for analyzing your Liferay data

It’s a graph!

Page 76: Using a graph database for analyzing your Liferay data

Questions?

Page 77: Using a graph database for analyzing your Liferay data

Gists

@matethurzo


Recommended