d3.js可视化neo4j图数据库——2、项目的目录结构以及两个配置信息

(接上一篇文章:

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、项目的目录结构以及两个配置信息

标题

坚持努力,因为最后你会发现

努力了这么久

我怎么舍得放弃

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180729G0N2W300?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券