所属会社の企画で「婚活支援プロジェクト」という記事を連載中です。この記事の目的は、例示を通してNeo4jの利用方法を具体的且つ分かり易く伝えることです。そのために、実際にトライアルプロジェクトを起こし、企画段階からデータモデル設計、データ登録、Cypherクエリーを利用した様々な分析、問題点のまとめ、問題点をどのように改善するかなど、実行した事や起きた事などをそのまま伝えております。
具体的な内容は、以下の記事を参照して下さい。
第1回目:構想からデータモデル設計まで
第2回目:データ処理と問題点
第3回目:どのように改善したらいいのか
第4回目:改善したデータモデルよるデータ処理
以下のCypherクエリーは、ある男性が望んでいる理想的な相手(最も類似性が高い女性という想定)を分析し、望んでいる要素の一覧と共に、類似性の高い割合でトップ10を表示しています。
WITH ["飲む",1981,1982,1983,1984,1985,1986,1987,1989,"短大・高専","大学","大学院","信じない","意識して運動する",140,150,160,"土日祝日",100,200,300,400,500,600,700,800,900,"映画感想","ゲーム","公務員","会社員","自営業","企業経営・役員","教師","医師","医療関係","保育士","農林・漁業","パート・アルバイト","学生","家事手伝","好き","埼玉県","千葉県","東京都","神奈川県","無し","積極的","海","川","外向的","内向的","猫派","吸わない","野球","サッカー","バレーボール","バスケットボール","テーブルテニス","ヨガ","散歩","ダンス","話すタイプ"] AS list
MATCH (woman:Person:Woman)-[*]->(things)
WHERE NOT woman-[:DISAGREE|SUCCESS]-()
WITH woman, COLLECT(things.title) AS wlist, list
WITH woman, filter( x IN list WHERE x IN wlist) AS shared, [1995,1994,1993,1992,1991,1990,1980,1979,1978,1977,1976,1975,1974,1973,1972,1971,1970,170,180,190,200,"dummy"] AS list2
WHERE NONE ( x IN shared WHERE x IN list2)
RETURN woman.name AS 女性, shared AS 共有要素, 1.0 * length(shared) / 20 AS 類似性
ORDER BY 類似性 DESC
LIMIT 10
女性 共有要素 類似性
W24 [1982, 大学, 意識して運動する, 140, 600, ゲーム, 自営業, 好き, 埼玉県, 無し, 積極的, 海, 外向的, 猫派, 吸わない, バレーボール] 0.8
W13 [飲む, 1984, 大学, 信じない, 意識して運動する, 150, 700, ゲーム, 自営業, 好き, 埼玉県, 無し, 海, 外向的, 吸わない, バスケットボール] 0.8
W12 [飲む, 1985, 大学, 意識して運動する, 160, 土日祝日, 600, 会社員, 好き, 無し, 積極的, 外向的, 猫派, 吸わない, バレーボール, 話すタイプ] 0.8
W16 [飲む, 1981, 信じない, 意識して運動する, 140, 土日祝日, 300, 映画感想, 医師, 好き, 東京都, 内向的, 猫派, 吸わない, バレーボール] 0.75
W05 [飲む, 大学, 意識して運動する, 150, 土日祝日, 400, 映画感想, 教師, 好き, 千葉県, 無し, 外向的, 吸わない, テーブルテニス, 話すタイプ] 0.75
W14 [飲む, 1983, 大学, 信じない, 160, 土日祝日, 400, 企業経営・役員, 好き, 神奈川県, 海, 内向的, 猫派, 野球, 話すタイプ] 0.75
W10 [飲む, 1987, 意識して運動する, 土日祝日, 400, 映画感想, 農林・漁業, 好き, 東京都, 無し, 海, 外向的, 猫派, 吸わない, 話すタイプ] 0.75
W18 [飲む, 大学, 意識して運動する, 160, 400, 保育士, 好き, 東京都, 積極的, 海, 内向的, 猫派, テーブルテニス, 話すタイプ] 0.7
W20 [飲む, 意識して運動する, 土日祝日, 600, パート・アルバイト, 好き, 東京都, 無し, 海, 外向的, 猫派, 吸わない, 散歩, 話すタイプ] 0.7
W17 [飲む, 短大・高専, 信じない, 150, 土日祝日, 700, 医療関係, 好き, 神奈川県, 無し, 川, 外向的, 吸わない, バスケットボール] 0.7