不多说,直接上干货!
参考博客
http://blog.csdn.net/u012318074/article/details/72793914 (表示感谢)
前期博客
Neo4j沙盒实验申请过程步骤(图文详解)
Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
首先,查看下你的操作系统的版本。
root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 16.04.1 LTS l root@zhouls-virtual-machine:~#
这篇文章就来介绍一下我将 Neo4j 沙盒中的数据导入到自己的 Neo4j 数据库的方法。大家可以清楚的看到沙盒数据公开了很多,我这里,仅此network-management。
使用 github 上的源数据:https://github.com/neo4j-contrib/sandbox-guides
Neo4j browser guides for sandbox instances
Available Use Cases
- us-elections-2016
- blank-sandbox
Render / deploy guides for a use case
-
Clone this repo
git clone git@github.com:neo4j-contrib/sandbox-guides.git
-
cd sandbox-guides
-
git submodule init
-
git submodule update
-
Edit
{USE-CASE}/{GUIDE-NAME-HERE}.adoc
-
{USE-CASE}/render.sh [publish]
-
Open Neo4j Browser and run
:play http://localhost:8001/{USE-CASE}
第一步:克隆下载
-
Clone this repo
git clone git@github.com:neo4j-contrib/sandbox-guides.git
选择一个要存放这个数据的文件夹,我存放的目录为/usr/local/app/neo4j-community-3.2.0/data/databases,使用 Git 方法下载文件,在目录下执行
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# git clone https://github.com/neo4j-contrib/sandbox-guides.git
root@zhouls-virtual-machine:/usr/local/app# cd neo4j-community-3.2.0/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0# ls bin conf import LICENSES.txt logs plugins run certificates data lib LICENSE.txt NOTICE.txt README.txt UPGRADE.txt root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0# cd data/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data# ls databases dbms root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data# cd databases/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# ls graph.db root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# git clone https://github.com/neo4j-contrib/sandbox-guides.git
再次执行即可,这个很简单。
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# git clone https://github.com/neo4j-contrib/sandbox-guides.git Cloning into 'sandbox-guides'... remote: Counting objects: 329, done. remote: Total 329 (delta 0), reused 0 (delta 0), pack-reused 329 Receiving objects: 100% (329/329), 11.80 MiB | 35.00 KiB/s, done. Resolving deltas: 100% (105/105), done. Checking connectivity... done. root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# ls graph.db sandbox-guides
第二步:切换到刚下载的sandbox-guides目录
cd sandbox-guides
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# pwd /usr/local/app/neo4j-community-3.2.0/data/databases root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# ls graph.db sandbox-guides root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases# cd sandbox-guides/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# pwd /usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# ls blank-sandbox neo4j-guides README.md trumpworld legis-graph network-management recommendations us-elections-2016 root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides#
第三步: 初始化
git submodule init
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# git submodule init Submodule 'neo4j-guides' (https://github.com/neo4j-contrib/neo4j-guides.git) registered for path 'neo4j-guides' root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides#
第四步:升级
git submodule update
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# git submodule update Cloning into 'neo4j-guides'... remote: Counting objects: 163, done. remote: Total 163 (delta 0), reused 0 (delta 0), pack-reused 163 Receiving objects: 100% (163/163), 156.09 KiB | 5.00 KiB/s, done. Resolving deltas: 100% (56/56), done. Checking connectivity... done. Submodule path 'neo4j-guides': checked out '89201c7651b679fb9a487169389ac39ec9cbc00f' root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# ls blank-sandbox neo4j-guides README.md trumpworld legis-graph network-management recommendations us-elections-2016 root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides#
第五步
Edit {USE-CASE}/{GUIDE-NAME-HERE}.adoc
这里,跳过
第六步:执行脚本
{USE-CASE}/render.sh [publish]
我这里主要是获取“network-management”数据,所以进入“network-management”文件夹,目录和命令为:
当然,大家也可以进入其他目录下,我这里仅以network-management为例。
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# ls blank-sandbox neo4j-guides README.md trumpworld legis-graph network-management recommendations us-elections-2016 root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# cd network-management/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# pwd /usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# ls img network-management.adoc network-management.cypher render.sh root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# ./render.sh
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# ./render.sh
Usage: sh render.sh [publish]
../neo4j-guides/run.sh: line 1: asciidoctor: command not found
../neo4j-guides/run.sh: line 1: gem: command not found
Usage ./run.sh OR ./run.sh path/to/a_guide.adoc [guide.html] [+1 (header-offset)] [http://guide-host:port]
rendering network-management.adoc to index.html
asciidoctor network-management.adoc -T ../neo4j-guides/templates -a allow-uri-read -a experimental -a guides=http://localhost:8001/ -a current=http://localhost:8001/ -a img=http://localhost:8001//img -a leveloffset=+1 -a env-guide= -a guide= -o index.html
../neo4j-guides/run.sh: line 20: asciidoctor: command not found
Starting Websever at localhost:8001/ Ctrl-c to stop
^CTraceback (most recent call last):
File "../neo4j-guides/http-server.py", line 23, in <module>
HTTPServer(('0.0.0.0', 8001), CORSRequestHandler).serve_forever()
File "/usr/lib/python2.7/SocketServer.py", line 231, in serve_forever
poll_interval)
File "/usr/lib/python2.7/SocketServer.py", line 150, in _eintr_retry
return func(*args)
KeyboardInterrupt
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management#
那么就根据提示信息安装“asciidoctor”和“tilt”
在新的命令窗口使用 root 权限执行
apt-get install asciidoctor gem install tilt
gem install thread_safe
然后,再次执行。
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# ./render.sh Usage: sh render.sh [publish] Asciidoctor 1.5.4 [http://asciidoctor.org] Runtime Environment (ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8) Usage ./run.sh OR ./run.sh path/to/a_guide.adoc [guide.html] [+1 (header-offset)] [http://guide-host:port] rendering network-management.adoc to index.html asciidoctor network-management.adoc -T ../neo4j-guides/templates -a allow-uri-read -a experimental -a guides=http://localhost:8001/ -a current=http://localhost:8001/ -a img=http://localhost:8001//img -a leveloffset=+1 -a env-guide= -a guide= -o index.html asciidoctor: WARNING: network-management.adoc: line 12: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 38: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 50: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 88: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 152: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 173: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 274: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 302: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 402: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 436: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 452: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 488: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 576: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 671: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 683: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 722: section title out of sequence: expected level 1, got level 2 asciidoctor: WARNING: network-management.adoc: line 733: section title out of sequence: expected level 1, got level 2 2 Network Management - Introduction 2 Modeling 2 DataCenter 2 Network Exploration: DataCenter and Zones 2 Network Exploration: Racks 2 Network Connectivity 2 Machine types 2 Machines 2 Software: Operating Systems and Applications 2 Software: Running on Machines 2 Dependency Analysis 2 Configuration Management 3 Upgrade OS Version and its Dependencies for a Version Range 2 IT-Monitoring and Governance 2 Examples for graph based Network Management Solutions 2 Monitoring Use-Cases 3 For instance, minimal, average and maximal runtimes of software instances per type 3 Data Transer Volume between Interfaces 2 Resource Management Graph 2 References Starting Websever at localhost:8001/ Ctrl-c to stop 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET / HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/Network-Management-Model.svg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/network-schema-arrows.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/network-zones.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/network-rack.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/network-alternative-routes.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:13] "GET //img/network-8000-machines.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:14] "GET //img/network-rack-machines-type.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:14] "GET //img/network-software-arrows.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:14] "GET //img/network-software-machine.jpg HTTP/1.1" 200 - 127.0.0.1 - - [03/Jun/2017 12:18:14] code 404, message File not found 127.0.0.1 - - [03/Jun/2017 12:18:14] "GET /favicon.ico HTTP/1.1" 404 - 127.0.0.1 - - [03/Jun/2017 12:18:14] code 404, message File not found 127.0.0.1 - - [03/Jun/2017 12:18:14] "GET /favicon.ico HTTP/1.1" 404 -
如果还是报错,可以根据提示信息进行处理。我这里是已经成功了。
第七步:打开 web 界面
Open Neo4j Browser and run :play http://localhost:8001/{USE-CASE}
当上一步启动完成后,在浏览器中打开http://localhost:8001/,正常情况下会出现
如果看到这个页面,表示说明介绍页面已经正常了,可能会出现乱码,这无所谓,后面会说明如何使用,到时就不会有乱码了。
第八步:导入数据
这一步是关键,也是目的所在,也与 GitHub 上的步骤不同。
我在使用 Neo4j 页面导入的时候会报错,经查找通过 shell 方式导入数据就不会报错,于是采用以下方式:
在 Neo4j 安装目录的bin
文件夹中进入cypher-shell
,我的具体目录和命令为
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0# pwd /usr/local/app/neo4j-community-3.2.0 root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0# ls bin conf import LICENSES.txt logs plugins run certificates data lib LICENSE.txt NOTICE.txt README.txt UPGRADE.txt root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0# cd bin/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/bin# ./cypher-shell
Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)
然后输入用户名和密码连接到 Neo4j 数据库。可以参考我上面的这篇博客。
如果大家,遇到如下的问题,请移步
Neo4j下执行cypher-shell时,Connection refused问题解决?
大家,可以看看,沙盒数据里,所带的
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# ls blank-sandbox neo4j-guides README.md trumpworld legis-graph network-management recommendations us-elections-2016 root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides# cd network-management/ root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# ls img index.html network-management.adoc network-management.cypher render.sh root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management# libreoffice network-management.cypher javaldx: Could not find a Java Runtime Environment! Warning: failed to read path from javaldx (soffice:58974): Gdk-WARNING **: gdk_window_set_icon_list: icons too large (soffice:58991): Gdk-WARNING **: gdk_window_set_icon_list: icons too large :1: parser error : Document is empty // Data Center ^ :1: parser error : Document is empty // Data Center ^ :1: parser error : Document is empty // Data Center ^
然后复制/usr/local/app/neo4j-community-3.2.0/data/databases/sandbox-guides/network-management/network-management.cypher”这个文件里的全部内容到neo4j>
,这样就可以顺利创建数据了
按Ctrl + c 复制,粘贴到neo4j>
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/bin# ./cypher-shell username: neo4j password: ****** Connected to Neo4j 3.2.0 at bolt://localhost:7687 as user neo4j. Type :help for a list of available commands or :exit to exit the shell. Note that Cypher queries must end with a semicolon. neo4j> // Data Center CREATE (dc:DataCenter {name:"DC1",location:"Iceland, Rekjavik"})-[:CONTAINS]->(re:Router:Egress {name:"DC1-RE"}) CREATE (re)-[:ROUTES]->(:Interface {ip:"10.0.0.254"}); 0 rows available after 24346 ms, consumed after another 15 ms Added 3 nodes, Created 2 relationships, Set 4 properties, Added 4 labels neo4j> neo4j> // Zones // The datacenter consists of 4 zones, each of which has it's own separate `Network` `10.zone.*/16`, and it's own `Router`. WITH 4 AS zones MATCH (dc:DataCenter {name:"DC1"})-[:CONTAINS]->(re:Router:Egress)-[:ROUTES]->(rei:Interface) // for each zone WITH * UNWIND range(1,zones) AS zid // create zone network CREATE (nr:Network:Zone {ip:"10."+zid, size: 16, zone:zid})<-[:CONNECTS]-(rei) // create router in DC, connect it via an interface to the zone network CREATE (dc)-[:CONTAINS]->(r:Router {name:"DC1-R-"+zid, zone:zid})-[:ROUTES]->(ri:Interface {ip:nr.ip+".0.254"})-[:CONNECTS]->(nr); 0 rows available after 41466 ms, consumed after another 0 ms Added 12 nodes, Created 16 relationships, Set 24 properties, Added 16 labels neo4j> neo4j> neo4j> // Racks WITH 10 as racks MATCH (dc:DataCenter {name:"DC1"}) MATCH (nr:Network:Zone) // one per zone WITH * UNWIND range(1,racks) AS rackid CREATE (dc)-[:CONTAINS]->(rack:Rack {name:"DC1-RCK-"+nr.zone+"-"+rackid, rack:rackid, zone:nr.zone})-[:HOLDS]->(s:Switch {ip:nr.ip+"."+rackid, rack:rackid})-[:ROUTES]->(si:Interface {ip:s.ip+".254"})<-[:ROUTES]-(nr); 0 rows available after 1065 ms, consumed after another 0 ms Added 120 nodes, Created 160 relationships, Set 240 properties, Added 120 labels neo4j> neo4j> // Machine types // Similar to the machines you can rent on AWS we use machine types, for which we auto-create some reasonable capacities for CPU, RAM and DISK. WITH ["xs","s","m","l","xl","xxl"] as typeNames UNWIND range(0,size(typeNames)-1) as idx CREATE (t:Type {id:idx, cpu: toInt(2^idx), ram:toInt(4^idx), disk:toInt(5^idx), type: typeNames[idx]}) SET t.name = typeNames[idx]+"-"+t.cpu + "/"+t.ram+"/"+t.disk RETURN t.name, t.id, t.cpu, t.ram, t.disk; +----------------------------------------------------+ | t.name | t.id | t.cpu | t.ram | t.disk | +----------------------------------------------------+ | "xs-1/1/1" | 0 | 1 | 1 | 1 | | "s-2/4/5" | 1 | 2 | 4 | 5 | | "m-4/16/25" | 2 | 4 | 16 | 25 | | "l-8/64/125" | 3 | 8 | 64 | 125 | | "xl-16/256/625" | 4 | 16 | 256 | 625 | | "xxl-32/1024/3125" | 5 | 32 | 1024 | 3125 | +----------------------------------------------------+ 6 rows available after 914 ms, consumed after another 1 ms Added 6 nodes, Set 36 properties, Added 6 labels neo4j> neo4j> neo4j> // Machines // Each Rack contains 200 machines of the types we just introduced, so that in total we get 8000 servers in our datacenter. // The distribution of the types is inverse to their capabilities. MATCH (t:Type) WITH collect(t) as types, 200 as machines MATCH (rack:Rack)-[:HOLDS]->(s:Switch)-[:ROUTES]->(si:Interface) UNWIND (range(1,machines)) AS machineid CREATE (rack)-[:HOLDS]->(m:Machine {id:rack.id * 1000 + machineid, name: rack.name + "-M-" +machineid })-[:ROUTES]->(i:Interface {ip:s.ip+"."+machineid})-[:CONNECTS]->(si) WITH m,types,size(types)-toInt(log(machines - machineid + 1)) -1 as idx WITH m, types[idx] as t CREATE (m)-[:TYPE]->(t); 0 rows available after 12989 ms, consumed after another 0 ms Added 16000 nodes, Created 32000 relationships, Set 16000 properties, Added 16000 labels neo4j> neo4j> neo4j> // Create OS and Software // https://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Version_history // https://wiki.ubuntu.com/Releases // https://en.wikipedia.org/wiki/Debian_version_history WITH [{name:"RHEL",versions:["7.1","7.2","7.3"]},{name:"Ubuntu",versions:["14.04","16.04","16.10","17.04"]},{name:"Debian",versions:["6-Squeeze","7-Wheezy","8-Jessie"]}] as osNames, [ {name:"java",versions:["8"]}, {name:"neo4j",ports:[7474,7473,7687],versions:["3.0","3.1"],dependencies:["java/8"]}, {name:"postgres",ports:[5432],versions:["9.4","9.5","9.6"]}, {name:"couchbase",ports:[8091,8092,11207,11209,11210,11211,11214,11215,18091,18092,4369],versions:["3.0","4.0","4.5","4.6"]}, {name:"elasticsearch",ports:[9200,9300,9500,9700],versions:["2.4","5.0","5.1","5.2"],dependencies:["java/8"]} ] as services, [{name:"webserver",ports:[80,443],dependencies:["postgres/9.4"]}, {name:"crm",ports:[80,443],dependencies:["java/8","neo4j/3.1"]}, {name:"cms",ports:[8080],dependencies:["php","webserver","couchbase"]}, {name:"webapp",ports:[8080],dependencies:["java","neo4j"]}, {name:"logstash",ports:[5000],dependencies:["elasticsearch/5.2"]} ] as applications UNWIND osNames + services + applications AS sw CREATE (s:Software) SET s = sw FOREACH (sw in filter(x IN osNames where x.name = sw.name) | SET s:OS) FOREACH (sw in filter(x IN services where x.name = sw.name) | SET s:Service) FOREACH (sw in filter(x IN applications where x.name = sw.name) | SET s:Application) FOREACH (idx in range(0,size(coalesce(sw.versions,[]))-2) | MERGE (s)-[:VERSION]->(v0:Version {name:sw.versions[idx]}) MERGE (s)-[:VERSION]->(v:Version {name:sw.versions[idx+1]}) MERGE (v0)<-[:PREVIOUS]-(v) ) WITH * UNWIND sw.dependencies as dep WITH *,split(dep,"/") as parts MERGE (d:Software {name:parts[0]}) FOREACH (v IN case size(parts) when 1 then [] else [parts[1]] end | MERGE (d)-[:VERSION]->(:Version {name:v}) ) WITH * OPTIONAL MATCH (d)-[:VERSION]->(v:Version {name:parts[1]}) WITH s, coalesce(v,d) as d MERGE (s)-[:DEPENDS_ON]->(d); 0 rows available after 3500 ms, consumed after another 0 ms Added 38 nodes, Created 51 relationships, Set 62 properties, Added 51 labels neo4j> neo4j> neo4j> // Install Software create index on :Software(name); 0 rows available after 494 ms, consumed after another 0 ms Added 1 indexes neo4j> neo4j> WITH [(:Software:OS)-[:VERSION]->(v) | v] as osVersions MATCH (a:Application:Software) WITH osVersions, collect(a) as apps MATCH (m:Machine)-[:ROUTES]->(i:Interface) WITH m,i, osVersions[toInt(rand()*size(osVersions))] as os, apps[toInteger(rand()*size(apps))] as app CREATE (m)-[:RUNS]->(op:OS:Process {name:os.name, startTime:timestamp() - toInteger( (rand() * 10 + 5) *24*3600*1000)})-[:INSTANCE]->(os) CREATE (m)-[:RUNS]->(ap:Application:Process {name: app.name, pid: toInt(rand()*10000), startTime:timestamp() - toInteger(rand() * 10*24*3600*1000) })-[:INSTANCE]->(app) FOREACH (portNo in app.ports | MERGE (port:Port {port:portNo})<-[:EXPOSES]-(i) CREATE (ap)-[:LISTENS]->(port) ) WITH * MATCH (app)-[:DEPENDS_ON]->(dep) CREATE (m)-[:RUNS]->(dp:Service:Process {name: dep.name, pid: toInt(rand()*10000), startTime:timestamp() - toInteger(rand() * 10*24*3600*1000) })-[:INSTANCE]->(dep) CREATE (ap)-[:DEPENDS_ON]->(dp) FOREACH (portNo in dep.ports | MERGE (port:Port {port:portNo})<-[:EXPOSES]-(i) CREATE (dp)-[:LISTENS]->(port) );
创建完成后的信息提示如下图
There is not enough memory to perform the current task.
Please try increasing 'dbms.memory.heap.max_size' in the neo4j configuration (normally in 'conf/neo4j.conf' or,
if you you are using Neo4j Desktop, found through the user interface)
or if you are running an embedded installation increase the heap by using '-Xmx' command line flag,
and then restart the database.
为此,我按: exit退出,进行内存大小调整。
我这里,自行调整内存大小来试试,比如。改为2G吧,来试试!
dbms.memory.heap.max_size=2g
查看导入到Neo4j数据库后的沙盒数据之network-management
启动 Neo4j
root@zhouls-virtual-machine:/usr/local/app/neo4j-community-3.2.0/bin# ./neo4j console
在浏览器中打开:http://localhost:7474/ 进入 Neo4j 的 web 界面,
点击左上角的数据库图标就会显示刚才导入的数据节点标签、关系等信息。
在命令行中输入:play http://localhost:8001/
会显示在第 4 步中显示的介绍说明信息,这时可以按照说明信息查看操作。
成功!