Я новичок в neo4j и в настоящее время использую библиотеку Neo4jphp с cypher для хранения и извлечения узлов. Моя логика довольно проста. Я хочу получить узел (post) и получить все его (количество понравившихся) и все комментарии (узлы) со своими комментаторами (узлами пользователя ярлыка) и иметь возможность анализировать ResultSet в php-массиве, чтобы позднее кодировать его Json.использовать neo4jphp, чтобы получать сообщения пользователей, с симпатиями и комментариями
шифровальщиком заявление я использую:
MATCH (user:User)-[:POSTED]->(post) WHERE post.UserID = '13' AND id(post)=106 OPTIONAL MATCH()- [rel:LIKES]-(post) OPTIONAL MATCH (post)-[:HAS]-(comment:Comment)<-[:COMMENTED]-(commenter:User) RETURN user, post,count(rel) AS Likes, rel, comment, commenter
Матч извлекает все узлы правильно (этот пост не имеет аналогов, хотя):
Neo4j http://bookintransit.com/kkk.PNG
Как получить правильный представление этого графика с использованием библиотеки? Также обратите внимание, что для простоты я получил в этом примере один пост-узел (id: 106). Но я хотел бы получить список сообщений, когда я использую код в своем приложении.
Это код PHP Я использую:
$queryString = "MATCH (user:User)-[:POSTED]->(post) WHERE post.UserID = {qUser} OPTIONAL MATCH()-[rel:LIKES]-(post) OPTIONAL MATCH (post)-[:HAS]-(comment:Comment)<-[:COMMENTED]-(commenter:User) RETURN user, post,count(rel) AS Likes, rel, comment, commenter ORDER BY post.TS DESC LIMIT ".$NumberOfPosts;
$query = new Everyman\Neo4j\Cypher\Query($client, $queryString, array('qUser' => $UserID));
$result = $query->getResultSet();
if(count($result)>0){
foreach($result AS $row){
// How do I get the correct graph in a php array to parse to json
}