Düğümküme
Fatih Erikli 
fatiherikli@gmail.com 
http://fatiherikli.com
ağ = graph(düğümküme*) 
bir graph düğümler ve ilişkiler 
kümesidir. 
*söylem: http://dugumkume.org/dugumkume
düğüm
düğümler
birçok düğüm
ilişkiler
ve bir düğümküme 
at 
fatih 
bisiklet 
çay 
seviyor 
seviyor 
sürüyor 
ahmet 
biniyor 
sürüyor 
ayşe 
sevmiyo
Graph teorisinin temeli matematikçi 
Euler tarafından 1735 yılında 
Königsberg’ın 7 Köprüsü probleminin 
çözümüne dayanıyo...
Sosyometri alanını öncüsü 
olan Moreno 1934 yılında 
Who Shall Survive kitabınını 
yazar ve bir sosyoloji 
altdalını başla...
ve olaylar gelişir.
neden popüler? 
çünkü disiplinler arası. 
çünkü internet. 
çünkü günlük hayatta kullandığımız 
servislerin içinde aslında ...
facebook 
OWTG 
fatih 
bisiklet 
gitti 
sürüyor 
ahmet 
gitti 
sürüyor 
ayşe 
gitti 
ayşe 
mahmut 
arkadaş
YIKIN 
TÜM 
DİKİLEN 
HEYKELLERİMİ
örnekler
İstanbul’daki camilerin örtüşen ezan sesleri üzerine kurulmuş bir harita. 
http://burak-arikan.com/islam-republic-neoliber...
programlama dilleri haritası 
https://fatiherikli.github.io/programming-language-network/
argüman analizi platformu 
https://arguman.org 
argüman haritaları hiyerarşik düğümkümelerdir. önermeler birer node 
(düğü...
arguman.org’da bildirilen safsatalar ve bulunduğu kanallar. 
http://arguman.org/blog/safsatalar/
Ağ Veritabanları
NEO4J 
instance_of Graph 
Database 
has 
NoSQL 
Databases 
JAVA 
Neo 
Technology 
Open 
Source 
Nodes 
is_a 
has 
Edges ha...
•ilişkisel veritabanlarından 
farklıdırlar 
•node (düğüm), edge (ilişki), ve 
bunlara bağlı ahmet’lerden 
oluşurlar. 
•kay...
cypher 
•Neo4j’nin kullandığı sorgu dilidir. 
•SQL gibi düşünülebilir. 
MATCH (me {name:"fatih"})-[:FOLLOWS]->(followees) ...
Sürücüler 
•REST interface’ini kullanmak 
oldukça basittir. 
•Eğer bir client isterseniz de birçok 
dilde implementation’ı...
Düğümler 
CREATE (User {username: 'ramazan'}); 
CREATE (User {username: 'fatih'}); 
CREATE (User {username: 'fatma'}); 
CR...
İlişkiler 
MATCH (user { username:'fatih' }), 
(followee { username:'ramazan' }) 
# user’ları match edip aralarında 
# bir...
Query 
MATCH (me {username:'fatiherikli'}) 
-[r:FOLLOWS]->(followees) 
return me, followees
Yönler 
MATCH (me {username:'fatiherikli'}) 
<-[r:FOLLOWS]-(followers) 
return me, followers
Oklar 
(Kaynak) -[İLİŞKİ]-> (Hedef) 
(user) -[:FOLLOWS]-> (followees) 
(user)< -[:FOLLOWS]- (followers)
örnek: 
fatih ve sepetle yumurta kişisinin ortak olarak 
takip ettiği kişiler: 
MATCH (fatih { username:'fatiherikli' }), ...
çıktısı
örnek: 
fatih kişisinin takip ettiği kişilerin yazdığı 
kanallar 
MATCH (fatih { username:'fatiherikli' }) 
WITH fatih 
MA...
örnek: 
fatih kişisinin takip ettiği kanallar üzerinden 
takip edilecek kişi önerileri 
MATCH (fatih { username:'fatiherik...
teşekkürler
NEO4J
NEO4J
NEO4J
NEO4J
NEO4J
NEO4J
Upcoming SlideShare
Loading in …5
×

NEO4J

2,022 views

Published on

Graph database'ler ve NEO4J hakkında bir sunum. Özgür Web Günleri 2014'de sunulmuştur.

Published in: Data & Analytics
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,022
On SlideShare
0
From Embeds
0
Number of Embeds
71
Actions
Shares
0
Downloads
13
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

NEO4J

  1. 1. Düğümküme
  2. 2. Fatih Erikli fatiherikli@gmail.com http://fatiherikli.com
  3. 3. ağ = graph(düğümküme*) bir graph düğümler ve ilişkiler kümesidir. *söylem: http://dugumkume.org/dugumkume
  4. 4. düğüm
  5. 5. düğümler
  6. 6. birçok düğüm
  7. 7. ilişkiler
  8. 8. ve bir düğümküme at fatih bisiklet çay seviyor seviyor sürüyor ahmet biniyor sürüyor ayşe sevmiyo
  9. 9. 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.
  10. 10. 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
  11. 11. ve olaylar gelişir.
  12. 12. 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.
  13. 13. facebook OWTG fatih bisiklet gitti sürüyor ahmet gitti sürüyor ayşe gitti ayşe mahmut arkadaş
  14. 14. YIKIN TÜM DİKİLEN HEYKELLERİMİ
  15. 15. örnekler
  16. 16. İstanbul’daki camilerin örtüşen ezan sesleri üzerine kurulmuş bir harita. http://burak-arikan.com/islam-republic-neoliberalism
  17. 17. programlama dilleri haritası https://fatiherikli.github.io/programming-language-network/
  18. 18. argüman analizi platformu https://arguman.org argüman haritaları hiyerarşik düğümkümelerdir. önermeler birer node (düğüm), önerme tipleri ise bir edge (ilişki).
  19. 19. arguman.org’da bildirilen safsatalar ve bulunduğu kanallar. http://arguman.org/blog/safsatalar/
  20. 20. Ağ Veritabanları
  21. 21. NEO4J instance_of Graph Database has NoSQL Databases JAVA Neo Technology Open Source Nodes is_a has Edges has Attributes has developed_by developed_as written_in
  22. 22. •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.
  23. 23. cypher •Neo4j’nin kullandığı sorgu dilidir. •SQL gibi düşünülebilir. MATCH (me {name:"fatih"})-[:FOLLOWS]->(followees) RETURN followees
  24. 24. 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” }] }
  25. 25. 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'});
  26. 26. İ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);
  27. 27. Query MATCH (me {username:'fatiherikli'}) -[r:FOLLOWS]->(followees) return me, followees
  28. 28. Yönler MATCH (me {username:'fatiherikli'}) <-[r:FOLLOWS]-(followers) return me, followers
  29. 29. Oklar (Kaynak) -[İLİŞKİ]-> (Hedef) (user) -[:FOLLOWS]-> (followees) (user)< -[:FOLLOWS]- (followers)
  30. 30. örnek: fatih ve sepetle yumurta kişisinin ortak olarak takip ettiği kişiler: MATCH (fatih { username:'fatiherikli' }), (sepet { username: 'sepeth'}) WITH fatih, sepet MATCH (fatih)-[:FOLLOWS]->(mutual)<-[:FOLLOWS]-(sepet) RETURN mutual
  31. 31. çıktısı
  32. 32. örnek: fatih kişisinin takip ettiği kişilerin yazdığı kanallar MATCH (fatih { username:'fatiherikli' }) WITH fatih MATCH (fatih)-[:FOLLOWS]->(followees)<-[:POSTED_IN]-(channels) RETURN channels
  33. 33. örnek: fatih kişisinin takip ettiği kanallar üzerinden takip edilecek kişi önerileri MATCH (fatih { username:'fatiherikli' }) WITH fatih MATCH (fatih)-[:SUBSCRIBER_OF]->(channels) ->[:POSTED_IN]-(contentions) <-[:POSTED_BY]-(authors) RETURN distinct authors
  34. 34. teşekkürler

×