(接上一篇文章:
d3.js可视化neo4j图数据库(正式篇)——1、主界面框架的源代码,测试数据以及tomcat的搭建
)
项目的目录结构以及两个配置信息
这两个配置信息分别是:
系统配置信息:包括节点颜色信息,查询语句的保存等
用户配置信息:包括用户一些基本信息,以学生信息为例,用户名、学号、年级、专业、学院、所选课程等信息
下面来看具体实现
1、首先看项目的目录结构(这点很重要,以后我就直接用这些目录了,并不会额外说明)
src目录
即:src目录下面有两个子目录:1、com.zehua和2、systemInfo
web目录
图片说明:这里的目录结构包括两种,因为我们只需要改变src目录和web目录下的文件,所以其他的目录就不显示了,(可能命名有点不规范,这些东西读者可以自己改正)
2、系统配置信息
图片说明:一个名叫“SystemInfo”的类位于systemInfo目录下
内容如下:
一、变量
代码段
//1、这个类包含用户某一系列操作查询的所有语句(即用户双击了节点)
//而当用户重新输入数据时,该类将重新保存用户的查询产生的查询语句!
//2、这个类还包含一个颜色数组color[5]
// (数组大小为5 已经足够!因为可能展现给用户的节点类别不超过5)
//展现的不同的节点类用不同的颜色
//3、包含一个节点-颜色的对应关系
public class SystemInfo {
//用于保存每次用户点击“查询”后的所有查询语句,用于实现“双击”节点后弹出下一层
public static ArrayList cypherArrayList = new ArrayList();
//默认为5种颜色
public static final String[] COLOR = {"blue","yellow","green","pink","purple"};
//将一种颜色和一种类型的节点对应起来
public static Map nodeType_Color = new HashMap();
代码说明:
、注意看上面的注释
、cypherArrayList变量用于保存cypher语句
、COLOR常量用于保存系统默认节点颜色,好为不同类节点分配不同颜色
、nodeType_Color变量保存节点类型和节点颜色的映射
至于为什么要在systemInfo中声明这三个变量,是我在写项目的时候所能想到的简单且能解决问题的方法,可能还有其他方法,读者可以自己思考
二、方法
代码段
1、//添加cypher语句
public static void addCypher(String... cyphers)
2、//返回保存的cypher语句
public static ArrayList getCypherArrayList()
3、//清空所有
public static void clearAll()
4、//返回颜色数组
public static String[] getColor()
5、//添加节点和颜色的映射
public static void addNodeType_Color(String nodeType,String color)
6、//返回节点和颜色的映射
public static Map getNodeType_Color()
7、//返回已经分配颜色的节点集合
public static Set getNodeTypeKeys()
代码说明:
、请看上边的注释,在这里我只粘贴了方法名,并没有粘贴出方法具体内容,目的只是让大家了解一下这些方法是干什么的!具体内容请到我的githup上面下载
源码下载地址:https://github.com/mp2930696631/visualization-neo4j-using-java/blob/master/systemInfo/SystemInfo.java
3、用户配置信息
图片说明:一个位于名叫“AdminInfo”的类位于admin目录下
内容如下:
一、变量
代码段
//目前只支持查询课程级别一下的关系
//怎样使的在用户登录后,建立一个全局唯一的AdminInfo!!!!!!!!!!!!!
public class AdminInfo {
private static String username = "";//用户名
private static String id = "";//用户id
private static String gradeId = "";//年级id
private static String gradeName = "";//年级
private static String facultyId = "";//学院id
private static String facultyName = "";//学院
private static String majorId = "";//专业id
private static String majorName = "";//专业
private static Set classIdSet = new HashSet();//所选课的id
private static Set classTypeSet = new HashSet();//所选课的名称
private static Map> classType_subMap = new HashMap();
代码说明:
、请注意上面的注释
、看到最后一句代码,classType_subMap这个变量,以课程名为key,以课程下层节点(章节和知识点)两者的集合为value,(这可能有点不好理解,简单的说:课程下面默认有课程章节和课程知识点,随着项目的深入,这个会很好理解的)
二、方法
这个类的方法有点多,就不粘贴全部了,我将它们分成两部分,第一部分为前面的String类型的变量的get和set方法,第二部分为后面三个变量的一些操作(注意与上图联系起来),下面给出出第二部分方法名
代码段
1、//添加课程Id
public static void addClassIdSetItem(String... items)
2、//移除课程id
public static void deleteClassIdSetItem(String... items)
3、//返回课程id
public static String[] getClassIdArray()
4、//添加课程级别的节点
public static void addClassTypeSetItem(String... items)
5、//移除课程
public static void deleteClassTypeSetItem(String... items)
6、//得到课程级别的节点类型的集合
public static String[] getClassTypeArray()
7、//添加某课程下面的节点类型,这里默认为“章节”和“知识点”,不太明白没关系
//后面会有所了解
public static void addClassType_subMap(String classTypeSetItem,String... items)
8、//得到某课程下面的节点类型集合,这里默认为“章节”和“知识点”,不太明白没关系
public static String[] getClassType_subArray(String classTypeSetItem)
9、//得到全部课程下面的节点类型集合
public static Map getClassType_subMap()
代码说明:
、注意上方的注释即可
、现在不懂没关系,后面这些方法都会逐一用到
源码下载地址:https://github.com/mp2930696631/visualization-neo4j-using-java/blob/master/admin/AdminInfo.java
4、该篇文章需要用到的链接
、系统配置信息源码下载:https://github.com/mp2930696631/visualization-neo4j-using-java/blob/master/systemInfo/SystemInfo.java
、用户配置信息源码下载:https://github.com/mp2930696631/visualization-neo4j-using-java/blob/master/admin/AdminInfo.java
d3.js可视化neo4j图数据库(正式篇)——2、项目的目录结构以及两个配置信息
标题
坚持努力,因为最后你会发现
努力了这么久
我怎么舍得放弃
领取专属 10元无门槛券
私享最新 技术干货