I'm developing an social app that requires the user's Facebook friends list.

I'm trying to figure out the best method of importing/comparing and 
updating the list to my Neo4j DB.

For each friend on the user's list, I want to first see if the friend is in 
the database... if they are, then I want to create the [:KNOWS] 
relationship... if NOT, I want to ignore and move on.

Options I'm considering:

1. Run each query separately, matching the user node and the friend's node. 
 If the node exists (if the match is found), then create the relationship.  
*This 
seems very inefficient because I'd be redundantly matching the user's node 
in each independent query.*
        
        (foreach loop)
        MATCH (u:User { id:{uID} }), (f:User { id:{fID}})
        CREATE (u)-[:KNOWS]->(f)
        (end loop)

2. Run as a single query.  Match the user's node... then Optional Match the 
user's friends.  If the match exists, create the relationship.
      
        MATCH (u:User { id:{uID}})
            (start loop)
            OPTIONAL MATCH (f:User { id:{fID})
                (if match)
                CREATE (u)-[:KNOWS]->(f)
            (end loop)

Is option 2 possible? Am I thinking about this all wrong?  

Thanks for any help!

Cheers


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