Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Graph Databases & NEO4J

phpkonf meetup neo4j sunumu

  • Login to see the comments

Graph Databases & NEO4J

  1. 1. NEO4J
  2. 2. selam Fatih Erikli http://fatiherikli.com fatiherikli@gmail.com
  3. 3. NEO4J Graph Database NoSQL Databases JAVA Neo Technology Open Source Nodes Edges Attributes is_a instance_of has has has has developed_by developed_as written_in
  4. 4. graph database’ler •ilişkisel veritabanlarından farklıdırlar •node, edge, ve bunlara bağlı attribute’lerden oluşurlar. •kayıtlar için node, ilişkiler için edge diyebiliriz.
  5. 5. cypher •Neo4j’nin kullandığı sorgu dilidir. •SQL gibi düşünülebilir. MATCH (me {name:"fatih"})-[:FOLLOWS]->(followees) RETURN followees
  6. 6. Drivers •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” }] }
  7. 7. Nodes 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'});
  8. 8. Edges MATCH (user { username:'fatih' }), (followee { username:'ramazan' }) # user’ları match edip aralarında # bir edge (ilişki) yaratıyoruz CREATE (user)-[:FOLLOWS]->(followee);
  9. 9. Query MATCH (me {username:'fatiherikli'}) -[r:FOLLOWS]->(followees) return me, followees
  10. 10. Directions MATCH (me {username:'fatiherikli'}) <-[r:FOLLOWS]-(followers) return me, followers
  11. 11. Oklar (Kaynak) -[İLİŞKİ]-> (Hedef) (user) -[:FOLLOWS]-> (followees) (user)< -[:FOLLOWS]- (followers)
  12. 12. ö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:
  13. 13. çıktısı
  14. 14. ö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
  15. 15. ö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
  16. 16. teşekkürler

×