如何在windows 7中将数据导入neo4j(neo4j-community-2.0.0)?

时间:2014-01-08 04:19:52

标签: neo4j cypher neo4jclient node-neo4j neo4j-spatial

我有以下链接来做这个,但问题是它是针对Linux用户的!

http://blog.neo4j.org/2013/03/importing-data-into-neo4j-spreadsheet.html

请帮我在Windows上完成这项工作?提前谢谢。

我是neo4j的新手,并且只获得了一些关于java的经验。


我从以下链接

将neo4jtools添加到我的neo4j服务器

https://github.com/jexp/neo4j-shell-tools

然后我按照此命令将少量数据导入图形数据库

neo4jshell -path C:\Program Files\neo4j-community-2.0.0\data\test5.db -config C:\Program Files\neo4j-community-2.0.0\conf\neo4j.properties -file C:\Users\admin\Downloads\import.txt

我在命令提示符

上收到这样的消息
> Transaction started
> +-------------------+ | No data returned. |
> +-------------------+ Nodes created: 20 Properties set: 60 3586 ms Transaction committed Transaction started ERROR (-v for expanded
> information):
>         MissingIndexException: Index `node_auto_index` does not exist

我的import.txt文件内容是这些

BEGIN

create ({id:'1', name:'Amada Emory', type:'Female'})
create ({id:'2', name:'Rana Seely', type:'Female'})
create ({id:'3', name:'Detra Thatcher', type:'Female'})
create ({id:'4', name:'Melda Reza', type:'Female'})
create ({id:'5', name:'Shana Willems', type:'Female'})
create ({id:'6', name:'Sharonda Peele', type:'Female'})
create ({id:'7', name:'Dagny Agee', type:'Female'})
create ({id:'8', name:'Tisa Woodman', type:'Female'})
create ({id:'9', name:'Shelba Mutchler', type:'Female'})
create ({id:'10', name:'Anderson Spagnola', type:'Male'})
create ({id:'11', name:'Pamala Forward', type:'Female'})
create ({id:'12', name:'Melva Fairchild', type:'Female'})
create ({id:'13', name:'Antione Selman', type:'Male'})
create ({id:'14', name:'Carmelia Cali', type:'Female'})
create ({id:'15', name:'Fairy Daughtery', type:'Female'})
create ({id:'16', name:'Stefany Mcamis', type:'Female'})
create ({id:'17', name:'Kermit Meaney', type:'Male'})
create ({id:'18', name:'Williemae Dossantos', type:'Female'})
create ({id:'19', name:'Marth Sparling', type:'Female'})
create ({id:'20', name:'Jarvis Noland', type:'Male'});

COMMIT

BEGIN

start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='11') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='12') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='1'),n2=node:node_auto_index(id='13') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='2'),n2=node:node_auto_index(id='14') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='2'),n2=node:node_auto_index(id='15') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='2'),n2=node:node_auto_index(id='16') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='3'),n2=node:node_auto_index(id='17') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='3'),n2=node:node_auto_index(id='18') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='3'),n2=node:node_auto_index(id='19') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='10'),n2=node:node_auto_index(id='20') create n1-[:FATHER_OF]->n2;
start n1=node:node_auto_index(id='14'),n2=node:node_auto_index(id='1') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='11'),n2=node:node_auto_index(id='2') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='11'),n2=node:node_auto_index(id='3') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='12'),n2=node:node_auto_index(id='4') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='12'),n2=node:node_auto_index(id='5') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='12'),n2=node:node_auto_index(id='6') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='17'),n2=node:node_auto_index(id='7') create n1-[:FATHER_OF]->n2;
start n1=node:node_auto_index(id='13'),n2=node:node_auto_index(id='8') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='13'),n2=node:node_auto_index(id='9') create n1-[:MOTHER_OF]->n2;
start n1=node:node_auto_index(id='20'),n2=node:node_auto_index(id='1') create n1-[:FATHER_OF]->n2;

COMMIT

EXIT

我可以看到很多东西都是在test5.db文件夹中创建的,

但是当我进入浏览器控制台时,我看不到任何节点?

还有什么可做的吗?我正确的方式?请帮我继续前进!!!

+++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++

我的ne04j.properties内容是

# Default values for the low-level graph engine
#neostore.nodestore.db.mapped_memory=25M
#neostore.relationshipstore.db.mapped_memory=50M
#neostore.propertystore.db.mapped_memory=90M
#neostore.propertystore.db.strings.mapped_memory=130M
#neostore.propertystore.db.arrays.mapped_memory=130M

# Enable this to be able to upgrade a store from an older version
#allow_store_upgrade=true

# Enable this to specify a parser other than the default one.
#cypher_parser_version=2.0

# Keep logical logs, helps debugging but uses more disk space, enabled for
# legacy reasons To limit space needed to store historical logs use values such
# as: "7 days" or "100M size" instead of "true" keep_logical_logs=true

