gpt4 book ai didi

php - 使用 neo4jphp 获取用户帖子,包括喜欢和评论

转载 作者:行者123 更新时间:2023-12-05 03:14:06 24 4
gpt4 key购买 nike

我是 neo4j 的新手,目前使用带有密码的 Neo4jphp 库来存储和检索节点。我的逻辑很简单。我想获得一个节点(帖子)并获得它的所有点赞(点赞数)和所有评论(节点)及其评论者(标签用户的节点),并能够解析 php 数组中的结果集,以便稍后将其编码为杰森。

我使用的密码语句是:

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
(来源:bookintransit.com)

如何使用库获得该图的正确表示?另请注意,为简单起见,我在此示例中检索了一个帖子节点 (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
}

最佳答案

对于 neo4jphp 我不知道它是否可行。顺便说一句,neoclient 是可能的:

NeoClient 使用响应格式化程序处理图形结果数据内容,因此您可以在结果对象中获得图形在您发布的图像中的样子:

$result = $client->sendCypherQuery($yourQuery, $parameters);

$posts = $result->getNodes('Post');
$post = $result->getSingleNode('Post');
$comments = $post->getInboundRelationships('HAS');
foreach ($comments->getEndNode() as $comment) {
echo $comment->getProperty('text');
$user = $comment->getSingleRelationship('COMMENTED')->getEndNode();
echo $user->getProperty('username');
}

如您所见,结果集只是您的响应的图形表示,您只需浏览它即可。

关于php - 使用 neo4jphp 获取用户帖子,包括喜欢和评论,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27062381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com