|
@@ -33,7 +33,7 @@ public class ReadNeo4jData2Neo4j{
|
|
|
//第一步把每个病的第一层表现和近义词写入图谱
|
|
|
for (String diseaseName:diseaseList) {
|
|
|
System.out.println(diseaseName);
|
|
|
- nodeRelationUtil.AddNode(driver232,"Disease",diseaseName.replace("\"",""));//添加疾病
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"Disease",diseaseName.replace("\"",""));//添加疾病
|
|
|
query="match p=(d:Disease)-[r1:表现]->(k)<-[r2:近义词]-(h) where d.name='"+diseaseName+"'\n" +
|
|
|
"return k.name as name,labels(k)[0] as type,h.name as gg,labels(h)[0] as tt";
|
|
|
StatementResult result1 = session.run(query);
|
|
@@ -43,10 +43,10 @@ public class ReadNeo4jData2Neo4j{
|
|
|
String type = next.get("type").toString().replace("\"", "");
|
|
|
String gg = next.get("gg").toString().replace("\"", "");
|
|
|
String tt = next.get("tt").toString().replace("\"", "");
|
|
|
- nodeRelationUtil.AddNode(driver232,tt,gg);//近义词
|
|
|
- nodeRelationUtil.AddNode(driver232,type,name);//表现
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"表现",type,name);
|
|
|
- nodeRelationUtil.addRelation(driver232,tt,gg,"近义词",type,name);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,tt,gg);//近义词
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,type,name);//表现
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"表现",type,name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,tt,gg,"近义词",type,name);
|
|
|
}
|
|
|
query="match (n)-[r:确诊]->(m{name:'"+diseaseName+"'})\n" +
|
|
|
"with distinct n,r\n" +
|
|
@@ -60,12 +60,12 @@ public class ReadNeo4jData2Neo4j{
|
|
|
String relationType = record.get("relationType").toString().replace("\"","");
|
|
|
//化验结果就可以直接确诊
|
|
|
if("LIS_Result".equals(label) && path == "NULL" && relationType == "NULL"){
|
|
|
- nodeRelationUtil.AddNode(driver232,"LIS_Result",nodeName);
|
|
|
- nodeRelationUtil.addRelation(driver232,"LIS_Result",nodeName,"确诊","Disease",diseaseName.replace("\"",""));
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"LIS_Result",nodeName);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"LIS_Result",nodeName,"确诊","Disease",diseaseName.replace("\"",""));
|
|
|
}else if("Condition".equals(label)){ //有诊断依据才能够确诊
|
|
|
//添加确诊依据和确诊依据和疾病的关系
|
|
|
- nodeRelationUtil.AddNode(driver232,"Condition",nodeName,Integer.parseInt(path),relationType);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Condition",nodeName,"确诊","Disease",diseaseName.replace("\"",""));
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"Condition",nodeName,Integer.parseInt(path),relationType);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Condition",nodeName,"确诊","Disease",diseaseName.replace("\"",""));
|
|
|
//查询推出确诊依据的诊断依据
|
|
|
query="match(v)-[r1:诊断依据]->(c:Condition)-[r2:确诊]->(d:Disease)\n" +
|
|
|
"where c.name='"+nodeName+"' and d.name='"+diseaseName+"'\n" +
|
|
@@ -79,9 +79,9 @@ public class ReadNeo4jData2Neo4j{
|
|
|
String patha = next.get("path").toString().replace("\"","");
|
|
|
String relationa = next.get("relation").toString().replace("\"","");
|
|
|
if("PACS_Result".equals(l) || "LIS_Result".equals(l)){
|
|
|
- nodeRelationUtil.AddNode(driver232,l,n);
|
|
|
- nodeRelationUtil.addRelation(driver232,l,n,"诊断依据","Condition",nodeName);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"表现",l,n);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,l,n);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,l,n,"诊断依据","Condition",nodeName);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"表现",l,n);
|
|
|
query="match(d:Disease)-[r1:推荐]->(k)-[r2:结果]->(f)\n" +
|
|
|
"where d.name='"+diseaseName+"' and f.name='"+n+"'\n" +
|
|
|
"return k.name as name,labels(k)[0] as jj,f.name as kk,labels(f)[0] as ll";
|
|
@@ -93,35 +93,35 @@ public class ReadNeo4jData2Neo4j{
|
|
|
String kk = next1.get("kk").toString().replace("\"","");
|
|
|
String ll = next1.get("ll").toString().replace("\"","");
|
|
|
if("PACS".equals(jj)){
|
|
|
- nodeRelationUtil.AddNode(driver232,"PACS",name);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"推荐","PACS",name);
|
|
|
- nodeRelationUtil.addRelation(driver232,"PACS",name,"结果",ll,kk);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"PACS",name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"推荐","PACS",name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"PACS",name,"结果",ll,kk);
|
|
|
}else if ("LIS".equals(jj)){
|
|
|
- nodeRelationUtil.AddNode(driver232,"LIS",name);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"推荐","LIS",name);
|
|
|
- nodeRelationUtil.addRelation(driver232,"LIS",name,"结果",ll,kk);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"LIS",name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"推荐","LIS",name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"LIS",name,"结果",ll,kk);
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}else if("Condition".equals(l)){
|
|
|
- nodeRelationUtil.AddNode(driver232,"Condition",n,Integer.parseInt(patha),relationa);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Condition",n,"诊断依据","Condition",quezhen);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,"Condition",n,Integer.parseInt(patha),relationa);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Condition",n,"诊断依据","Condition",quezhen);
|
|
|
query = "match(f)-[r1:诊断依据]->(c:Condition) where c.name='"+n+"' return f.name as name,labels(f)[0] as lab";
|
|
|
StatementResult fhsdjfh = session.run(query);
|
|
|
while (fhsdjfh.hasNext()){
|
|
|
Record nextRecord = fhsdjfh.next();
|
|
|
String name = nextRecord.get("name").toString().replaceAll("\"","");
|
|
|
String lab = nextRecord.get("lab").toString().replaceAll("\"", "");
|
|
|
- nodeRelationUtil.AddNode(driver232,lab,name);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"表现",lab,name);
|
|
|
- nodeRelationUtil.addRelation(driver232,lab,name,"诊断依据","Condition",n);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,lab,name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"表现",lab,name);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,lab,name,"诊断依据","Condition",n);
|
|
|
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
- nodeRelationUtil.AddNode(driver232,l,n);
|
|
|
- nodeRelationUtil.addRelation(driver232,l,n,"诊断依据",label,nodeName);
|
|
|
- nodeRelationUtil.addRelation(driver232,"Disease",diseaseName.replace("\"",""),"表现",l,n);
|
|
|
+ nodeRelationUtil.AddNode(driver232,1,l,n);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,l,n,"诊断依据",label,nodeName);
|
|
|
+ nodeRelationUtil.addRelation(driver232,1,"Disease",diseaseName.replace("\"",""),"表现",l,n);
|
|
|
|
|
|
}
|
|
|
}
|