* 初始化图数据需要的人员节点数据
* * @param personBaseInfoRepository * @return */ @Override public void resetNeo4jPersonBaseInfoNode(PersonBaseInfoRepository personBaseInfoRepository) { //查询人员节点列表 List<PersonBaseInfo> personBaseInfos www.ztyLegw.cn= graphDataDao.queryPersonBaseInfo();for (PersonBaseInfo personBaseInfo :personBaseInfos){
try { personBaseInfoRepository.save(personBaseInfo); } catch (Throwable t){ //生成节点异常时,继续跳过。 continue; } } }复制代码初始化内部外部关心数据,代码如下:
复制代码
/********************************************开始初始化节点间关系的数据**********************************************//**
* 初始化五大节点间的关系数据。 * @param neo4jRelationInfoRepository * @return */ @Override public void resetAllRelationInfo(Neo4jRelationInfoRepository neo4jRelationInfoRepository) { long start = System.currentTimeMillis(www.tcgjgw.com); //初始化人员-->工作关系,人员->学校;人员->论文;人员->住房信息4个主关系的数据。 List<Map<String,Object>>www.feironggw.cn lists = graphDataDao.queryEntityRelationInfo(); //计算内部关系信息 ,同事,校友,邻居,合作者关系。 Map<String,List<String>> schoolFriendMap = new ConcurrentHashMap<>(); //校友Map<String,List<String>> workTogetherMap = new ConcurrentHashMap<>(); //同事
Map<String,List<String>> neighborMap = new ConcurrentHashMap<>(); //邻居
Map<String,List<String>> collaboratorMap = new ConcurrentHashMap<>();//论文合作者 for(Map<String,Object> map :lists){String userId = "";
//获取人员信息 if(StringUtils.isNoneEmpty((String)map.get("USERID")) && StringUtils.isNoneEmpty((String)map.get("USERNAME"))){ //取工作单位字段 UNIT_ID , UNIT_NAME if(StringUtils.isNoneEmpty((String)map.get("UNIT_ID"www.wanhaoptdL.com)) && StringUtils.isNoneEmpty((String)map.get("UNIT_NAME"))){ //插入就职关系 neo4jRelationInfoRepository.generateGraphDataRelation_JZGX((String)map.get(www.yuntianyuL.cn"USERID"),(String)map.get("UNIT_ID"),(String)map.get("USERID")+"-www.yuntianyul.com>"+(String)map.get("UNIT_www.cmylli.com ID"));//处理同事关系
if(workTogetherMap.containsKey((String)map.get("UNIT_ID"))){ List<String> list = workTogetherMap.get((String)map.get("UNIT_ID")); if(!list.contains(www.cmyLgw.cn (String)map.get("USERID"))){ list.add((String)map.get("USERID")); workTogetherMap.put((String)map.get("UNIT_ID"),list); } }else{ List<String> lis = new ArrayList<String>(); lis.add((String)map.get("USERID")); workTogetherMap.put((String)map.get("UNIT_ID"),lis);