springboot框架集成neo4j+d3.js


project-neo4j

一、功能介紹:

  1. 連接mysql、neo4j,實現將mysql數據插入neo4j中!

  2. 對neo4j數據進行增刪改查,統計分析、關系遍歷等功能 !

  3. 源碼下載地址:https://download.csdn.net/download/npf_java/10222241

二、JAR說明:

  • springboot【1.5.9】

  • pring-boot-starter-data-neo4j【4.2.9】

  • mybatis-spring-boot-starter【1.3.1】

  • mapper-spring-boot-starter【1.1.4】

  • pagehelper-spring-boot-starter【1.2.1】

  • druid-spring-boot-starter【1.1.0】

  • fastjson【1.2.12】

  • com.google.guava【19.0】

三、部署說明

  1. 下載neo4j安裝程序
    http://download.csdn.net/download/npf_java/10197711

  2. 創建mysql數據庫
    a)運行opensearch.sql腳本創建數據庫
    b)通過navicat工具初始化數據,還原180118183225.psc文件

  3. 將mysql數據導入neo4j中
    執行junit測試類KeyWordTest中的addKeyWordNode、addNewsNode方法

四、更新說明

2018-01-24(統計)

2018-01-23(D3.js實現頁面效果展示)

建議使用D3.js作為前端展示效果 (Neo4j內置的頁面展示使用的是D3.js庫)


    
    
   
   
           
  1. 【D3.js官網】
  2. https://d3js.org/
  3. 【D3.js中文實例、API】
  4. https://github.com/d3/d3/wiki/CN-Home
  5. 【D3.js[2.5.0] 學習網站】
  6. http://www.ourd3js.com/wordpress/category/data-driven-documents/
  7. 【D3.js[4.12.2] 力導向圖的制作】
  8. https://github.com/d3/d3-force
  9. https://bl.ocks.org/mbostock/9a8124ccde3a4e9625bc413b48f14b30
  10. 【springBoot thymeleaf模板】
  11. http://jisonami.iteye.com/blog/2301387
  12. Maven的資源文件目錄:/src/java/resources
  13. spring-boot項目靜態文件目錄:/src/java/resources/static
  14. spring-boot項目模板文件目錄:/src/java/resources/templates
  15. spring-boot靜態首頁的支持,即index.html放在以下目錄結構會直接映射到應用的根目錄下:
  16. classpath:/META-INF/resources/index.html
  17. classpath:/resources/index.html
  18. classpath:/static/index.html
  19. calsspath:/public/index.html

2018-01-18(框架初步完成,初始化提交)

  1. 初始化提交項目相關代碼

  2. 通過KeyWordTest類可以將mysql數據庫中的keyword和news數據導入neo4j中


    
    
   
   
           
  1. /**
  2. * 包名:com.dbs.test.mysql
  3. * 功能:TODO 對關鍵字進行提取
  4. * 作者:hualn
  5. * 日期:2018年1月18日 下午4:25:02
  6. */
  7. @RunWith(SpringJUnit4ClassRunner.class)
  8. @SpringBootTest(classes = Neo4jApplication.class)
  9. public class KeyWordTest {
  10. private Logger logger = LoggerFactory.getLogger(getClass());
  11. /**
  12. * 關鍵字操作類
  13. */
  14. @Autowired
  15. private KeyWordRepository keyWordRepository;
  16. /**
  17. * 新聞操作類
  18. */
  19. @Autowired
  20. private NewsRepository newsRepository;
  21. /**
  22. * mysql--JDBC連接
  23. */
  24. @Autowired
  25. private JdbcTemplate jdbcTemplate;
  26. /**
  27. * 將keyWord關鍵字全部抽取到neo4j中
  28. */
  29. @Test
  30. public void addKeyWordNode(){
  31. String keySql = "select t.AIRCRAFT from news_keyword t group by t.AIRCRAFT ";
  32. List <Map<String, Object>> keyList = jdbcTemplate.queryForList(keySql);
  33. for (Map <String, Object> obj : keyList) {
  34. String keyword = obj.get("AIRCRAFT").toString();
  35. if(StringUtils.isNotBlank(keyword)){
  36. keyWordRepository.save(new KeyWord(keyword));
  37. }
  38. }
  39. logger.info("******************共導入關鍵字("+keyList.size()+")個***********************");
  40. }
  41. /**
  42. * 將新聞節點全部抽取到neo4j中
  43. */
  44. @Test
  45. public void addNewsNode(){
  46. String newsSql = "select n.TITLE,max(t.AIRCRAFT) keyword from news_keyword t
  47. left join datasource_new n on t.NEWID = n.ID GROUP BY n.TITLE ";
  48. List <Map<String, Object>> newsList = jdbcTemplate.queryForList(newsSql);
  49. //新聞類
  50. News news= null;
  51. //關鍵字
  52. KeyWord keyWord = null;
  53. for (Map <String, Object> obj : newsList) {
  54. String title = obj.get("TITLE").toString();
  55. String keyword = obj.get("KEYWORD").toString();
  56. news = new News(title);
  57. keyWord = keyWordRepository.findByName(keyword);
  58. news.setKeywords(Lists.newArrayList(keyWord));
  59. newsRepository.save(news);
  60. }
  61. }
  62. }

2018-01-15------>2018-01-17(框架搭建中)

  1. 學習Neo4j推薦書籍
《Neo4j權威指南 圖數據庫 大數據時代的新利器》

   
   
  
  
          
  1. 參考網站

    
    
   
   
           
  1. 【官網】
  2. https://neo4j.com/
  3. 【Neo4j 圖數據庫在社交網絡等領域的應用】 **(重點看)**
  4. http://gitbook.cn/books/5a33782c5778440a9d906017/index.html
  1. 實例學習

    
    
   
   
           
  1. 【中文學習教程】https://www.w3cschool.cn/neo4j/
  2. 【英文學習教程】https://neo4j.com/graphgists/?category=sports-and-recreation
  1. 安裝

    
    
   
   
           
  1. Neo4j 下載地址:https://neo4j.com/download/other-releases/
  2. 【Neo4j 第一篇:在Windows環境中安裝Neo4j】
  3. https://www.cnblogs.com/ljhdo/archive/2017/05/19/5521577.html
  1. 效果展示

    
    
   
   
           
  1. 搜狗人物搜索 https://www.sogou.com/tupu/person.html?q=姚明
  2. 搜索引擎和知識圖譜那些事 http://blog.csdn.net/eastmount/article/details/46874155
  1. Java操作neo4j

    
    
   
   
           
  1. http://bboyjing.github.io/2016/07/15/Neo4j學習筆記九【Spring-Data-Neo4j】/
  2. https://github.com/bboyjing/neo4j_sample
  3. 【springboot和neo4j的集成】
  4. https://www.jianshu.com/p/33d50fac06b4
  5. 【官網API】
  6. https://docs.spring.io/spring-data/neo4j/docs/4.2.9.RELEASE/reference/html/
  7. https://docs.spring.io/spring-data/neo4j/docs/4.2.9.RELEASE/api/
  8. 【github相關demo】
  9. https://github.com/neo4j-examples/
  10. https://github.com/neo4j-examples/movies-java-spring-data-neo4j
  11. https://github.com/neo4j-examples/neo4j-sdn-ogm-issue-report-template

五、效果展示

輸入圖片說明

 項目點評 ( 0 )


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM