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.