一、項目介紹
本項目是一個關於汽車領域的知識圖譜,項目內容包括知識抽取、知識建模、知識推理、知識存儲、知識應用,適用於基於搜索引擎的商業數據分析場景。
本項目利用網絡爬蟲完成了汽車品牌數據、汽車車型數據、汽車配置數據的獲取,通過數據預處理后,在Neo4j圖數據庫中進行批量數據節點的創建,索引的創建和關系的創建,總共有207個汽車品牌數據,1519個汽車車系數據,31768個汽車車型數據,完成數據的導入工作,再利用Django框架實現了實體識別、實體查詢、關系查詢的數據可視化。
項目源代碼已上傳GitHub,https://github.com/chenjj9527/Car_Knowledge_Graph,如有疑問,可留言咨詢。
環境要求:
| Python | 3.6.5 | 低版本不支持 |
| Neo4j | 3.3.1 | 社區版本即可 |
| py2neo | 4.0.0 | 低版本不支持 |
| neo4j-driver | 1.6.1 | Neo4j開發接口 |
| Django | 2.0.3 | Web服務器 |
| Java | 1.8 | JDK |
| Thulac/Corenlp | 0.2.0 | 分詞、詞性標注 |
| Pinyin | 0.4.0 | 小寫字母獲取 |
| Bootstrap | 3.7.4 | 界面框架 |
| Echarts | 4.0 | 數據可視化框架 |
| JQuery | 1.0 | JS框架 |
二、項目架構

三、數據導入
1 # 導入汽車品牌表 2 LOAD CSV WITH HEADERS FROM "file:///bank.csv" AS line 3 CREATE (:Bank{name:line.bank, count:line.count}) 4 5 # 導入品牌系列表 6 LOAD CSV WITH HEADERS FROM "file:///series.csv" AS line 7 CREATE (:Series{name:line.series, count:line.count}) 8 9 # 導入關系表【這里關系表和品牌系列表一樣】 10 LOAD CSV WITH HEADERS FROM "file:///series.csv" AS line 11 MATCH (entity1: Bank{name:line.bank}), (entity2: Series{name:line.series}) 12 CREATE (entity1) - [:Subtype{type:line.relation}] -> (entity2) 13 14 # 查詢品牌及其關系 15 MATCH p=()-[r:Subtype]->() RETURN p LIMIT 250 16 17 #建立索引 18 CREATE CONSTRAINT ON (b: Bank) 19 ASSERT b.name is UNIQUE 20 21 #查詢實體 22 match (n:Bank) return n LIMIT 25 23 match (n:Series) return n LIMIT 25



四、項目運行





