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

Why is this Javascript much *slower* than its jQuery equivalent?

I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...

Is it possible to have IF statement in an Echo statement in PHP

Thanks in advance. I did look at the other questions/answers that were similar and didn't find exactly what I was looking for. I'm trying to do this, am I on the right path? echo " <div id='tabs-".$match."'> <textarea id='".$match."' name='".$match."'>". if ($COLUMN_NAME === $match) { echo $FIELD_WITH_COLUMN_NAME; } else { } ."</textarea> <script type='text/javascript'> CKEDITOR.replace( '".$match."' ); </script> </div>"; I am getting the following error message in the browser: Parse error: syntax error, unexpected T_IF Please let me know if this is the right way to go about nesting an IF statement inside an echo. Thank you.