Graphflow Optimizers 安装与使用

目录

      • 安装
      • 运行
        • 产生数据集
        • 执行查询
      • 可能的问题及解决方法


参考环境

Linux version 4.10.0-19-generic

Ubuntu 17.04


安装

首次安装,在项目根目录(解压之后的文件夹路径)下运行以下代码:

./gradlew clean build installDist

之后对项目文件更新之后再次安装,在项目根目录下运行以下代码:

./gradlew build installDist

在安装后初始化环境,在项目根目录下运行以下代码:

. ./env.sh

或者运行:

export GRAPHFLOW_HOME=`pwd`

运行

产生数据集

Graphflow Optimizers 通过python代码生成数据集和执行查询
对应的python代码放在项目根目录下的script文件夹下

从一张图生成数据集
图的点信息存放在一个vertices.csv(excel表格)文件中,每一行的格式为(id,label),id为0~N的整数表示的点的标号,label为点的标记
Graphflow Optimizers 安装与使用_第1张图片
Graphflow Optimizers 安装与使用_第2张图片

图的边信息存放在一个edges.csv(excel表格)文件中,每一行的格式为(from,to,label),from、to为0~N的整数表示的起点和终点的标号,label为边的标记
Graphflow Optimizers 安装与使用_第3张图片
Graphflow Optimizers 安装与使用_第4张图片

只从edges.csv生成数据集,这种情况下所有点的标记相同,在script文件夹下执行如下代码:

python3 serialize_dataset.py /absolute/path/edges.csv /absolute/path/data

/absolute/path/data 是生成的数据集的存放路径

从vertices.csv和edges.csv生成数据集,在script文件夹下执行如下代码:

python3 serialize_dataset.py /absolute/path/edges.csv /absolute/path/data -v /absolute/path/vertices.csv

执行完上面的命令后,在script文件夹下执行如下代码生成目录:

python3 serialize_catalog.py /absolute/path/data

执行查询

执行查询(无标记),在script文件夹下运行如下代码:

python3 execute_query.py "(a)->(b),(b)->(c),(c)->(d)" /absolute/path/data

如果需要使用多线程,可以在命令后面加 -t number:

python3 execute_query.py "(a)->(b),(b)->(c),(c)->(d)" /absolute/path/data -t 2

制定点与边的标记进行查询,在script文件夹下运行如下代码:

python3 execute_query.py "(a:person)-[friendof]->(b:person), (b:person)-[likes]->(c:movie)" /absolute/path/data

可能的问题及解决方法

问题1:运行时出现环境变量 GRAPHFLOW_HOME 未定义或者错误定义

back (most recent call last):
  File "execute_query.py", line 9, in <module>
    bin_home = os.environ['GRAPHFLOW_HOME'] + '/build/install/graphflow/bin/'
  File "/usr/lib/python3.5/os.py", line 725, in __getitem__
    raise KeyError(key) from None
KeyError: 'GRAPHFLOW_HOME'

解决方法:正确定义环境变量 GRAPHFLOW_HOME 为项目路径

export GRAPHFLOW_HOME=path/graphflow_optimizers

问题2:运行时出现环境变量 JAVA_HOME 未定定义

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

解决方法:正确定义 JAVA_HOME 为jdk存放路径

export JAVA_HOME=path/jdk1.8.0_212

你可能感兴趣的:(Graphflow Optimizers 安装与使用)