Hi,

I load my data using the following code :
public void createGraph() {
 Map<String, String> config = new HashMap<String, String>();
 config.put("cache_type", "none");
 config.put("use_memory_mapped_buffers", "true");
 config.put("neostore.nodestore.db.mapped_memory", "200M");
 config.put("neostore.relationshipstore.db.mapped_memory", "1000M");
 config.put("neostore.propertystore.db.mapped_memory", "250M");
 config.put("neostore.propertystore.db.strings.mapped_memory", "250M");
 inserter = BatchInserters.inserter("./data/neo4j", config);
 
 long start = System.currentTimeMillis();
 
 try {
 BufferedReader reader = new BufferedReader(new InputStreamReader(new 
 FileInputStream("./data/enronEdges.txt")));
 String line;
 int lineCounter = 1;
 long srcNode, dstNode;
 while((line = reader.readLine()) != null) {
 if(lineCounter > 4) {
 String[] parts = line.split("\t");
 
 srcNode = getOrCreate(parts[0]);
 dstNode = getOrCreate(parts[1]);
 
 inserter.createRelationship(srcNode, dstNode, RelTypes.SIMILAR, null);
 }
 lineCounter++;
 }
 reader.close();
 } 
 catch (IOException e) {
 e.printStackTrace();
 }
 
 long time = System.currentTimeMillis() - start;
 inserter.createDeferredSchemaIndex(NODE_LABEL).on("nodeId").create();
 System.out.println("Loading time: " + time / 1000.0);
 
 inserter.shutdown();
 }
 
 private long getOrCreate(String value) {
 
 Long id = cache.get(Long.valueOf(value));
 if(id == null) {
 Map<String, Object> properties = MapUtil.map("nodeId", value);
 id = inserter.createNode(properties, NODE_LABEL);
 cache.put(Long.valueOf(value), id);
 }
 return id;
 }

Then I am trying to retrieve the nodes with this code:
try(Transaction tx = gdb.beginTx()) {
 Node n  = gdb.findNodesByLabelAndProperty(NODE_LABEL, "nodeId", 1).iterator
().next();
 System.out.println(n);
 }

But I am getting the following error:
Exception in thread "main" java.util.NoSuchElementException: No more 
elements in org.neo4j.collection.primitive.
PrimitiveLongCollections$5@6b3ab760
 at org.neo4j.collection.primitive.
PrimitiveLongCollections$PrimitiveLongBaseIterator.next(
PrimitiveLongCollections.java:60)
 at org.neo4j.collection.primitive.PrimitiveLongCollections$13.next(
PrimitiveLongCollections.java:712)
 at org.neo4j.helpers.collection.ResourceClosingIterator.next(
ResourceClosingIterator.java:76)
 at test.Neo4jBatchInsert.visitAllNodes(Neo4jBatchInsert.java:56)
 at test.Neo4jBatchInsert.main(Neo4jBatchInsert.java:49)

Isn't this the proper way to get an indexed node?  I use neo4j 2.1.3 
embedded. 

Thanks in advance,
Sotiris

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to