Hi,

There are a number of concepts here that I'd advise understanding in some
more depth-

1. The ExecutionResult api and structure of Cypher statements (see that you
return a person but expect to read a column called name)
2. Labels: Your query includes a city label but your code does not create
any

Would really recommend you follow Michael's advice here
http://stackoverflow.com/a/22392141/232671

Regards
Luanne




On Thu, Mar 13, 2014 at 7:14 PM, Saugata Bose <[email protected]> wrote:

> I have 2 nodes: person{name, password} and city{name}. and a relationship
> between these two is (person) [:LIVES_IN]->(city). I am trying to generate
> a query to find out who are those people living in city X(where X will be
> coming from a text box).
> I am trying to construct this query following a suggestion given from
> stackoverflow.com:
>
> import java.util.ArrayList;import java.util.HashMap;import 
> org.neo4j.graphdb.GraphDatabaseService;import org.neo4j.graphdb.Node;import 
> org.neo4j.graphdb.RelationshipType;import 
> org.neo4j.graphdb.Transaction;import 
> org.neo4j.graphdb.factory.GraphDatabaseFactory;import 
> org.neo4j.helpers.collection.IteratorUtil;import java.util.Iterator;import 
> java.util.Map;import org.neo4j.cypher.javacompat.ExecutionEngine;import 
> org.neo4j.cypher.javacompat.ExecutionResult;
>> Node person;Node city;String nodeResulta;
>> public static final String DB_PATH="D://db";public static 
>> GraphDatabaseService graphDb = null;
>>
>> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
>>         // TODO add your handling code here:
>>         try ( Transaction tx = graphDb.beginTx(); ){
>>             person= graphDb.createNode();
>>             person.setProperty("name", jTextField1.getText());
>>             //graphDb.index().forNodes("name").add(name, "name", 
>> jTextField1.getText());
>>             person.setProperty("password", jPasswordField1.getPassword());
>>             graphDb.index().forNodes("person").add(person, 
>> "name",jTextField1.getText());
>>
>>             //password= graphDb.createNode();
>>             //password.setProperty("password", 
>> jPasswordField1.getPassword());
>>             //graphDb.index().forNodes("password").add(password, "password", 
>> jPasswordField1.getPassword());
>>
>>             city= graphDb.createNode();
>>             city.setProperty("city", jTextField2.getText());
>>             graphDb.index().forNodes("city").add(city, "city", 
>> jTextField2.getText());
>>              //graphDb.index().forNodes("name").add(name, "password", 
>> jPasswordField1.getPassword());
>>             //graphDb.index().forNodes("name").add(name, "city", 
>> jTextField2.getText());
>>
>>             person.createRelationshipTo(city, RelTypes.LIVES_IN);
>>             tx.success();
>>
>>         }
>>
>>
>> private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
>>     // TODO add your handling code here:
>>     ExecutionEngine engine = new ExecutionEngine( graphDb );
>>     ExecutionResult result;
>>
>>     try ( Transaction ignored = graphDb.beginTx() )
>>     {
>>
>>         Map<String,Object> params=new HashMap<String,Object>();
>>         params.put("city",jTextField2.getText());
>>         result=engine.execute("MATCH (city: city {city: { city } } 
>> )<-[:LIVES_IN]-(person) RETURN person",params);
>>
>>         Iterator<Node> n_column = result.columnAs( "n" );
>>         for ( Node node : IteratorUtil.asIterable( n_column ) )
>>         {
>>
>>             nodeResulta=node.getProperty( "name" )+"\n";
>>
>>         }
>>         // END SNIPPET: items
>>     }
>>     //for(String s:nodeResult1 )
>>
>>     jTextArea1.setText(nodeResulta);
>>           }
>>
>>
> But this query does not give any result as well as any exception.
>
> Is my query formation right? Can any one tell me how can I resolve this?
>
> Thank You
>
> --
> 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.
>

-- 
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