NEO4J

40
ğümküme

Transcript of NEO4J

Page 1: NEO4J

Düğümküme

Page 3: NEO4J

ağ = graph(düğümküme*)

bir graph düğümler ve ilişkiler kümesidir.

*söylem: http://dugumkume.org/dugumkume

Page 4: NEO4J

düğüm

Page 5: NEO4J

düğümler

Page 6: NEO4J

birçok düğüm

Page 7: NEO4J

ilişkiler

Page 8: NEO4J

ve bir düğümkümeat

fatih

bisikletçay

seviyor

seviyor

sürü

yor

ahmet sürüyor

biniyor

ayşe

sevmiyo

Page 9: NEO4J

Graph teorisinin temeli matematikçi Euler tarafından 1735 yılında Königsberg’ın 7 Köprüsü probleminin çözümüne dayanıyor.

Page 10: NEO4J

Sosyometri alanını öncüsü olan Moreno 1934 yılında Who Shall Survive kitabınını yazar ve bir sosyoloji altdalını başlatmış olur:

Sosyal Ağ Analizi

Page 11: NEO4J
Page 12: NEO4J

ve olaylar gelişir.

Page 13: NEO4J

neden popüler?

çünkü disiplinler arası.

çünkü internet.

çünkü günlük hayatta kullandığımız servislerin içinde aslında hepimiz birer düğümüz.

Page 14: NEO4J

facebook

OWTG

fatih

bisiklet

gitti

sürü

yor

ahmetsürüyor

gitti

ayşegitti

ayşe

mahmut

arkadaş

Page 15: NEO4J

YIKINTÜMDİKİLEN

HEYKELLERİMİ

Page 16: NEO4J

örnekler

Page 17: NEO4J

İstanbul’daki camilerin örtüşen ezan sesleri üzerine kurulmuş bir harita.http://burak-arikan.com/islam-republic-neoliberalism

Page 18: NEO4J

programlama dilleri haritasıhttps://fatiherikli.github.io/programming-language-network/

Page 19: NEO4J

argüman analizi platformuhttps://arguman.org

argüman haritaları hiyerarşik düğümkümelerdir. önermeler birer node (düğüm), önerme tipleri ise bir edge (ilişki).

Page 20: NEO4J

arguman.org’da bildirilen safsatalar ve bulunduğu kanallar.http://arguman.org/blog/safsatalar/

Page 21: NEO4J

Ağ Veritabanları

Page 22: NEO4J

NEO4JGraph

Database

NoSQLDatabases

JAVA

NeoTechnology

OpenSource

Nodes

Edges Attributes

is_a

insta

nce_o

f

has

has

has

has

developed_by

developed_as

written_in

Page 23: NEO4J

•ilişkisel veritabanlarından farklıdırlar

•node (düğüm), edge (ilişki), ve bunlara bağlı ahmet’lerden oluşurlar.

•kayıtlar (satırlar) için düğüm diyebiliriz.

Page 24: NEO4J
Page 25: NEO4J
Page 26: NEO4J

cypher

•Neo4j’nin kullandığı sorgu dilidir.

•SQL gibi düşünülebilir.

MATCH (me {name:"fatih"})-[:FOLLOWS]->(followees)RETURN followees

Page 27: NEO4J
Page 28: NEO4J

Sürücüler•REST interface’ini kullanmak

oldukça basittir.

•Eğer bir client isterseniz de birçok dilde implementation’ı mevcuttur.

POST http://localhost:7474/db/data/transaction/commit

{ "statements": [{ "statement" : “YOUR CYPHER QUERY” }]}

Page 29: NEO4J

Düğümler

CREATE (User {username: 'ramazan'}); CREATE (User {username: 'fatih'}); CREATE (User {username: 'fatma'}); CREATE (User {username: 'can'}); CREATE (User {username: 'emine'}); CREATE (User {username: 'gülzade'}); CREATE (User {username: 'baki'});

Page 30: NEO4J

İlişkiler

MATCH (user { username:'fatih' }), (followee { username:'ramazan' })

# user’ları match edip aralarında # bir edge (ilişki) yaratıyoruz

CREATE (user)-[:FOLLOWS]->(followee);

Page 31: NEO4J

Query

MATCH (me {username:'fatiherikli'}) -[r:FOLLOWS]->(followees) return me, followees

Page 32: NEO4J
Page 33: NEO4J
Page 34: NEO4J

Yönler

MATCH (me {username:'fatiherikli'}) <-[r:FOLLOWS]-(followers) return me, followers

Page 35: NEO4J

Oklar

(Kaynak) -[İLİŞKİ]-> (Hedef)

(user) -[:FOLLOWS]-> (followees) (user)< -[:FOLLOWS]- (followers)

Page 36: NEO4J

örnek:

MATCH (fatih { username:'fatiherikli' }), (sepet { username: 'sepeth'}) WITH fatih, sepet MATCH (fatih)-[:FOLLOWS]->(mutual)<-[:FOLLOWS]-(sepet) RETURN mutual

fatih ve sepetle yumurta kişisinin ortak olarak takip ettiği kişiler:

Page 37: NEO4J

çıktısı

Page 38: NEO4J

örnek:

MATCH (fatih { username:'fatiherikli' }) WITH fatih MATCH (fatih)-[:FOLLOWS]->(followees)<-[:POSTED_IN]-(channels) RETURN channels

fatih kişisinin takip ettiği kişilerin yazdığı kanallar

Page 39: NEO4J

örnek:

MATCH (fatih { username:'fatiherikli' }) WITH fatih MATCH (fatih)-[:SUBSCRIBER_OF]->(channels) ->[:POSTED_IN]-(contentions) <-[:POSTED_BY]-(authors) RETURN distinct authors

fatih kişisinin takip ettiği kanallar üzerinden takip edilecek kişi önerileri

Page 40: NEO4J

teşekkürler