Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction of neo4j

Introduction of neo4j

西日暮里.rb ゴールデンだよLT大会 @ 秋葉原UDX!!での飛び込みLT

Kunihiko Ito

April 28, 2016
Tweet

More Decks by Kunihiko Ito

Other Decks in Technology

Transcript

  1. グラフDB Neo4j
    のご紹介
    Kunihiko Ito
    ESM
    西日暮里.rb
    2016-04-28

    View Slide

  2. はじめ
    まして

    View Slide

  3. 西日暮
    里.rb

    View Slide

  4. 参加2回
    目です

    View Slide

  5. p self
    名前: 伊藤 邦彦
    所属: ESM アジャイル事業部

    View Slide

  6. github@kunitoo

    View Slide

  7. twitter@kunitoo

    View Slide

  8. 今日伝えたいこと
    RDBMS 以外にもデータベースはあ
    るんだよ

    View Slide

  9. Neo4j とは
    - NoSQL に分類される
    # https://ja.wikipedia.org/wiki/Neo4j
    Neo4jはJavaで実装された、
    オープンソースの最も人気のある
    グラフデータベースである。

    View Slide

  10. グラフデータベースとは
    グラフ構造を扱うことのできるデー
    タべース

    View Slide

  11. グラフ構造
    # https://ja.wikipedia.org/wiki/グラフ_(データ構造)
    グラフ(英: Graph)とは、
    ノード(頂点)群とノード間の連結関係を表すエッジ(枝)群で
    構成される抽象データ型、and・orその実装である具象データ型である。
    グラフ理論によるグラフの実装であり、
    同理論にもとづく豊富なアルゴリズムの基盤である。

    View Slide

  12. こんなの

    View Slide

  13. クエリ
    Cypher Query Language
    MATCH (u:User)-[rel:friends]->(:User)
    RETUN distinct(u)

    View Slide

  14. Ruby か
    ら触るに

    View Slide

  15. Neo4jrb

    View Slide

  16. 例題
    https://gist.github.com/
    mattsan/07674b095908fda117a0

    View Slide

  17. Neo4j を使ってどう解くか
    https://gist.github.com/
    kunitoo/7eb3464a1c8b55353195

    View Slide