# Autoindexing

# Enable auto-indexing for nodes, default is false node_auto_indexing=true

# The node property keys to be auto-indexed, if enabled
#node_keys_indexable=name,age node_keys_indexable=id,name,type


# Enable auto-indexing for relationships, default is false relationship_auto_indexing=true

# The relationship property keys to be auto-indexed, if enabled
#relationship_keys_indexable=name,age relationship_keys_indexable=id,name,type,age

# location of the database directory  org.neo4j.server.database.location=data/test5.db

和neo4j-server.properties在这里

################################################################
# Neo4j configuration
#
################################################################

#***************************************************************
# Server configuration
#***************************************************************

# location of the database directory  org.neo4j.server.database.location=data/test7.db

# Let the webserver only listen on the specified IP. Default is localhost (only
# accept local connections). Uncomment to allow any connection. Please see the
# security section in the neo4j manual before modifying this.
#org.neo4j.server.webserver.address=0.0.0.0

#
# HTTP Connector
#

# http port (for all data, administrative, and UI access) org.neo4j.server.webserver.port=7474

#
# HTTPS Connector
#

# Turn https-support on/off org.neo4j.server.webserver.https.enabled=true

# https port (for all data, administrative, and UI access) org.neo4j.server.webserver.https.port=7473

# Certificate location (auto generated if the file does not exist) org.neo4j.server.webserver.https.cert.location=conf/ssl/snakeoil.cert

# Private key location (auto generated if the file does not exist) org.neo4j.server.webserver.https.key.location=conf/ssl/snakeoil.key

# Internally generated keystore (don't try to put your own
# keystore there, it will get deleted when the server starts) org.neo4j.server.webserver.https.keystore.location=data/keystore

#*****************************************************************
# Administration client configuration
#*****************************************************************

# location of the servers round-robin database directory. Possible values:
# - absolute path like /var/rrd
# - path relative to the server working directory like data/rrd
# - commented out, will default to the database data directory. org.neo4j.server.webadmin.rrdb.location=data/rrd

# REST endpoint for the data API
# Note the / in the end is mandatory org.neo4j.server.webadmin.data.uri=/db/data/

# REST endpoint of the administration API (used by Webadmin) org.neo4j.server.webadmin.management.uri=/db/manage/

# Low-level graph engine tuning file org.neo4j.server.db.tuning.properties=conf/neo4j.properties

# The console services to be enabled org.neo4j.server.manage.console_engines=shell


# Comma separated list of JAX-RS packages containing JAX-RS resources, one
# package name for each mountpoint. The listed package names will be loaded
# under the mountpoints specified. Uncomment this line to mount the
# org.neo4j.examples.server.unmanaged.HelloWorldResource.java from
# neo4j-examples under /examples/unmanaged, resulting in a final URL of
# `http://localhost:7474/examples/unmanaged/helloworld/{nodeId}`
#org.neo4j.server.thirdparty_jaxrs_classes=org.neo4j.examples.server.unmanaged=/examples/unmanaged


#*****************************************************************
# HTTP logging configuration
#*****************************************************************

# HTTP logging is disabled. HTTP logging can be enabled by setting this
# property to 'true'. org.neo4j.server.http.log.enabled=false

# Logging policy file that governs how HTTP log output is presented and
# archived. Note: changing the rollover and retention policy is sensible, but
# changing the output format is less so, since it is configured to use the
# ubiquitous common log format org.neo4j.server.http.log.config=conf/neo4j-http-logging.xml

3 个答案:

答案 0 :(得分:3)

您的配置是什么样的?

您是否启用了自动索引功能:

# Autoindexing

# Enable auto-indexing for nodes, default is false
node_auto_indexing=true

# The node property keys to be auto-indexed, if enabled
node_keys_indexable=id,name,type

删除哈希并确保列出id属性。您可能也可能不会为索引查找添加nametype属性。

由于您创建了data/test5.db,因此您在浏览器中看不到任何内容,但默认情况下服务器正在查找data/graph.db

  1. 所以要么使用这个目录。
  2. 或者启动服务器,然后取消-path参数,shell将连接到正在运行的服务器。

答案 1 :(得分:2)

您的最终目标是导入工作表。请按照您提供的链接中给出的步骤将cypher查询放入文件中。然后使用java代码读取文件(BufferReader)并运行cypher查询使用ExecutionEngine。

复制查询时不要忘记放置任何能识别cypher查询开始和结束的分隔符。循环查询。

答案 2 :(得分:1)

如果您要将其他来源的数据导入Neo4j,您可以使用Talend之类的ETL软件。 这是一步一步的帖子,以简单的方式展示了如何: Import Data into Neo4j directly using Talend。 它显示了如何从MS SQL Sever导入数据,但您可以轻松更改源