Как импортировать данные в neo4j (neo4j-community-2.0.0) в windows 7?

Я получил ссылку ниже, чтобы сделать это, но проблема в том, что это для пользователей Linux !!!

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

Пожалуйста, помогите мне сделать это на окнах? Заранее спасибо.

Я новичок в 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

person Gopipuli    schedule 08.01.2014    source источник
comment
Вы удалили #, чтобы включить автоматическое индексирование, но затем вы также удалили разрыв строки, поэтому node_auto_indexing=true не находится в отдельной строке. Верните его на свою линию. Затем удалите # перед node_keys_indexable и выберите, какие ключи индексировать. Просто сделайте свою конфигурацию похожей на фрагмент из ответа Майкла.   -  person jjaderberg    schedule 10.01.2014


Ответы (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 указано в списке. Вы можете добавить или не добавить свойства name и type для поиска по индексу.

Также вы ничего не видите в своем браузере, потому что вы создали data/test5.db, но сервер по умолчанию ищет data/graph.db.

  1. Так что либо используйте этот каталог.
  2. Или запустите сервер, а затем оставьте параметр -path, и оболочка подключится к вашему работающему серверу.
person Michael Hunger    schedule 08.01.2014
comment
он уже включен в файле neo4j.properties. Я также добавил строку # location каталога базы данных org.neo4j.server.database.location=data/test5.db, это также включено в файл neo4j-server.properties. Поэтому, когда я открываю браузер, я могу прочитать местоположение базы данных. Расположение: C:\Program Files\neo4j-community-2.0.0\data\test5.db Размер: 141,87 КиБ @Michael Hunger - person Gopipuli; 08.01.2014

ваша конечная цель - импортировать лист. Итак, следуйте инструкциям, указанным в предоставленной вами ссылке, и поместите шифрованные запросы в файл. Затем используйте код Java для чтения файла (BufferReader) и запустите запросы шифрования с помощью ExecutionEngine.

При копировании запросов не забудьте поставить любой разделитель, который будет распознавать начало и конец шифрованных запросов. Запускайте запросы в цикле.

person dev    schedule 08.01.2014
comment
Я обновил свой вопрос @Punendu, не могли бы вы дать мне какую-нибудь ссылку? - person Gopipuli; 08.01.2014
comment
Как говорит ваша ошибка, вы не включили автоматическое индексирование. Сначала включите это, изменив conf/neo4j.properties. - person dev; 08.01.2014
comment
# Автоиндексация # Включить автоиндексацию для узлов, по умолчанию false node_auto_indexing=true это помещается в мой файл свойств @Purnendu - person Gopipuli; 08.01.2014
comment
Я думаю, что это не создается из-за MissingIndexException. По умолчанию node_auto_indexing=true закомментирован. Проверьте, если он прокомментирован, а затем раскомментируйте его. - person dev; 08.01.2014
comment
его включенный node_auto_indexing = true, решетка удалена с самого начала, я вижу много файлов внутри папки базы данных, но, к сожалению, в браузере возвращается нулевой узел !!! @Пурненду - person Gopipuli; 08.01.2014

Если вы хотите импортировать данные из другого источника в Neo4j, вы можете использовать программное обеспечение ETL, например Talend. Вот пошаговое сообщение, показывающее, как это сделать простым способом: Импорт данных в Neo4j напрямую с помощью Talend. Он показывает, как импортировать данные из MS SQL Sever, но вы можете легко изменить источник

person yass    schedule 05.08.2014