Slide 1

Slide 1 text

Organizando dados juŕidicos em grafos @andrewsmedina

Slide 2

Slide 2 text

$ whoami

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

grafos

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

Seven Bridges of Königsberg 1736

Slide 7

Slide 7 text

Seven Bridges of Königsberg 1736

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

Graph database?

Slide 12

Slide 12 text

Dados

Slide 13

Slide 13 text

O que é um dado? facts and statistics collected together for reference or analysis.

Slide 14

Slide 14 text

Como representar dados?

Slide 15

Slide 15 text

1985

Slide 16

Slide 16 text

key -> value

Slide 17

Slide 17 text

key -> value movie -> stallone cobra release_date -> 1985

Slide 18

Slide 18 text

SET release_date “1985” GET release_date

Slide 19

Slide 19 text

tables

Slide 20

Slide 20 text

id movie release_date genero 1 Stallone cobra 1985 1 2 matrix 2000 1 id genero 1 ação

Slide 21

Slide 21 text

insert into actor (name) values (“sylvester stallone”); select name from actor;

Slide 22

Slide 22 text

Graphs

Slide 23

Slide 23 text

Stallone Cobra Sylvester Stallone Os mercenários

Slide 24

Slide 24 text

nquad

Slide 25

Slide 25 text

_:actor “Sylvester Stallone” _:movie “Stallone Cobra” _:movie 1985 _:movie _:actor

Slide 26

Slide 26 text

queries

Slide 27

Slide 27 text

gremlin

Slide 28

Slide 28 text

g.V[[title:'Stallone Cobra']].[[type: ‘Actor’]]

Slide 29

Slide 29 text

cypher

Slide 30

Slide 30 text

MATCH (ee:movie)-[:ACTOR]-(actor) WHERE ee.movie = "Stallone Cobra" RETURN ee, actor;

Slide 31

Slide 31 text

Graphql +-

Slide 32

Slide 32 text

{ search(func: eq(name: “Stallone Cobra”) { name actor { Name } } }

Slide 33

Slide 33 text

Search, column based, genoma, time series, etc.

Slide 34

Slide 34 text

Quando usar grafos?

Slide 35

Slide 35 text

Social Graph

Slide 36

Slide 36 text

Knowledge Graph

Slide 37

Slide 37 text

Netflix https://www.slideshare.net/RoopaTangirala/polyglot- persistence-netflix-cde-meetup-90955706

Slide 38

Slide 38 text

Detecção de fraude

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

Rte investigation https://orientdb.com/case-studies/rte-iu/

Slide 41

Slide 41 text

99 bill https://orientdb.com/case-studies/99bill-fights-fraud-f aster-increasing-detection-20-orientdb/

Slide 42

Slide 42 text

Recomendação

Slide 43

Slide 43 text

Recomendação https://markorodriguez.com/2011/09/22/a-graph-bas ed-movie-recommender-engine/

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

http://oracleofbacon.org/

Slide 46

Slide 46 text

Soluções

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

neo4j ● Open source ● Multi node apenas para read only ● Suporte ● Cypher e Gremlin

Slide 49

Slide 49 text

No content

Slide 50

Slide 50 text

OrientDB ● Open source, mantido pela IBM ● Multi schema model ● Shard, multi master ● Gremlin e SQL

Slide 51

Slide 51 text

No content

Slide 52

Slide 52 text

Dgraph ● Open source ● GraphQL +- ● Shard, multi master

Slide 53

Slide 53 text

dados jurídicos

Slide 54

Slide 54 text

Pessoas, processos, tribunais, publicações, documentos...

Slide 55

Slide 55 text

● Knowledge graph ● Recomendação ● Detecção de fraude

Slide 56

Slide 56 text

Obrigado! @andrewsmedina

Slide 57

Slide 57 text

Temos vagas! [email protected] github.com/jusbrasil/careers