グラフ型データベース入門 Neo4jを使う
リックテレコム
「グラフ型データベース入門」の刊行に寄せて
監修者まえがき
本書掲載のサンプルコードについて
第1章 グラフ型データベースとは
1-1 グラフ型データベースとは
1-2 RDBとNoSQL
1-2-1 RDBの発展、NoSQLの登場
1-2-2 NoSQLの種類、得手不得手
1-3 グラフDBが有効なケース
1-3-1 グラフとは
1-3-2 グラフDBを活用したサービス事例
1-3-3 利用の広がり
第2章 グラフ型データベースの考え方とグラフ理論
2-1 グラフ理論の構成要素
2-1-1 ノードとリレーションシップ
2-1-2 プロパティとラベル
2-2 身近なグラフの例
2-2-1 グラフ理論の主な使われ方
2-2-2 Neo4jでの使用例
2-2-3 そのほかのグラフ
第3章 グラフ型データベース「Neo4j」
3-1 Neo4jの概要
3-1-1 Neo4jと開発元Neo Technology社
3-1-2 Neo4jの歴史とリリース情報
3-1-3 Neo4jのライセンス体系
Column コミュニティ版、エンタープライズ版の比較
3-2 Neo4jの特性
3-2-1 ACID特性に準拠したデータベース
3-2-2 高いパフォーマンスによるOLTP
3-2-3 スケーラビリティ設計
3-2-4 宣言型クエリ言語「サイファークエリ」
3-2-5 幅広い開発言語やフレームワークに対応
3-2-6 オープンソース+商用サポート
3-3 Neo4jに関する情報の探し方
3-3-1 Neo Technology社による公式情報
3-3-2 コミュニティ関連の情報源
3-3-3 関連書籍
3-3-4 国内のユーザーグループと国内でのサポート企業例
3-3-5 そのほかのイベント、セミナー
第4章 Neo4jの環境構築と操作
4-1 Neo4jのサービス利用方法
4-2 Neo4j環境構築(Windows 8.1編)
4-2-1 Neo4jコミュニティ版のダウンロード
4-2-2 Nwo4jのインストール
4-2-3 Neo4jサービスの起動とデータベース作成
4-2-4 設定メニュー(Optionsボタン)
4-2-5 ウェブインターフェースの起動方法
4-3 Neo4j環境構築(GrapheneDB編)
4-3-1 GrapheneDBについて
4-3-2 アカウント取得方法
4-3-3 設定画面
4-3-4 ウェブインタフェースの起動方法
4-4 ウェブインターフェースを用いたNeo4jの操作
4-4-1 Movie Graphチュートリアルへのアクセス方法
4-4-2 ウェブインタフェースの使い方
4-4-3 Movieチュートリアルを用いたサイファークエリの確認
Column ケビン・ベーコン数
Column Neo4jのアンインストール
第5章 クエリでアクセスしてみよう
5-1 サイファークエリとは
5-2 ノードとリレーションシップの登録
5-2-1 ノードの登録
5-2-2 ノードの追加
5-2-3 リレーションシップの登録
5-2-4 リレーションシップの削除
5-2-5 ノードの削除
5-3 ノードとリレーションシップの属性
5-3-1 ノード属性の登録
5-3-2 ノード属性の変更
5-3-3 ノード属性の追加
5-3-4 ノード属性の削除
5-3-5 リレーションシップの属性登録
5-2-6 リレーションシップの属性変更
5-2-7 リレーションシップの属性削除
5-4 パターンマッチ
5-4-1 パターンマッチとは?
5-4-2 サンプルグラフの出力
5-4-3 マトリックスに出演した俳優
5-4-4 マトリックス出演俳優の出演映画
5-4-5 マトリックス出演俳優の出演映画とその映画の出演俳優
5-4-6 マトリックスでネオ役を演じた俳優
5-4-7 正規表現を使った検索
5-5 サイファーの構成要素について
5-5-1 シンタックス(構文)
5-5-2 一般的な文
5-5-3 読み取り文
5-5-4 書き込み文
5-5-5 ファンクション
5-5-6 制限
5-5-7 インデックス
5-5-8 実行計画の出力
5-5-9 メタ情報の問い合わせ
第6章 アプリケーションからのNeo4jデータの操作
6-1 REST APIと組み込みAPI
6-1-1 REST API
6-1-2 組み込みAPI
6-2 アプリケーション開発
6-2-1 PHPのインストール
6-2-2 Neo4j REST APIライブラリのインストール
6-2-3 neo4jphpでデータ操作
6-3 ウェブアプリケーション開発
6-3-1 Laravelのインストール
6-3-2 Laravelによるウェブアプリケーション開発
第7章 Neo4jの運用
7-1 データのインポート
7-1-1 Load CSV構文によるデータのインポート
7-1-2 neo4j-importツールによるデータのインポート
7-2 アプリケーション構成
7-2-1 基本的なアプリケーション構成
7-2-2 アプリケーションの負荷分散構成
7-2-3 Neo4jのACID特性
7-3 バックアップとリストア
7-3-1 オフラインバックアップ
Column エンタープライズ版(Enterprise Edition)利用上の留意点
7-3-2 オンラインバックアップ
7-3-3 リストア
7-4 セキュリティ
7-4-1 リモートクライアントのアクセス制御
7-4-2 認証とアクセス許可
7-4-3 HTTPSの利用
7-4-4 任意のコードの実行
7-4-5 高度なセキュリティ設定
7-5 Neo4jシェル
7-5-1 Ne04jシェルの起動
7-5-2 ローカルデータベースへのアクセス
7-5-3 リモートデータベースへのアクセス
7-5-4 その他のNeo4jシェルパラメータ
第8章 データモデリング
8-1 モデルとは何か?
8-1-1 モデルとは何か?
8-1-2 データモデル
8-2 データモデリングの手順
8-2-1 情報の抽出
8-2-2 情報の仕訳
8-2-3 関連の調査
8-2-4 ノードの精査と関連の見直し
8-2-5 クラス図によるモデル表現
8-2-6 プロパティリスト
8-2-7 インスタンスモデルの確認
Column サブセットの実装
8-2-8 データモデリングまとめ
8-3 データモデルの価値と維持管理
8-3-1 データモデルの価値
8-3-2 データモデルの維持管理
Column 対称関係・非対称関係のリレーションシップ表現
索引