中国银行图谱中neo4j使用备份

此博客用来备份项目中用到的neo4j。

调用方法:

public List<OecBocAnalysis> searchRelevanceRelation2(String startTime, String endTime, String firmName,
String selectNum, String searchRelate){
BaseBoltNeoDao dao = new BaseBoltNeoDao("bolt://10.10.90.25:7687", "neo4j", "123456");
List<OecBocAnalysis>  resultlist=new ArrayList<OecBocAnalysis>();

String searchRelateStr="";//关系
if (searchRelate != null && !searchRelate.equals("")&&!searchRelate.equals("全部")) {
String[] relatelist=searchRelate.split(",");
for(String str:relatelist){
searchRelateStr+=str+"|";
}
searchRelateStr=searchRelateStr.substring(0,searchRelateStr.length()-1);
}

NeoNode startNode = new NeoNode();
startNode.getLabels().add("Company");
startNode.getProperties().put("name", firmName);
NeoNode endNode = new NeoNode();
NeoRelation relation = new NeoRelation();
relation.setRelType(searchRelateStr);
List<NeoResult> results = dao.queryNeoResults(startNode, relation,
endNode,Integer.parseInt(selectNum), RelationQueryDirection.OUT);
for (NeoResult neoResult : results) {
OecBocAnalysis  sis=new OecBocAnalysis();
sis.setCompany_one(neoResult.getStartNode().getProperties().get("name").toString());
sis.setCompany_two(neoResult.getEndNode().getProperties().get("name").toString());
sis.setName(neoResult.getRelation().getRelType());
sis.setNominal_one(neoResult.getStartNode().getProperties().get("nominal").toString());
sis.setNominal_two(neoResult.getEndNode().getProperties().get("nominal").toString());
sis.setRelate_table_name(neoResult.getRelation().getProperties().get("relate_table_name").toString());
sis.setMatch_content("");
sis.setSearched(false);
sis.setCorpus_id(neoResult.getRelation().getProperties().get("corpus_id").toString());
sis.setId(neoResult.getRelation().getProperties().get("source_id").toString());
resultlist.add(sis);
}
return resultlist;
}


neo4j工具类:

package com.xiaochen.neo4j;


import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import org.junit.Before;
import org.junit.Test;
import org.neo4j.driver.v1.Record;


import com.dinfo.oec.neo4j.bean.NeoNode;
import com.dinfo.oec.neo4j.bean.NeoRelation;
import com.dinfo.oec.neo4j.bean.NeoResult;
import com.dinfo.oec.neo4j.dao.BaseBoltNeoDao;
import com.dinfo.oec.neo4j.dao.BaseBoltNeoDao.RelationQueryDirection;


public class BaseNeoDaoUtils {


private BaseBoltNeoDao dao = null;


@Before
public void init() {
dao = new BaseBoltNeoDao("bolt://10.10.90.25:7687", "neo4j", "123456");
}


public void execute() {
List<Record> records = dao.execute("MATCH (n) RETURN distinct(labels(n)) AS labels");
for (Record record : records) {
System.out.println(record);
}
}


// ---------Node-------------start
public void addNode() {
NeoNode neoNode = new NeoNode();
neoNode.setLabels(Arrays.asList(new String[] { "test" }));
neoNode.getProperties().put("name", "node5");
dao.addNeoNode(neoNode);
}


public void delteNode() {
NeoNode neoNode = new NeoNode();
neoNode.getProperties().put("name", "node1");
System.out.println(dao.deleteNeoNodes(neoNode, true));
}


public void updateNode() {
NeoNode neoNode = new NeoNode();
neoNode.setLabels(Arrays.asList(new String[] { "test" }));
neoNode.getProperties().put("name", "node1");
Map<String, Object> params = new HashMap<String, Object>();
params.put("age", 30);
System.out.println(dao.updateNeoNodes(neoNode, params));
}


public void queryNodeByIds() {
System.out.println(dao.queryNeoNodes(Arrays
.asList(new Long[] { 2857808L })));
}


public void queryNodes() {
NeoNode neoNode = new NeoNode();
neoNode.getProperties().put("name", "node2");
System.out.println(dao.queryNeoNodes(neoNode));
}


// ---------Node-------------end


// ---------Relation---------start
public void addRelation() {
NeoNode startNode = new NeoNode();
startNode.getLabels().add("test");
startNode.getProperties().put("name", "node5");
NeoNode endNode = new NeoNode();
endNode.getLabels().add("test");
endNode.getProperties().put("name", "node1");
NeoRelation relation = new NeoRelation();
relation.setRelType("type5_1");
System.out.println(dao.addRelation(startNode, relation, endNode));
}


public void mergeRelation() {
NeoNode startNode = new NeoNode();
// startNode.getLabels().add("test");
startNode.getProperties().put("name", "node1");
NeoNode endNode = new NeoNode();
// endNode.getLabels().add("test");
endNode.getProperties().put("name", "node2");
NeoRelation relation = new NeoRelation();
relation.setRelType("bigger");
relation.getProperties().put("age", 10);
relation.getProperties().put("sex", "��");
System.out.println(dao.mergeRelation(startNode, relation, endNode));
}


public void updateRelation() {
NeoNode startNode = new NeoNode();
startNode.getLabels().add("test");
startNode.getProperties().put("name", "node1");
NeoNode endNode = new NeoNode();
endNode.getLabels().add("test");
endNode.getProperties().put("name", "node2");
NeoRelation relation = new NeoRelation();
relation.setRelType("bigger");
relation.getProperties().put("age", 20);
Map<String, Object> params = new HashMap<String, Object>();
params.put("country", "�л�����͹�");
params.put("values", Arrays.asList(new Integer[] { 1, 2, 4 }));
System.out.println(dao.updateRelation(startNode, relation, endNode,
params));


}


@Test
public void queryNeoResults() {
NeoNode startNode = new NeoNode();
startNode.getProperties().put("name", "成都市新筑路桥机械股份有限公司");
NeoNode endNode = new NeoNode();
NeoRelation relation = new NeoRelation();
// relation.setRelType("旗下|收购");
List<NeoResult> results = dao.queryNeoResults(startNode, relation,
endNode, 1, RelationQueryDirection.OUT);
for (NeoResult neoResult : results) {
System.out.print(neoResult.getStartNode().getProperties().get("name")+":");
System.out.print(neoResult.getRelation().getRelType()+":");
System.out.println(neoResult.getEndNode().getProperties().get("name"));
}
}
// ---------Relation---------end

//----------labels--------------start
@Test
public void queryLables(){
System.out.println(dao.queryLables());
}
//----------labels--------------end
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值