Skip to main content

Working with Neo4J REST API



I have several questions?





How can i query the node by its property? I see only to query by node id.





And how can I get, for example all friends and unconfirmed friends of the node? At the moment I can do that only by querying the all relationships of the node, and iterate over it by checking the property of each relationship.





My idea as the following: a node has parameter - id (userID), relationship has properties - directions - FROM_ME or TO_ME, status - CONFIRMED, UNCONFIRMED. All the quries are performed in REST API in Java.





How can I do that in the simple way like in SQL, f.e., SELECT friends WHERE friend_id = 1?





References to some tutorials with the solutions and techniques of such questions qould be appreciated


Comments

  1. To answer your first question, you can use indexes to quickly find nodes by a property on the node. Docs for REST here: http://docs.neo4j.org/chunked/milestone/rest-api-indexes.html

    For the second question, Cypher query language makes it easy to perform these types of queries. Here is an example that gets all users that are connected to a given user via a FRIEND relationship where the "status" property of the relationship is "confirmed":

    START user=node(123)
    MATCH user-[r:FRIEND]-friend
    WHERE r.status="confirmed"
    RETURN friend


    You can also add constraints on the direction of the relationship and chain multiple relationships together in a path to find friends-of-friends, etc.

    Here are the Cypher docs: http://docs.neo4j.org/chunked/milestone/cypher-query-lang.html

    Here are the docs on making Cypher queries via the REST API: http://docs.neo4j.org/chunked/milestone/rest-api-cypher.html

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?